It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://www.whatsyourhours.com/england/colchester/professional-services/colchester-window-and-door-repairs

  1. <!DOCTYPE HTML>
  2. <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US">
  3. <head>
  4.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2, user-scalable=1">
  7.  
  8.    <!-- Preconnect -->
  9.    <link rel="preconnect" href="https://www.optimizecdn.com" crossorigin>
  10.    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
  11. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  12. <link rel="apple-touch-icon" href="/images/favicon-wyhours.png">
  13.    <link rel="icon" type="image/png" href="/images/favicon-wyhours.png">
  14.    <!-- Site Meta Data -->
  15.    <title>PROFESSIONAL SERVICES in Colchester  :: Call Colchester Window and Door Repairs 01206 205445</title>
  16.    <meta name="description" content="Colchester Window and Door Repairs in Colchester ? Call Colchester Window and Door Repairs Colchester. PROFESSIONAL SERVICES in Colchester List your business for FREE on Whats Your Hours Online Directory whatsyouhours.com">
  17.    <meta name="keywords" content="Colchester Window and Door Repairs Colchester, in Colchester, near Colchester, in Colchester,PROFESSIONAL SERVICES in Colchester whats your hours,whatsyouhours.com">
  18.    <meta name="robots" content="index, follow">
  19.  
  20.    <!-- Canonical URL -->
  21. <link rel="canonical" href="https://www.whatsyourhours.com/england/colchester/professional-services/colchester-window-and-door-repairs">
  22.    <span style="position:absolute;color:transparent;width:100%;z-index:-1;height:50px;top:0;">
  23. www.whatsyourhours.com - WhatsYourHours.com</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. <link rel="preload" href="/logos/profile/limage-386682-186-photo.jpg" as="image" importance="high">
  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. <!-- Critical Stylesheet -->
  34. <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=04.12.24.19">
  35.    
  36.    <!-- Google Fonts Stylesheet -->    
  37.    <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900&display=swap">
  38.    <noscript>
  39.        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900&display=swap">
  40.    </noscript>
  41.    <!-- FontAwesome Stylesheet -->
  42.    <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">
  43.    <noscript>
  44.        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css">
  45.    </noscript>
  46.    <!-- Critical JavaScript -->
  47.    <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery.min.js"></script>
  48. <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery-ui.min.js"></script>
  49. <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/bootstrap.min.js"></script>
  50. <script>
  51. /* jQuery.event.special.touchstart = {
  52. setup: function( _, ns, handle ) {
  53. this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
  54. }
  55. }; */
  56. jQuery.event.special.touchmove = {
  57. setup: function( _, ns, handle ) {
  58. this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
  59. }
  60. };
  61. jQuery.event.special.wheel = {
  62. setup: function( _, ns, handle ){
  63. this.addEventListener("wheel", handle, { passive: true });
  64. }
  65. };
  66. jQuery.event.special.mousewheel = {
  67. setup: function( _, ns, handle ){
  68. this.addEventListener("mousewheel", handle, { passive: true });
  69. }
  70. };
  71. </script>
  72.    <!-- Prefetch -->
  73.    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js" as="script">
  74.    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=0.4" as="script">
  75. <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css" as="style">
  76.    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js" as="script">
  77. <!-- Social Media Meta Data -->
  78.    <meta property="og:type" content="website">
  79.    <meta property="og:url" content="https://www.whatsyourhours.com/england/colchester/professional-services/colchester-window-and-door-repairs">
  80.    <meta property="og:site_name" content="WhatsYourHours.com">
  81.    <meta property="og:title" content="Colchester Window and Door Repairs Colchester  on Business Directory WhatsYourHours.com">
  82.    <meta property="og:description" content="Need a PROFESSIONAL SERVICES in Colchester ?  Connect with Colchester Window and Door Repairs Colchester. List your business for FREE on Whats Your Hours Online Directory whatsyouhours.com">
  83.    <meta property="og:image" content="https://www.whatsyourhours.com/logos/social_media/limage-386682-186-photo.jpg">
  84.    <!-- Custom Site-wide HEAD Content --><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5626907719427106"
  85.     crossorigin="anonymous"></script>
  86.  
  87.  
  88. <meta name="p:domain_verify" content="0192f025e1b246c4fedaeda7896d2803"/>
  89.  
  90. <meta name="google-site-verification" content="ax7bEcIfRaDJGE99Emb7RZXtgouIBPJLTtNZjBZjoXc" />
  91.  
  92. <meta name="google-site-verification" content="sNaMwMaveAqhBlwB92pyH2GIWqq1QhjtV1oz0bnINy8" />
  93.  
  94. <!-- Google tag (gtag.js) -->
  95. <script async src="https://www.googletagmanager.com/gtag/js?id=G-2CX9DC2SNX"></script>
  96. <script>
  97.  window.dataLayer = window.dataLayer || [];
  98.  function gtag(){dataLayer.push(arguments);}
  99.  gtag('js', new Date());
  100.  
  101.  gtag('config', 'G-2CX9DC2SNX');
  102. </script>
  103.  
  104.  
  105. <script type="text/javascript">
  106.  (function(d, t) {
  107.    var v = d.createElement(t), s = d.getElementsByTagName(t)[0];
  108.    v.onload = function() {
  109.      if (!document.getElementById('root')) {
  110.        var root = d.createElement('div');
  111.        root.id = 'root';
  112.        d.body.appendChild(root);
  113.      }
  114.      if (window.myChatWidget && typeof window.myChatWidget.load === 'function') {
  115.        window.myChatWidget.load({
  116.          assistantId: '071f2a1a-eb0c-46a8-bd9c-82479407359f',
  117.          apiKey: '57dc0fb1-4fb9-4c4b-a6b9-49007b6d7398',
  118.        });
  119.      }
  120.    };
  121.    v.src = "https://agentivehub.com/production.bundle.min.js";
  122.    v.type = "text/javascript";
  123.    s.parentNode.insertBefore(v, s);
  124.  })(document, 'script');
  125. </script>        <script>
  126.        function g() {
  127.            window.addEventListener('load', () => {
  128.                if (typeof initializeG === 'function') {
  129.                    initializeG();
  130.                }
  131.                            });
  132.        }
  133.    </script>
  134.    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&region=US&callback=g&language=en&key=AIzaSyBLkx_dAArthmEN61eYqMSiBVE5dHJbG-g"></script>
  135.  
  136. </head>
  137.  
  138. <body class="general-session"><!--
  139. IMPORTANT: 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.
  140.  
  141. INSTEAD: If custom CSS rules are needed, add them directly into the DESIGN SETTINGS > CUSTOM CSS section.
  142. -->
  143. <style>
  144.    .upload-form-field::before {
  145.        content: "choose file";
  146.        display: inline-block;
  147.        border: 1px solid #999;
  148.        border-radius: 3px;
  149.        padding: 5px 8px;
  150.    }
  151.    #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 {
  152.        white-space: nowrap !important;
  153.    }
  154.    /* Main Website Design */
  155.    body,.modal-header,.modal-content,.modal-body,.modal-footer {
  156.        background: rgb(255, 255, 255);
  157.        color: rgb(41, 41, 41);
  158.        font-family: 'Open Sans';
  159.        font-size: 14px;
  160.    }
  161.    .select2-container .select2-choice {
  162.        font-family: 'Open Sans'!important;
  163.    }
  164.        html{
  165.        background: rgb(239, 239, 239)    }
  166.        a,a.h1,a.h2,a.h3,a.h4,a.h5,a.h6,.pricing_menu li ul li a:not(.btn) {
  167.        color: rgb(0, 16, 162);
  168.    }
  169.    a:hover, a:focus,.pricing_menu li ul li a:not(.btn):hover,.pricing_menu li ul li a:not(.btn):focus {
  170.        color: rgb(0, 102, 219);
  171.    }
  172.    .breadcrumb a{
  173.            color: rgba(41, 41, 41,0.9);
  174.    }
  175.    .breadcrumb a:hover, .breadcrumb a:focus,.breadcrumb > .active {
  176.        color: rgb(41, 41, 41);
  177.    }
  178.    .help-inline, .help-block {
  179.            color: rgba(41, 41, 41,0.5);
  180.    }
  181.    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  182.        font-family: 'Open Sans';
  183.    }
  184.        /* Header Design */
  185.    .header, .mobile_website_logo img {
  186.        background: rgb(255, 255, 255);
  187.    }
  188.    .header .mini-nav li a:not(.btn):not(.network-icon), .header .mini-nav span {
  189.        color: rgb(208, 29, 21);
  190.            font-size: 14px;
  191.        }
  192.    .header .mini-nav li a:not(.btn):hover {
  193.            color: rgba(208, 29, 21,0.95);
  194.    }
  195.    .header .btn_get_listed {
  196.            background-color: rgba(208, 29, 21,0.97);
  197.        border: 1px solid rgb(208, 29, 21);
  198.        color: rgb(255, 255, 255)!important;
  199.    }
  200.    .header .btn_get_listed:hover, .header .btn_get_listed:focus {
  201.        background-color: rgb(208, 29, 21);
  202.    }
  203.    .header .btn_search {
  204.            background-color: rgba(208, 29, 21,0.97);
  205.        border: 1px solid rgb(208, 29, 21);
  206.        color: rgb(255, 255, 255);
  207.    }
  208.    .header .btn_search:hover, .header .btn_search:focus {
  209.        background-color: rgb(208, 29, 21);
  210.        color: rgb(255, 255, 255);
  211.    }
  212.  
  213.    /* Logo Design */
  214.    .logo,.logo:hover,.logo:focus {
  215.        color: rgb(208, 29, 21);
  216.        font-family: 'Open Sans';
  217.    }
  218.    .logo .slogan {
  219.        color: rgb(208, 29, 21);
  220.    }
  221.    .logo .fa {
  222.        color: rgb(208, 29, 21);
  223.            display: none;
  224.        }
  225.  
  226.    /* Main Menu Design */
  227.    .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
  228.        background: rgb(238, 238, 238);
  229.        position: sticky;
  230.        z-index: 1;
  231.            top: 0px;
  232.        }
  233.    @media only screen and (max-width: 1100px) {
  234.        .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
  235.                    top: 50px;
  236.                }
  237.    }
  238.    .header ul.nav.navbar-nav li ul {
  239.        background-color: rgb(255, 255, 255);
  240.    }
  241.    .header ul.nav.navbar-nav li ul li a, .header ul.nav.navbar-nav li ul li span {
  242.        color: rgb(32, 80, 129);
  243.    }
  244.    .header .navbar-default, .pagination > .active > a {
  245.        background-color: rgb(217, 83, 79);
  246.    }
  247.    .header ul.nav.navbar-nav li ul li a:hover, .header ul.nav.navbar-nav li ul li a:focus{
  248.        border-left-color: rgb(32, 80, 129);
  249.        background: rgb(32, 80, 129);
  250.        color: rgb(255, 255, 255);
  251.    }
  252.    .navbar-default .navbar-toggle .icon-bar {
  253.        background-color: rgb(253, 253, 253);
  254.    }
  255.    .user_sidebar, .main_menu {
  256.        color: rgb(253, 253, 253);
  257.    }
  258.    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span  {
  259.        color: rgb(253, 253, 253);
  260.    }
  261.    .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 {
  262.        color: rgb(255, 255, 255);
  263.    }
  264.    .navbar-default .navbar-nav > li {
  265.        font-family: 'Open Sans';
  266.    }
  267.    
  268.    
  269.  
  270.    /* Footer Design */
  271.    .footer {
  272.        background-color: rgb(239, 239, 239);
  273.        display: block;
  274.    }
  275.    .footer, .footer_menu a,.footer_terms a,.footer_menu .content {
  276.        color: rgb(73, 73, 73);
  277.    }
  278.    .footer_menu a:hover, .footer_terms a:hover, .footer_menu a:focus, .footer_terms a:focus {
  279.        color: rgb(162, 0, 0);
  280.    }
  281.    .footer_menu .head {
  282.        color: rgb(162, 0, 0);
  283.    }
  284.    .btn_footer_get_listed {
  285.            background-color: rgba(208, 29, 21,0.95);
  286.        border: 1px solid rgb(208, 29, 21);
  287.        color: rgb(255, 255, 255)!important;
  288.    }
  289.    .btn_footer_get_listed:hover, .btn_footer_get_listed:focus{
  290.        background-color: rgb(208, 29, 21);
  291.    }
  292.  
  293.    /* Homepage Design */
  294.        .homepage_settings h1, .homepage_settings h2, .homepage_map h1, .homepage_map h2 {
  295.        font-family: 'Open Sans';
  296.    }
  297.    .homepage_settings h1, .homepage_map h1 {
  298.        color: rgb(255, 255, 255);
  299.            font-weight: 600;
  300.            text-align: left;
  301.    }
  302.    .homepage_settings h2, .homepage_map h2 {
  303.        color: rgb(22, 22, 22);
  304.            font-weight: 400;
  305.            text-align: left;
  306.  
  307.    }
  308.    .homepage_settings .search_box label {
  309.        color: rgb(22, 22, 22);
  310.    }
  311.    .btn_home_search, .search_box input[type=submit] {
  312.            background-color: rgba(208, 29, 21,0.97);
  313.        border: 1px solid rgb(208, 29, 21);
  314.        color: rgb(255, 255, 255);
  315.    }
  316.    .btn_home_search:hover, .btn_home_search:focus, .search_box input[type=submit]:hover, .search_box input[type=submit]:focus {
  317.        background-color: rgb(208, 29, 21);
  318.        color: rgb(255, 255, 255);
  319.    }
  320.    .homepage_settings .search_box {
  321.            background-color: rgba(255, 255, 255,0.8);
  322.    }
  323.  
  324.    /* Homepage Steps Module */
  325.    .homepage_steps {
  326.            background: none;
  327.        box-shadow: none;
  328.        padding: 0;
  329.                color: rgb(255, 255, 255);
  330.            }
  331.    .homepage_steps a.homepage_step_link,.homepage_steps a.homepage_step_link:hover,.homepage_steps a.homepage_step_link:active{
  332.        color: rgb(255, 255, 255)!important;
  333.    }
  334.    .homepage_steps .fa {
  335.        color: rgb(244, 244, 244);
  336.            background-color: rgba(244, 244, 244,0.075);
  337.    }
  338.  
  339.    /* Blog Posts Slider Settings */
  340.    #myCarousel h2 a, .carousel-caption p,#myCarousel .list-group-item h2, #myCarousel li.list-group-item h4 {
  341.            color: rgb(253, 253, 253);
  342.        }
  343.    #myCarousel .list-group-item {
  344.            background-color: rgba(217, 83, 79,0.9);
  345.        border-color: rgba(217, 83, 79,0.80);
  346.    }
  347.    #myCarousel .carousel-caption {
  348.            background-color: rgba(217, 83, 79,0.8);
  349.    }
  350.    #myCarousel .list-group, #myCarousel .carousel-inner {
  351.            background-color: rgb(217, 83, 79)        }
  352.    #myCarousel .list-group .active, #myCarousel .list-group-item:hover {
  353.            background-color: rgb(217, 83, 79)        }
  354.    #myCarousel .list-group .active h4, #myCarousel .list-group-item:hover h4{
  355.            color: rgb(255, 255, 255);
  356.        }
  357.  
  358.    /* Additional Settings */
  359.    .well blockquote {
  360.        background: rgb(255, 255, 255) none repeat scroll 0 0;
  361.        border-color: rgb(238, 238, 238);
  362.        color: rgb(41, 41, 41);
  363.        padding: 10px 20px;
  364.    }
  365.    .account-form-box form table tr td table {
  366.        background-color: transparent!important;
  367.        border: none!important;
  368.    }
  369.  
  370.    .account-form-box form table tr td table td {
  371.        background-color: transparent!important;
  372.        color: rgb(41, 41, 41)!important;
  373.        border: none!important;
  374.    }
  375.    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{
  376.        color: rgb(41, 41, 41)!important;
  377.    }
  378.    .table.dataTable > thead > tr > th, .table > thead > tr > th {
  379.        background-color: rgb(238, 238, 238);
  380.        color: rgb(85, 85, 85);
  381.        border-bottom:0;
  382.        font-weight:600;
  383.    }
  384.    table.dataTable tbody tr {
  385.        background-color: rgb(250, 250, 250)!important;
  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(255, 255, 255,0.5)!important;
  389.    }
  390.    .sidemenu_panel .list-group-item{
  391.        background-color: transparent!important;
  392.        color: rgb(41, 41, 41)!important;
  393.    }
  394.    .img-thumbnail {
  395.        background-color: rgb(250, 250, 250)!important;
  396.        border: 1px solid rgb(238, 238, 238);
  397.    }
  398.    .member_admin_sidemenu p, .member_admin_sidemenu h3 {
  399.        color: rgb(41, 41, 41)!important;
  400.    }
  401.    .close {
  402.        color: rgb(41, 41, 41);
  403.        opacity: 1;
  404.    }
  405.    .member_results_header h1, .content_w_sidebar.feature-search h1, .feature_results_header h1 {
  406.        font-size:36px;
  407.        display: block;
  408.    }
  409.    .member_results_header h2, .feature_results_header h2 {
  410.        font-size:30px;
  411.        display: block;
  412.    }
  413.    .homepage_settings {
  414.        padding-top: 60px;
  415.        padding-bottom: 90px;
  416.    }
  417.    @media only screen and (max-width: 768px) {
  418.                        .member-profile-header .favorite {float:none}
  419.    }
  420.  
  421.    @media only screen and (max-width: 1100px) {
  422.        }
  423.    .views > i.fa.activeView {
  424.        background-color: rgb(217, 83, 79);
  425.        color: rgb(253, 253, 253);
  426.    }
  427.    .views > i.fa {
  428.            background-color: rgba(217, 83, 79,0.6);
  429.        color: rgb(253, 253, 253);
  430.    }
  431.    .ui-rangeSlider-label {
  432.        background-color: rgb(217, 83, 79)!important;
  433.        color: rgb(253, 253, 253)!important;
  434.    }
  435.    .pricing_menu li .title {
  436.        background: rgb(208, 29, 21);
  437.        color: rgb(255, 255, 255);
  438.    }
  439.    p.account-tip{
  440.        color: rgb(41, 41, 41);
  441.    }
  442.    .circled_number {
  443.        background: rgb(208, 29, 21);
  444.        color: rgb(255, 255, 255);
  445.    }
  446.    .pic {
  447.            background-color: rgba(208, 29, 21,0.8);
  448.        color: rgb(255, 255, 255);
  449.        background-repeat: no-repeat;
  450.        background-position: center;
  451.        }
  452.    .pic .pic-caption {
  453.            background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%,rgba(208, 29, 21,0.85) 50%);
  454.        color: rgb(255, 255, 255);
  455.    }
  456.    .slick-prev-fa i, .slick-next-fa i{
  457.        color: rgb(208, 29, 21);
  458.    }
  459.    .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{
  460.        background-color: rgb(250, 250, 250);
  461.        border-color: rgb(238, 238, 238);
  462.        color: rgb(41, 41, 41);
  463.    }
  464.    .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
  465.        box-shadow: 0 2px 0 0 rgb(208, 29, 21) inset;
  466.        border-top:1px solid rgb(208, 29, 21);
  467.        border-radius: 0;
  468.    }
  469.    .nav-pills > li.active a, .nav-pills > li > a:hover {
  470.        background-color: rgb(208, 29, 21)!important;
  471.        border-color: rgb(208, 29, 21)!important;
  472.        color: rgb(255, 255, 255)!important;
  473.    }
  474.    .sidemenu_panel .panel-heading {
  475.        color: rgb(41, 41, 41)!important;
  476.        background-color: rgb(250, 250, 250)!important;
  477.    }
  478.    .member-profile-tabs .nav-tabs > li:not(.active) > a, .login-register-tabs.nav-tabs > li:not(.active) > a {
  479.            background: rgba(250, 250, 250,0.5);
  480.        color:  rgb(41, 41, 41);
  481.    }
  482.    .member-profile-tabs .nav-tabs > li:not(.active) > a:hover, .login-register-tabs.nav-tabs > li:not(.active) > a:hover {
  483.            background: rgba(250, 250, 250,1);
  484.        color:  rgb(41, 41, 41);
  485.    }
  486.    .author-snapshot .well {
  487.        background-color: rgb(250, 250, 250)!important;
  488.        border-color: rgb(238, 238, 238)!important;
  489.        color: rgb(41, 41, 41)!important;
  490.    }
  491.    .nav-tabs>li>a, .nav-pills>li>a {
  492.        font-weight: 600;
  493.    }
  494.        .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{
  495.            color: rgba(41, 41, 41,0.5);
  496.    }
  497.    #service_areas_table td,#service_areas_table_wrapper label, #service_areas_table_info, #service_areas_table_paginate > a {
  498.        color: rgb(41, 41, 41) !important;
  499.    }
  500.    .popover {
  501.        background-color: rgb(250, 250, 250);
  502.        border-color: rgb(250, 250, 250);
  503.        padding:0;
  504.        text-align:left;
  505.    }
  506.    .popover-title, .popover-content {
  507.        background-color: rgb(250, 250, 250);
  508.        color: rgb(41, 41, 41);
  509.        border-color: rgb(250, 250, 250);
  510.        text-align:left;
  511.    }
  512.    .popover-content {
  513.            background-color: rgba(41, 41, 41,.05);
  514.    }
  515.    .popover.left > .arrow::after {
  516.        border-left-color: rgb(250, 250, 250)!important;
  517.    }
  518.    .popover.right > .arrow::after {
  519.        border-right-color: rgb(250, 250, 250)!important;
  520.    }
  521.    .popover.bottom > .arrow::after {
  522.        border-bottom-color: rgb(250, 250, 250)!important;
  523.    }
  524.    .popover.top > .arrow::after {
  525.        border-top-color: rgb(250, 250, 250)!important;
  526.    }
  527.    .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{
  528.        background-color: rgb(255, 255, 255);
  529.        color: rgb(41, 41, 41);
  530.    }
  531.    .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th, .nav-tabs, hr, .account-menu-title, table.dataTable.no-footer {
  532.        border-color: rgb(238, 238, 238);
  533.    }
  534.    table.dataTable.no-footer, table.dataTable {
  535.        border: 1px solid rgb(238, 238, 238)!important;
  536.    }
  537.    .table-view li, .table-view .table-view-group > div {
  538.        border-top:1px solid rgb(238, 238, 238);
  539.    }
  540.    .table-view .table-view-group:last-child {
  541.        border-bottom:1px solid rgb(238, 238, 238);
  542.    }
  543.    .module h1, .module h2, .module h3, .module h4, .module h5 {
  544.        color: rgb(0, 0, 0);
  545.    }
  546.    .module p:not(.fr-box.fr-basic .fr-element p) {
  547.        color: rgb(41, 41, 41);
  548.    }
  549.    .pagination>.active>a {
  550.            border-color: rgba(253, 253, 253,0.2);
  551.    }
  552.    .pagination>.active>a {
  553.        color: rgb(253, 253, 253);
  554.    }
  555.    .pagination > .active > a:hover, .pagination > .active > a:focus {
  556.            border-color: rgba(253, 253, 253,0.2);
  557.        background-color: rgb(217, 83, 79);
  558.        color: rgb(253, 253, 253);
  559.    }
  560.    .pagination > li > a {
  561.        color: rgb(217, 83, 79);
  562.            border-color: rgba(217, 83, 79,0.2);
  563.        background-color: rgb(253, 253, 253);
  564.    }
  565.    .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
  566.        background-color: rgb(217, 83, 79);
  567.        border-color: rgb(217, 83, 79);
  568.        color: rgb(253, 253, 253);
  569.    }
  570.  
  571.    .nav-pills.nav-wizard > li a, .nav-pills.nav-wizard > li a:hover{
  572.        background-color: rgb(250, 250, 250)!important;
  573.        color: rgb(41, 41, 41)!important;
  574.    }
  575.    .member_wizard2 li.incomplete {
  576.        background: rgb(250, 250, 250)!important;
  577.    }
  578.    .member_wizard2 li.incomplete a, .member_wizard2 li.incomplete a:hover {
  579.        background-color: rgb(247, 202, 24)!important;
  580.        border-color: rgb(247, 202, 24);
  581.        color: rgb(47, 47, 47);
  582.    }
  583.    .nav-pills.nav-wizard > li.active a, .nav-pills.member_wizard > li.active:hover a {
  584.        background-color: rgb(51, 122, 183)!important;
  585.        color: rgb(255, 255, 255)!important;
  586.    }
  587.    .member_wizard2 li.active {
  588.        background: rgb(51, 122, 183)!important;
  589.    }
  590.    .member_wizard2 li.completed a, .member_wizard2 li.completed a:hover {
  591.        background-color: rgb(42, 178, 123)!important;
  592.        border-color: rgb(42, 178, 123);
  593.        color: rgb(255, 255, 255);
  594.    }
  595.  
  596.        .nav-pills.nav-wizard > li.active .nav-arrow, .nav-pills.nav-wizard > li.active:hover .nav-arrow {
  597.        border-color: transparent transparent transparent rgb(51, 122, 183)!important;
  598.    }
  599.    .nav-pills.nav-wizard > li.active .nav-wedge, .nav-pills.nav-wizard > li.active:hover .nav-wedge{
  600.        border-color: rgb(51, 122, 183) rgb(51, 122, 183) rgb(51, 122, 183) transparent!important;
  601.    }
  602.    
  603.        li.completed .nav-wedge, .nav-pills.nav-wizard > li.completed:hover .nav-wedge {
  604.        border-color: rgb(92, 184, 92) rgb(92, 184, 92) rgb(92, 184, 92) transparent!important;
  605.    }
  606.    
  607.        li.incomplete .nav-wedge, .nav-pills.nav-wizard > li.incomplete:hover .nav-wedge {
  608.        border-color: rgb(250, 250, 250) rgb(250, 250, 250) rgb(250, 250, 250) transparent!important;
  609.    }
  610.    
  611.  
  612.    .nav-pills.member_wizard > li.completed a, .nav-pills.member_wizard > li.completed a:hover {
  613.        background-color: rgb(92, 184, 92)!important;
  614.        color: rgb(255, 255, 255)!important;
  615.    }
  616.    .member_wizard2 li.completed {
  617.        background: rgb(92, 184, 92)!important;
  618.    }
  619.    .member_wizard2 li {
  620.        color: rgb(255, 255, 255);
  621.        border-right: 3px solid rgb(255, 255, 255);
  622.    }
  623.  
  624.        li.completed .nav-arrow, .nav-pills.nav-wizard > li.completed:hover .nav-arrow {
  625.        border-color: transparent transparent transparent rgb(92, 184, 92)!important;
  626.    }
  627.    
  628.        li.incomplete .nav-arrow, .nav-pills.nav-wizard > li.incomplete:hover .nav-arrow{
  629.        border-color: transparent transparent transparent rgb(250, 250, 250)!important;
  630.    }
  631.    
  632.    /* Default Colors */
  633.    .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 {
  634.            background-color: rgba(208, 29, 21,0.95);
  635.        border-color: rgb(208, 29, 21);
  636.        color: rgb(255, 255, 255);
  637.    }
  638.    .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 {
  639.        background-color: rgb(208, 29, 21);
  640.        border-color: rgb(208, 29, 21);
  641.        color: rgb(255, 255, 255);
  642.    }
  643.    .panel-primary {
  644.            background-color: rgba(208, 29, 21,0.1);
  645.        border-color: rgb(208, 29, 21);
  646.    }
  647.    .bg-primary,.progress-bar-primary,.module p.bg-primary,.label-primary,.pricing_menu .title.bg-primary {
  648.        background-color: rgb(208, 29, 21);
  649.        color: rgb(255, 255, 255);
  650.    }
  651.    .bg-primary .badge {
  652.        background-color:rgb(255, 255, 255);
  653.        color: rgb(208, 29, 21);
  654.    }
  655.    .btn-primary.btn-outline {
  656.        background: transparent;
  657.        color: rgb(208, 29, 21);
  658.        box-shadow: 0 0 0px 1px rgb(208, 29, 21) inset;
  659.        font-weight: bold;
  660.        transition: all 250ms ease-in-out 0ms;
  661.    }
  662.    .btn-primary.btn-outline:hover {
  663.            background: rgba(208, 29, 21,0.1);
  664.    }
  665.    .alert-primary {
  666.            background-color:rgba(208, 29, 21,0.7);
  667.        border-color:rgba(208, 29, 21,0.7);
  668.            color: rgba(255, 255, 255,0.9);
  669.    }
  670.    .btn.dropdown-toggle.btn-primary *, .btn-primary a {
  671.        color: rgb(255, 255, 255);
  672.    }
  673.    .text-primary{
  674.        color: rgb(208, 29, 21);
  675.    }
  676.    .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 {
  677.            background-color: rgba(219, 71, 5,0.95);
  678.        border-color: rgb(219, 71, 5);
  679.        color: rgb(255, 255, 255);
  680.    }
  681.    .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 {
  682.        background-color: rgb(219, 71, 5);
  683.        border-color: rgb(219, 71, 5);
  684.        color: rgb(255, 255, 255);
  685.    }
  686.    .panel-info{
  687.            background-color: rgba(219, 71, 5,0.1);
  688.        border-color: rgb(219, 71, 5);
  689.    }
  690.    .bg-info,.progress-bar-info,.module p.bg-info,.label-info,.pricing_menu .title.bg-info {
  691.        background-color: rgb(219, 71, 5);
  692.        color: rgb(255, 255, 255);
  693.    }
  694.    .bg-info .badge {
  695.        background-color:rgb(255, 255, 255);
  696.        color: rgb(219, 71, 5);
  697.    }
  698.    .btn-info.btn-outline {
  699.        background: transparent;
  700.        color: rgb(219, 71, 5);
  701.        box-shadow: 0 0 0px 1px rgb(219, 71, 5) inset;
  702.        font-weight: bold;
  703.        transition: all 250ms ease-in-out 0ms;
  704.    }
  705.    .btn-info.btn-outline:hover {
  706.            background: rgba(219, 71, 5,0.1);
  707.    }
  708.    .alert-info {
  709.            background-color:rgba(219, 71, 5,0.7);
  710.        border-color:rgba(219, 71, 5,0.7);
  711.            color: rgba(255, 255, 255,0.9);
  712.    }
  713.    .btn.dropdown-toggle.btn-info *, .btn-info a {
  714.        color: rgb(255, 255, 255);
  715.    }
  716.    .text-info{
  717.        color: rgb(219, 71, 5);
  718.    }
  719.    .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 {
  720.            background-color: rgba(42, 178, 123,0.95);
  721.        border-color: rgb(42, 178, 123);
  722.        color: rgb(255, 255, 255);
  723.    }
  724.    .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 {
  725.        background-color: rgb(42, 178, 123);
  726.        border-color: rgb(42, 178, 123);
  727.        color: rgb(255, 255, 255);
  728.    }
  729.    .panel-success{
  730.            background-color: rgba(42, 178, 123,0.1);
  731.        border-color: rgb(42, 178, 123);
  732.    }
  733.    .bg-success,.progress-bar-success,.module p.bg-success,.label-success,.pricing_menu .title.bg-success {
  734.        background-color: rgb(42, 178, 123);
  735.        color: rgb(255, 255, 255);
  736.    }
  737.    .bg-success .badge {
  738.        background-color: rgb(255, 255, 255);
  739.        color: rgb(42, 178, 123);
  740.    }
  741.    .btn-success.btn-outline {
  742.        background: transparent;
  743.        color: rgb(42, 178, 123);
  744.        box-shadow: 0 0 0px 1px rgb(42, 178, 123) inset;
  745.        font-weight: bold;
  746.        transition: all 250ms ease-in-out 0ms;
  747.    }
  748.    .btn-success.btn-outline:hover {
  749.            background: rgba(42, 178, 123,0.1);
  750.    }
  751.    .alert-success {
  752.            background-color:rgba(42, 178, 123,0.7);
  753.        border-color:rgba(42, 178, 123,0.7);
  754.            color: rgba(255, 255, 255,0.9);
  755.    }
  756.    .btn.dropdown-toggle.btn-success *, .btn-success a {
  757.        color: rgb(255, 255, 255);
  758.    }
  759.    .text-success{
  760.        color: rgb(42, 178, 123);
  761.    }
  762.    .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 {
  763.            background-color: rgba(247, 202, 24,0.95);
  764.        border-color: rgb(247, 202, 24);
  765.        color: rgb(47, 47, 47);
  766.    }
  767.    .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 {
  768.        background-color: rgb(247, 202, 24);
  769.        border-color: rgb(247, 202, 24);
  770.        color: rgb(47, 47, 47);
  771.    }
  772.    .panel-warning {
  773.            background-color: rgba(247, 202, 24,0.1);
  774.        border-color: rgb(247, 202, 24);
  775.    }
  776.    .bg-warning,.progress-bar-warning,.module p.bg-warning,.label-warning,.pricing_menu .title.bg-warning {
  777.        background-color: rgb(247, 202, 24);
  778.        color: rgb(47, 47, 47);
  779.    }
  780.    .bg-warning .badge {
  781.        background-color: rgb(47, 47, 47);
  782.        color: rgb(247, 202, 24);
  783.    }
  784.    .btn-warning.btn-outline {
  785.        background: transparent;
  786.        color: rgb(247, 202, 24);
  787.        box-shadow: 0 0 0px 1px rgb(247, 202, 24) inset;
  788.        font-weight: bold;
  789.        transition: all 250ms ease-in-out 0ms;
  790.    }
  791.    .btn-warning.btn-outline:hover {
  792.            background: rgba(247, 202, 24,0.1);
  793.    }
  794.    .alert-warning {
  795.            background-color:rgba(247, 202, 24,0.7);
  796.        border-color:rgba(247, 202, 24,0.7);
  797.            color: rgba(47, 47, 47,0.9);
  798.    }
  799.    .btn.dropdown-toggle.btn-warning *, .btn-warning a {
  800.        color: rgb(47, 47, 47);
  801.    }
  802.    .text-warning {
  803.        color: rgb(247, 202, 24);
  804.    }
  805.    .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 {
  806.            background-color: rgba(44, 102, 217,0.95);
  807.        border-color: rgb(44, 102, 217);
  808.        color: rgb(255, 255, 255);
  809.    }
  810.    .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 {
  811.        background-color: rgb(44, 102, 217);
  812.        border-color: rgb(44, 102, 217);
  813.        color: rgb(255, 255, 255);
  814.    }
  815.    .has-error .form-control {
  816.        border-color: rgb(44, 102, 217);
  817.    }
  818.    .has-error .help-block:not(.form-field-help-block), .has-error ~ .help-block:not(.form-field-help-block) {
  819.        background: rgb(44, 102, 217);
  820.        color: rgb(255, 255, 255) !important;
  821.    }
  822.    .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 {
  823.        color: rgb(44, 102, 217);
  824.    }
  825.    .panel-danger {
  826.            background-color: rgba(44, 102, 217,0.1);
  827.        border-color: rgb(44, 102, 217);
  828.    }
  829.    .bg-danger,.progress-bar-danger,.module p.bg-danger,.label-danger,.pricing_menu .title.bg-danger {
  830.        background-color: rgb(44, 102, 217);
  831.        color: rgb(255, 255, 255);
  832.    }
  833.    .bg-danger .badge {
  834.        background-color: rgb(255, 255, 255);
  835.        color: rgb(44, 102, 217);
  836.    }
  837.    .btn-danger.btn-outline {
  838.        background: transparent;
  839.        color: rgb(44, 102, 217);
  840.        box-shadow: 0 0 0px 1px rgb(44, 102, 217) inset;
  841.        font-weight: bold;
  842.        transition: all 250ms ease-in-out 0ms;
  843.    }
  844.    .btn-danger.btn-outline:hover {
  845.            background: rgba(44, 102, 217,0.1);
  846.    }
  847.    .alert-danger {
  848.            background-color:rgba(44, 102, 217,0.7);
  849.        border-color:rgba(44, 102, 217,0.7);
  850.            color: rgba(255, 255, 255,0.9);
  851.    }
  852.    .btn.dropdown-toggle.btn-danger *, .btn-danger a {
  853.        color: rgb(255, 255, 255);
  854.    }
  855.    .text-danger{
  856.        color: rgb(44, 102, 217);
  857.    }
  858.    .btn-default, .tags a, .btn-default.disabled, .btn-default.disabled.active, .btn-default.disabled.focus, .btn-default.disabled:active, .btn-default.disabled:focus, .btn-default.disabled:hover, .btn-default[disabled], .btn-default[disabled].active, .btn-default[disabled].focus, .btn-default[disabled]:active, .btn-default[disabled]:focus, .btn-default[disabled]:hover, fieldset[disabled] .btn-default, fieldset[disabled] .btn-default.active, fieldset[disabled] .btn-default.focus, fieldset[disabled] .btn-default:active, fieldset[disabled] .btn-default:focus, fieldset[disabled] .btn-default:hover, .btn.dropdown-toggle.btn-default, #popover .mini_profile_pic,.navbar-default .navbar-nav > li > a.btn-default, .navbar-default .navbar-nav > li > span.btn-default,.mobile-main-menu .sidebar-nav li a.btn-default, .mobile-main-menu .sidebar-nav li span.btn-default {
  859.            background-color: rgba(238, 238, 238,0.95);
  860.        border-color: rgb(238, 238, 238);
  861.        color: rgb(85, 85, 85);
  862.    }
  863.    .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 {
  864.        background-color: rgb(238, 238, 238);
  865.        border-color: rgb(238, 238, 238);
  866.        color: rgb(85, 85, 85);
  867.    }
  868.    .sidemenu_panel .panel-default .panel_heading {
  869.        background-color: rgb(238, 238, 238)!important;
  870.        border-color: rgb(238, 238, 238)!important;
  871.        color: rgb(85, 85, 85)!important;
  872.    }
  873.    .panel-default, .member_accounts .panel-default{
  874.            background-color: rgba(238, 238, 238,0.1);
  875.        border-color: rgb(238, 238, 238);
  876.    }
  877.    .bg-default,.progress-bar-default,.module p.bg-default,.label-default,.pricing_menu .title.bg-default {
  878.        background-color: rgb(238, 238, 238);
  879.        color: rgb(85, 85, 85);
  880.    }
  881.    .bg-default .badge {
  882.        background-color: rgb(85, 85, 85);
  883.        color: rgb(238, 238, 238);
  884.    }
  885.    .btn-default.btn-outline {
  886.        background: transparent;
  887.        color: rgb(238, 238, 238);
  888.        box-shadow: 0 0 0px 1px rgb(238, 238, 238) inset;
  889.        font-weight: bold;
  890.        transition: all 250ms ease-in-out 0ms;
  891.    }
  892.    .btn-default.btn-outline:hover {
  893.            background: rgba(238, 238, 238,0.1);
  894.    }
  895.    .alert-default {
  896.            background-color:rgba(238, 238, 238,0.7);
  897.        border-color:rgba(238, 238, 238,0.7);
  898.            color: rgba(85, 85, 85,0.9);
  899.    }
  900.    .btn.dropdown-toggle.btn-default *, .btn-default a {
  901.        color: rgb(85, 85, 85);
  902.    }
  903.    .text-default{
  904.        color: rgb(238, 238, 238);
  905.    }
  906.    .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 {
  907.            background-color: rgba(41, 41, 41,0.95);
  908.        border: 1px solid rgb(41, 41, 41);
  909.        color: rgb(255, 255, 255);
  910.    }
  911.    .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 {
  912.        background-color: rgb(41, 41, 41);
  913.        border: 1px solid rgb(41, 41, 41);
  914.        color: rgb(255, 255, 255);
  915.    }
  916.    .bg-secondary,.progress-bar-secondary,.module p.bg-secondary,.module p.bg-secondary:not(.fr-box.fr-basic .fr-element p),.label-secondary,.pricing_menu .title.bg-secondary {
  917.        background-color: rgb(41, 41, 41);
  918.        color: rgb(255, 255, 255);
  919.    }
  920.    .bg-secondary .badge {
  921.        background-color:rgb(255, 255, 255);
  922.        color: rgb(41, 41, 41);
  923.    }
  924.    .btn-secondary.btn-outline {
  925.        background: transparent;
  926.        color: rgb(41, 41, 41);
  927.        box-shadow: 0 0 0px 1px rgb(41, 41, 41) inset;
  928.        font-weight: bold;
  929.        transition: all 250ms ease-in-out 0ms;
  930.    }
  931.    .btn-secondary.btn-outline:hover {
  932.            background: rgba(41, 41, 41,0.1);
  933.    }
  934.    .panel-secondary {
  935.            background-color: rgba(41, 41, 41,0.1);
  936.        border-color: rgb(41, 41, 41);
  937.    }
  938.    .alert-secondary {
  939.            background-color:rgba(41, 41, 41,0.7);
  940.        border-color:rgba(41, 41, 41,0.7);
  941.            color: rgba(255, 255, 255,0.9);
  942.    }
  943.    .bg-body {
  944.        background: rgb(255, 255, 255);
  945.        color: rgb(41, 41, 41);
  946.    }
  947.    .bg-content-box {
  948.        background: rgb(250, 250, 250);
  949.        color: rgb(41, 41, 41);
  950.    }
  951.    .bg-content-box-border {
  952.        background: rgb(238, 238, 238);
  953.    }
  954.    .btn.dropdown-toggle.btn-secondary *, .btn-secondary a {
  955.        color: rgb(255, 255, 255);
  956.    }
  957.    .text-secondary {
  958.        color: rgb(41, 41, 41);
  959.    }
  960.    .feature-post #post-content .alert-secondary.btn-block, .feature-search .img_section .alert-secondary.btn-block, .search_result .img_section  .alert-secondary {
  961.        background-color: rgba(41, 41, 41,0.2);
  962.    }
  963.  
  964.    /* Footer Newsletter Row */
  965.    .newsletter_row .alert {
  966.        color: rgb(255, 255, 255);
  967.    }
  968.    .newsletter_row {
  969.        background-color: rgb(208, 29, 21);
  970.        color: rgb(255, 255, 255);
  971.    }
  972.    .newsletter_row input[type="submit"],.newsletter_footer_button {
  973.            background-color: rgba(180, 15, 7,0.97);
  974.        color: rgb(255, 255, 255);
  975.        border-color: rgb(180, 15, 7);
  976.    }
  977.    .newsletter_row input[type="submit"]:hover,.newsletter_row input[type="submit"]:focus,.newsletter_footer_button:hover,.newsletter_footer_button:focus {
  978.        background-color: rgb(180, 15, 7);
  979.        color: rgb(255, 255, 255);
  980.    }
  981.    .newsletter_button_left {
  982.            border-right: 1px solid rgba(255, 255, 255,0.2);
  983.    }
  984.    .newsletter_button_right {
  985.        border-left: 1px solid rgba(255, 255, 255,0.2);
  986.    }
  987.    .newsletter_row small.help-block {
  988.        background: rgb(255, 255, 255);
  989.        margin-top: -5px;
  990.        float: left;
  991.        padding: 8px;
  992.        border-radius: 1px;
  993.        color: rgb(208, 29, 21);
  994.        text-transform: capitalize;
  995.    }
  996.    .newsletter_row .has-success .checkbox,.newsletter_row .has-error .checkbox{
  997.        color: rgb(255, 255, 255);
  998.    }
  999.    @media only screen and (max-width: 767px) {
  1000.        .newsletter_button_right,.newsletter_button_left{
  1001.            border: none;
  1002.            margin: 5px 0;
  1003.        }
  1004.    }
  1005.  
  1006.    /* Font Sizes */
  1007.  
  1008.    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span {
  1009.        font-size: 24px;
  1010.    }
  1011.    .header .logo {
  1012.        font-size: 34px;
  1013.    }
  1014.    .homepage_title h1, .homepage_settings h1 {
  1015.        font-size: 60px;
  1016.    }
  1017.    .homepage_settings h2 {
  1018.        font-size: 28px;
  1019.    }
  1020.  
  1021.    .ui-rangeSlider-bar{
  1022.        background: rgb(208, 29, 21)!important;
  1023.    }
  1024.  
  1025.    
  1026.    
  1027.    @media only screen and (max-width: 1024px){
  1028.        .modal {margin-top: 40px;}
  1029.    }
  1030.    @media only screen and (max-width: 768px){
  1031.        .modal {margin-top: 60px;}
  1032.    }
  1033.  
  1034.    /* Calendar Styles */
  1035.  
  1036.    #cal-slide-content {
  1037.        color: rgb(85, 85, 85)!important;
  1038.        background-color: rgb(238, 238, 238)!important;
  1039.        -webkit-box-shadow: none!important;
  1040.        box-shadow: none!important;
  1041.    }
  1042.    #cal-slide-content a.event-item {
  1043.        color: rgb(85, 85, 85)!important;
  1044.        font-weight:bold!important;
  1045.    }
  1046.    #cal-slide-content a.event-item small {
  1047.        display: inline-block;
  1048.    }
  1049.    .cal-month-box, .cal-year-box, .cal-week-box {
  1050.        border: 1px solid rgb(238, 238, 238)!important;
  1051.    }
  1052.    .cal-year-box .row-fluid, .cal-month-box .cal-row-fluid {
  1053.        border-bottom: 1px solid rgb(238, 238, 238)!important;
  1054.    }
  1055.    .cal-year-box [class*="span"], .cal-month-box [class*="cal-cell"] {
  1056.        border-right: 1px solid rgb(238, 238, 238)!important;
  1057.    }
  1058.    .cal-year-box .row-fluid, .cal-row-fluid, #cal-day-box .cal-day-hour:nth-child(odd) {
  1059.        background-color: rgb(255, 255, 255)!important;
  1060.    }
  1061.    .cal-month-day span:not(.pull-right):not(.events-count-label):not(.events-label) {
  1062.        color: rgb(85, 85, 85)!important;
  1063.    }
  1064.    .cal-day-today span[data-cal-date] {
  1065.        color: rgb(41, 41, 41)!important;
  1066.    }
  1067.    .cal-year-box .row-fluid [class*="span"]:last-child, .cal-month-box .cal-row-fluid [class*="cal-cell"]:last-child {
  1068.        border: 0!important;
  1069.    }
  1070.    .cal-row-head {
  1071.        background: rgb(250, 250, 250)!important;
  1072.    }
  1073.    .day-highlight:hover, .day-highlight {
  1074.        background-color: rgb(238, 238, 238)!important;
  1075.    }
  1076.    .cal-event-list .event.pull-left {
  1077.        background-color: rgb(41, 41, 41)!important;
  1078.        opacity: 0.4;
  1079.        margin-top: 7px!important;
  1080.    }
  1081.    .cal-day-today {
  1082.        background-color: rgb(238, 238, 238)!important;
  1083.    }
  1084.    #cal-day-tick {
  1085.        border: 1px solid rgb(238, 238, 238)!important;
  1086.        background-color: rgb(238, 238, 238)!important;
  1087.    }
  1088.    .cal-day-weekend span[data-cal-date]{
  1089.        color: rgb(41, 41, 41)!important;
  1090.    }
  1091.        .rsDefault, .rsDefault .rsOverflow, .rsDefault .rsSlide, .rsDefault .rsVideoFrameHolder, .rsDefault .rsThumbs {
  1092.        background: #151515!important;
  1093.    }
  1094.    
  1095.    #first_container .favorite, #first_container .fa.favorite {
  1096.        color: rgb(170, 184, 194);
  1097.        background: rgb(238, 238, 238);
  1098.        border: 1px solid rgb(238, 238, 238);
  1099.        white-space:nowrap!important;
  1100.    }
  1101.    #first_container .favorite span, #first_container .fa.favorite span {
  1102.        font-family: 'Open Sans';
  1103.        white-space:nowrap!important;
  1104.    }
  1105.    #first_container .favoriteActive:not(.favorite.comments-count-badge), #first_container .fa.favoriteActive:not(.favorite.comments-count-badge .fa) {
  1106.        color: rgb(226, 38, 77);
  1107.    }
  1108.        #first_container .favorite::after, #first_container .fa.favorite::after {
  1109.        font-family: 'Open Sans';
  1110.        margin-left: 3px;
  1111.    }
  1112.    #first_container .favorite span, #first_container .fa.favorite span{
  1113.        padding-left: 3px;
  1114.        font-family: 'Open Sans';
  1115.        font-size: 11px;
  1116.    }
  1117.    #first_container .favorite .bookmark-number, #first_container .fa.favorite .bookmark-number {
  1118.        background: rgb(170, 184, 194);
  1119.        color:rgb(238, 238, 238);
  1120.        padding: 0 5px;
  1121.        border-radius: 100px;
  1122.        display: inline-block;
  1123.        font-weight:bold;
  1124.    }
  1125.    #first_container .favorite.favoriteActive .bookmark-number:not(.comments-count-badge .bookmark-number), #first_container .fa.favorite.favoriteActive .bookmark-number {
  1126.        background: rgb(226, 38, 77);
  1127.    }
  1128.    
  1129.    span.checkbox_value::after {
  1130.        content: ', ';
  1131.    }
  1132.  
  1133.    span.checkbox_value:last-child::after {
  1134.        content: '';
  1135.    }
  1136.    
  1137.    .member_results .grid_element{
  1138. position:relative;
  1139. overflow:hidden;
  1140. display: inline-block;
  1141. width:100%;
  1142. }
  1143. .member_results .grid_element::before {
  1144. position: absolute;
  1145. top: 24px;
  1146. text-align: center;
  1147. width: 200px;
  1148. left: -62px;
  1149. transform: rotate(-45deg);
  1150. -webkit-transform: rotate(-45deg);
  1151. z-index: 1;
  1152. line-height: 1.2em;
  1153. padding: 6px 0;
  1154. font-weight: bold;
  1155. letter-spacing: 1px;
  1156. }
  1157. @media only screen and (max-width: 767px) {
  1158. .member_results .grid-container > hr {
  1159. border-color: transparent;
  1160. }
  1161. .member_results .grid_element{
  1162. overflow:visible;
  1163. }
  1164. .member_results .grid_element::before {
  1165. top: -19px!important;
  1166. transform: rotate(0deg);
  1167. -webkit-transform: rotate(0deg);
  1168. font-size: 10px !important;
  1169. letter-spacing: 0;
  1170. width: auto;
  1171. padding: 3px 6px;
  1172. }
  1173. }
  1174.  
  1175.  
  1176.  
  1177.                .member_results.level_1 .grid_element {
  1178.                    border-style: solid;
  1179.                    border-radius:6px;border-width:10px;border-color:rgb(235, 17, 17); }
  1180.                .member_results.level_1 .grid_element::before {
  1181. border-bottom-left-radius:0!important;
  1182.                    border-radius:6px;color: #fff ;background-color:rgb(235, 17, 17);font-size:16px;content:'TOP RATED';
  1183.                }
  1184. .member_results.level_1 .grid_element {
  1185. padding:10px;
  1186. }
  1187.                @media only screen and (max-width: 767px) {
  1188.                    .member_results.level_1 .grid_element::before {
  1189.                    left:-10px;}}
  1190.                    .member_results .grid-container {
  1191.                        margin-top: 30px;
  1192.                    }
  1193.                    .member_results .grid-container > hr {
  1194.                        border-color: transparent;
  1195. background: transparent;
  1196.                    }
  1197.                    .member_results.level_1 .grid_element{
  1198.                        overflow:visible;
  1199.                    }
  1200.                    .member_results.level_1 .grid_element::before {
  1201.                        top: calc(-10px - 16px);
  1202.                        transform: rotate(0deg);
  1203.                        -webkit-transform: rotate(0deg);
  1204.                        letter-spacing: 0;
  1205.                        width: auto;
  1206.                        padding: 3px 8px;
  1207.                        left: calc(-10px + 0.5px);
  1208.                    }
  1209.                
  1210.    
  1211.  
  1212.    /*  Homepage Sections Background Color Logic */
  1213.  
  1214.    
  1215.    .homepage-section-1 {
  1216.        padding: 40px 0 40px;
  1217.    }
  1218.  
  1219.    
  1220.    .homepage-section-1 {
  1221.        background: rgb(208, 29, 21);
  1222.    }
  1223.  
  1224.    
  1225.    .homepage-section-2 {
  1226.        padding: 40px 0 40px;
  1227.    }
  1228.  
  1229.    
  1230.    .homepage-section-3 {
  1231.        padding: 40px 0 40px;
  1232.    }
  1233.  
  1234.    
  1235.    .homepage-section-4 {
  1236.        padding: 40px 0 40px;
  1237.    }
  1238.  
  1239.    
  1240.    .homepage-section-5 {
  1241.        padding: 40px 0 40px;
  1242.    }
  1243.  
  1244.    
  1245.    .homepage-section-6 {
  1246.        padding: 40px 0 40px;
  1247.    }
  1248.  
  1249.    
  1250.    .homepage-section-7 {
  1251.        padding: 40px 0 40px;
  1252.    }
  1253.  
  1254.    
  1255.    .homepage-section-8 {
  1256.        padding: 40px 0 40px;
  1257.    }
  1258.  
  1259.    
  1260.    .homepage-section-9 {
  1261.        padding: 40px 0 40px;
  1262.    }
  1263.  
  1264.    
  1265.    .homepage-section-10 {
  1266.        padding: 40px 0 40px;
  1267.    }
  1268.  
  1269.    
  1270.    .homepage-section-11 {
  1271.        padding: 40px 0 40px;
  1272.    }
  1273.  
  1274.    
  1275.    .homepage-section-12 {
  1276.        padding: 40px 0 40px;
  1277.    }
  1278.  
  1279.    
  1280.    .homepage-section-13 {
  1281.        padding: 40px 0 40px;
  1282.    }
  1283.  
  1284.    
  1285.    .homepage-section-14 {
  1286.        padding: 40px 0 40px;
  1287.    }
  1288.  
  1289.    
  1290.    .homepage-section-15 {
  1291.        padding: 40px 0 40px;
  1292.    }
  1293.  
  1294.    
  1295.    /* Additional Settings */
  1296.  
  1297.    
  1298.    /* Streaming Widgets Title Settings */
  1299.  
  1300.    .streaming-title {
  1301.        text-align: left;
  1302.        font-size: 30px;
  1303.            font-weight: 600;
  1304.                font-family: 'Open Sans';
  1305.            padding-bottom: 0px;
  1306.    }
  1307.  
  1308.        
  1309.    .homepage-join-module .module h2:first-of-type {
  1310.        color: rgb(0, 0, 0);
  1311.    }
  1312.  
  1313.    .homepage-join-module .module{
  1314.        background: rgb(250, 250, 250);
  1315.        border-color: rgb(238, 238, 238);
  1316.    }
  1317.  
  1318.    .homepage-about-module .module h2:first-of-type {
  1319.        color: rgb(0, 0, 0);
  1320.    }
  1321.  
  1322.    .homepage-about-module .module{
  1323.        background: rgb(250, 250, 250);
  1324.        border-color: rgb(238, 238, 238);
  1325.  
  1326.    }
  1327.  
  1328.    
  1329.    
  1330.    .img-circle, .img-circle img{
  1331.        border-radius:1000px!important;
  1332.    }
  1333.  
  1334.    .img-rounded img, img.fr-dib.img-rounded{
  1335.        border-radius: 6px!important;
  1336.    }
  1337.    
  1338.    /* Google Translate Module */
  1339.        .skiptranslate{font-size:0}
  1340.    .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}
  1341.    .skiptranslate.goog-te-gadget span,img.goog-te-gadget-icon{display:none!important}
  1342.    .goog-te-gadget .goog-te-combo{margin-bottom:-4px}
  1343.    .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)}
  1344.    @media only screen and (max-width: 1100px) {
  1345.        .skiptranslate:not(.skiptranslate[style="display: none;"]){height:39px}
  1346.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header{margin-top:10px!important}
  1347.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar{margin-top:10px}
  1348.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar ~ .header{margin-top:0!important}
  1349.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .mobile-main-menu{top:89px!important;height:calc(100% - 90px)!important}
  1350.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .navbar{top:39px}
  1351.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ #first_container .member_sidebar.open{top: 89px;}
  1352.    }
  1353.    @media only screen and (max-width: 767px) {
  1354.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar.hidden-xs ~ .header{margin-top:10px!important}
  1355.    }
  1356.  
  1357. </style>
  1358.  
  1359. <!--GOOGLE TAG MANAGER CODE--><div class="header">
  1360. <div class="container">
  1361. <div class="row vmargin">
  1362.          <div id="website_logo" class="col-md-5 tpad xs-nopad xs-hpad sm-text-center xs-bmargin header-left-container">
  1363. <a href="https://www.whatsyourhours.com" title="WhatsYourHours.com">
  1364. <img width="900" height="140" src="/images/wyh-logo-horizontal_1.png" alt="WhatsYourHours.com">
  1365. </a>
  1366. <div class="clearfix"></div>
  1367. </div>
  1368.                     <style type='text/css'> body input.tt-hint,body input.form-control.normal-autosuggest-input.tt-query {
  1369.   background-color: white !important;
  1370. }
  1371. .input-group-sm .input-group-addon .fa {
  1372.    font-size: 15px;
  1373. } </style><div class="col-md-7 text-right sm-text-center header-right-container nolpad xs-hpad">
  1374.            <ul class="mini-nav nobmargin list-inline xs-nopad xs-tmargin vpad">
  1375.            <li class='bmargin'><span id='link207'  class='bmargin'> </span></li><li class='bmargin'><a href='/login' id='link208'  class='rpad bmargin'>Business Listing Login</a></li><li class='bmargin norpad'><a href='/join' id='link210'  class='btn btn_get_listed bold'>Grab Your FREE Online Business Listing <i class="fa fa-chevron-right lmargin"></i></a></li>        </ul>
  1376.            <div class="clearfix"></div>
  1377.                <form action="/search_results" name="frm1" class="form-inline website-search">
  1378.                                    <div class="input-group input-group-sm bmargin sm-autosuggest">
  1379.                        <span class="input-group-addon hidden-md"><i class="fa fa-search"></i></span>
  1380.                        <input type="text"
  1381.                               placeholder="Name or Keyword" value="" name="q"
  1382.                               class="member_search form-control input-sm" autocomplete="off">
  1383.                    </div>
  1384.                                        <div class="input-group input-group-sm bmargin">
  1385.                        <span class="input-group-addon hidden-md"><i class="fa fa-location-arrow"></i></span>
  1386.                        <input type="text" placeholder="City or Post Code"
  1387.                               value="" id="location_google_maps_header" name="location_value"
  1388.                               class="googleSuggest googleLocation form-control">
  1389.                    </div>
  1390.                                    <input type="submit" value="Search" class="btn btn-sm btn_search bmargin xs-btn-block bold">
  1391.            </form>
  1392.            </div>
  1393.                 </div>
  1394.   </div>
  1395.         <style type='text/css'> .mobile-main-menu .hasChildren span a {
  1396.    padding: 0px;
  1397. }
  1398.  
  1399. .user_sidebar > img {
  1400. width: 32px;
  1401. height: 32px;
  1402. position: absolute;
  1403. z-index: 10;
  1404. border-radius: 100px;
  1405. top: -1px;
  1406. object-fit: cover;
  1407. left: -10px;
  1408. background: rgb(238, 238, 238);
  1409. }
  1410. #member_sidebar_toggle img+.fa {
  1411.    display: none;
  1412. }
  1413. .main_menu, .user_sidebar {
  1414. padding: 5px 8px;
  1415. margin-right:0;
  1416. min-height: 33.0333px;
  1417. min-width: 38.116px;
  1418. }
  1419. .main_menu i, .user_sidebar i {
  1420.    font-size: 16px;
  1421. }
  1422. .navbar-nav li {
  1423.    float: none!Important;
  1424. }
  1425. .navbar-default{
  1426.    -webkit-transition: all .6s ease-in-out;
  1427.    -moz-transition: all .6s ease-in-out;
  1428.    -o-transition: all .6s ease-in-out;
  1429.    transition: all .6s ease-in-out;
  1430. }
  1431. .transparent_menu {
  1432. background-color: rgba(217, 83, 79,0.95)!important;
  1433. }
  1434. @media only screen and (max-width: 991px) {
  1435. #popover {display: none}
  1436. }
  1437. @media only screen and (max-width: 1100px){
  1438.    .mobile-main-menu{display:block!important}
  1439.    .navbar-toggle {display: block}
  1440.    #bs-main_menu .nav {display: none!important}
  1441. }
  1442. .mobile-main-menu {
  1443.    position: fixed;
  1444.    height: calc(100% - 50px)!important;
  1445.    width: 250px;
  1446.    background: rgb(217, 83, 79);
  1447.    z-index: 99999;
  1448.    right: -250px;
  1449.    top: 50px;
  1450.    display: none;
  1451.    -webkit-transition: all .6s ease-in-out;
  1452.    -moz-transition: all .6s ease-in-out;
  1453.    -o-transition: all .6s ease-in-out;
  1454.    transition: all .6s ease-in-out;
  1455.    overflow-y: auto!important;
  1456.    overflow-x: hidden!important;
  1457. }
  1458. .mobile-main-menu ul li i {
  1459.    color: rgb(253, 253, 253);
  1460.    cursor: pointer;
  1461.    float: right;
  1462.    padding: 13px;
  1463. }
  1464.  
  1465. .mobile-main-menu.opened{
  1466.    right: 0px!important;
  1467. }
  1468.  
  1469. .mobile-main-menu ul li a, .mobile-main-menu ul li span {
  1470.    display: inline-block;
  1471.    float: left;
  1472.    -webkit-touch-callout: none;
  1473.    -webkit-user-select: none;
  1474.    -khtml-user-select: none;
  1475.    -moz-user-select: none;
  1476.    -ms-user-select: none;
  1477.    user-select: none;
  1478.    padding: 10px 0px;
  1479.    width: 80%;
  1480.    width: calc(100% - 40px);
  1481. }
  1482. .mobile-main-menu .sidebar-nav li ul {
  1483.    height: 0px;
  1484.    overflow: hidden;
  1485.    list-style: none;
  1486.    color: rgb(253, 253, 253);
  1487.    padding-left: 10px;
  1488. }
  1489. .mobile-main-menu .sidebar-nav li.sub_open > ul{
  1490.    height: 100%;
  1491. }
  1492. .mobile-main-menu ul.sidebar-nav {
  1493.    position: absolute;
  1494.    width: 250px;
  1495.    margin: 0;
  1496.    padding: 0;
  1497.    list-style: none;
  1498.    font-size: 14px;
  1499. }
  1500. .mobile-main-menu .sidebar-nav > li {
  1501.    display: block;
  1502.    line-height: 20px;
  1503.    padding: 0 15px 0 20px;
  1504. }
  1505. .mobile-main-menu .sidebar-nav li a, .mobile-main-menu .sidebar-nav li span {
  1506.    text-decoration: none;
  1507.    color: rgb(253, 253, 253);
  1508. padding-left:10px;
  1509. }
  1510. .mobile-main-menu .sidebar-nav li a i, .mobile-main-menu .sidebar-nav li span i {
  1511.    display: none;
  1512. } </style><div class="mobile-main-menu">
  1513. <ul class="sidebar-nav">
  1514. <li class=''><a href='/home' id='link1'>Home</a></li><li class=''><a href='/about' id='link189'>How It Works</a></li><li class=''><a href='/blog' id='link227'>Business Tips</a></li><li class=''><a href='/join' id='link186'>Local Business Listings </a><ul><li class=''><a href='/accomodation-travel' id='link249'>Accomodation & Travel</a></li><li class=''><a href='/accountant' id='link246'>Accountant</a></li><li class=''><a href='/air-conditioning-installer' id='link247'>Air Conditioning Installer</a></li><li class=''><a href='/electrician' id='link248'>Electrician</a></li></ul></li> </ul>
  1515. </div>
  1516. <nav class="navbar navbar-default ">
  1517.    <div class="container container-fluid">
  1518.  
  1519.      <div class="navbar-header">
  1520.        <button type="button" class="navbar-toggle collapsed main_menu" data-toggle="collapse" aria-label="main_menu">
  1521. <i class="fa fa-bars fa-fw"></i>
  1522.        </button>
  1523.  
  1524.        
  1525.      </div>
  1526.  
  1527.      <div class="tablet-menu collapse navbar-collapse nopad" id="bs-main_menu">
  1528.        <ul class="tablet-menu-ul nav navbar-nav nav-justified">
  1529.          <li class=''><a href='/home' id='link1'>Home</a></li><li class=''><a href='/about' id='link189'>How It Works</a></li><li class=''><a href='/blog' id='link227'>Business Tips</a></li><li class=''><a href='/join' id='link186'>Local Business Listings </a><ul><li class=''><a href='/accomodation-travel' id='link249'>Accomodation & Travel</a></li><li class=''><a href='/accountant' id='link246'>Accountant</a></li><li class=''><a href='/air-conditioning-installer' id='link247'>Air Conditioning Installer</a></li><li class=''><a href='/electrician' id='link248'>Electrician</a></li></ul></li>        </ul>
  1530.      </div>
  1531.    </div>
  1532. </nav>
  1533. <!--CSS IF MENU IS FIXED TOP-->
  1534.  
  1535. </div><div class="clearfix"></div>
  1536. <!-- Begin  Content -->
  1537. <div id="first_container" class="content-container fr-view">
  1538.        <div class="container">
  1539.                <ol class='breadcrumb' itemscope itemtype='https://schema.org/BreadcrumbList'><li itemprop='itemListElement' itemscope itemtype='https://schema.org/ListItem'><a itemtype='https://schema.org/Thing' itemprop='item' href='//www.whatsyourhours.com' title='WhatsYourHours.com'><span itemprop='name'>Home</span><meta itemprop='position' content='1' /></a></li><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemtype="https://schema.org/Thing" itemprop="item" href=/ title="Colchester"><span itemprop="name">Colchester</span><meta itemprop="position" content="2" /></a></li><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"><a itemtype="https://schema.org/Thing" itemprop="item" href=//colchester title="PROFESSIONAL SERVICES"><span itemprop="name">PROFESSIONAL SERVICES</span><meta itemprop="position" content="4" /></a></li><li class='active'>Colchester Window and Door Repairs</li></ol>        <div class="clearfix body-content"></div>
  1540.        <style type='text/css'> a.btn.btn-warning.pull-right.bmargin.xs-nomargin {
  1541. position: relative;
  1542. z-index: 999;
  1543. } </style>
  1544. <div class="row content_w_sidebar member_profile level_3">
  1545.  
  1546.    <div class='col-md-9'><style type='text/css'> @media only screen and (max-width: 767px) {
  1547. .profile-header-write-review {
  1548. margin-top: 10px !important;
  1549. }
  1550. }
  1551. </style>
  1552. <div class="row member-profile-header">
  1553.    <div class="col-xs-12 col-sm-3 norpad text-center xs-nopad xs-bmargin profile-image">
  1554.            <a href="/england/colchester/professional-services/colchester-window-and-door-repairs/connect" title="Contact Free Online Business Listings Colchester Window and Door Repairs">
  1555.                <img width="162" height="70" class="img-rounded" src="/logos/profile/limage-386682-186-photo.jpg" alt="Free Online Business Listings Colchester Window and Door Repairs in Colchester " title="Contact Colchester Window and Door Repairs">
  1556.            </a>
  1557.            </div>
  1558.    <div class="xs-text-center col-xs-12 col-sm-9">
  1559.        <div class="row">
  1560.            <div class="col-sm-10 norpad xs-hpad header-member-name">
  1561.                <h1 class="bold inline-block">
  1562.                    Colchester Window and Door Repairs                </h1>
  1563. </div>
  1564. <div class='col-sm-2 text-right nolpad bmargin xs-nopad xs-text-center header-favorite-button'><span class="sidebarenabled" data-sidebar="1"></span><span class="postItem userData" data-userid="386682" data-datatype="10" data-dataid="0" data-postid="0"></span><button class="item-post-list-0 favorite fa fa-heart" data-count="" data-postid="0" data-state="0" data-activefeature="1" data-activefavorite="Basic"  data-toggle="modal" data-target="#myModal"  ><span id='bookmark-content'>LIKE</span> <span class='' id='number-0'></span></button></div>        </div>
  1565.        <div class="row">
  1566.            <div class="col-sm-6 tmargin xs-nomargin">
  1567.                <p class="line-height-xl nomargin">
  1568.                    <span class='profile-header-top-category '>PROFESSIONAL SERVICES<br /></span><span class=profile-header-location><i class="fa fa-map-marker text-danger"></i> Colchester, England, CO2 8HX</span>                </p>
  1569.            </div>
  1570.  
  1571.                            <div class="clearfix"></div>
  1572.            
  1573.  
  1574.                            <div class="col-sm-6 tmargin profile-header-send-message">
  1575.                    <a class="btn btn-success btn-block btn-lg" title="Contact Colchester Window and Door Repairs" href="/england/colchester/professional-services/colchester-window-and-door-repairs/connect">
  1576.                                            Send Message
  1577.                                        </a>
  1578.                </div>
  1579.            
  1580.                            <div class="col-sm-6 tmargin">
  1581.                     <span class="nobmargin btn btn-block btn-lg btn-info author-phone click-to-call-button view_phone_number_header" title="See Phone Number">
  1582. <i class="fa fa-phone"></i> See Phone Number
  1583. </span>
  1584. <span style="display:none;padding:10px 16px;" class="well nobmargin text-center btn-lg author-phone click-to-call-button phone_number_header">
  1585. <i class="fa fa-phone"></i> 01206 205445 </span>
  1586.                    </div>
  1587.            
  1588.            
  1589.            
  1590.        </div>
  1591.    </div>
  1592.    </div>
  1593. <div class="clearfix"></div>        <div class="clearfix"></div>
  1594.            
  1595.                
  1596.            
  1597. <div class="well  tmargin  bmargin fpad make-connection">
  1598. <span class="h3 nobmargin">
  1599. <i class="fa fa-comments-o fa-fw" aria-hidden="true"></i>
  1600. </span>
  1601. <b>MAKE A CONNECTION</b>
  1602. Colchester Window and Door Repairs
  1603. is accepting messages:
  1604. <a class="inline-block" href="/england/colchester/professional-services/colchester-window-and-door-repairs/connect">
  1605. Send Message
  1606. </a>
  1607. </div>
  1608. <div class="clearfix"></div><div role="tabpanel"
  1609.     class="tmargin  member-profile-tabs ">
  1610.                        <ul class="nav nav-tabs fpad nobpad profile-tabs-nav" role="tablist" aria-label="Profile Tabs">
  1611.                                            <li class="active hideMyTab" role="presentation">
  1612.                                <a href="#div1" rel=" nofollow" aria-controls="t1" aria-label="Overview" role="tab" data-toggle="tab" aria-selected="false">
  1613.                                    Overview                                                                                                        </a>
  1614.                            </li>
  1615.                            <style>.hideMyTab{ display:none !important;}.profile-tabs-nav{height: 1px;padding:0;}</style>            </ul>
  1616.                            <div class="tab-content">
  1617.                
  1618.                                <div id="div1" role="tabpanel" aria-labelledby="t1 div1"
  1619.                                     class="tab-pane active">
  1620.                                    <style type='text/css'> ul.table-view.list-inline.xs-center-block > h2.tmargin.tpad.xs-text-center.xs-center-block.clearfix:last-child {
  1621. display:none;
  1622. } </style>        
  1623.        <div class="clearfix"></div>
  1624. <div class="module nomargin bg-secondary no-radius-bottom" style="padding:7px 0;">
  1625. <a class="btn-sm bold map-link get-directions-link" rel="nofollow" target="_blank" href="https://maps.google.com/maps?daddr=Commerce+Way+Commerce+Park+Colchester+England+CO2+8HX+United+Kingdom" title="Click for Directions">
  1626. Get Directions <small><i class='fa fa-external-link' aria-hidden='true'></i></small>
  1627. </a>
  1628. <a class="pull-right btn-sm map-link bold larger-map-link" href="#" target="_blank" data-target="#locationModal" data-toggle="modal" title="View Larger Map">
  1629. View Larger Map
  1630. </a>
  1631. <div class="clearfix"></div>
  1632. </div>
  1633.        <div class="clearfix"></div>
  1634. <div id="map-canvas" class="no-radius-top"></div>
  1635. <div class="clearfix"></div>
  1636.            <div class="clearfix"></div>
  1637.        <div class="well tmargin quote_box">
  1638.            Window and Door Repairs        </div>
  1639.                                <div class="table-view list-inline xs-center-block bmargin">
  1640.                                                <div class="clearfix"></div>
  1641.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1642.                                    Enter Contact Information Below                                </h2>
  1643.                                                                                    <div class="table-view-group clearfix table-display-additional_fields">
  1644.                                        <div class="col-sm-4 bold">
  1645.                                            How did you hear about us?                                        </div>
  1646.                                        <div class="col-sm-8">
  1647.                                            <span class="select select-additional_fields">Google</span>                                        </div>
  1648.                                    </div>
  1649.                                                                                            <div class="table-view-group clearfix table-display-listing_type">
  1650.                                        <div class="col-sm-4 bold">
  1651.                                            Listing Represents                                        </div>
  1652.                                        <div class="col-sm-8">
  1653.                                            <span class="radio radio-listing_type">Company</span>                                        </div>
  1654.                                    </div>
  1655.                                                                                            <div class="table-view-group clearfix table-display-first_name">
  1656.                                        <div class="col-sm-4 bold">
  1657.                                            First Name                                        </div>
  1658.                                        <div class="col-sm-8">
  1659.                                            <span class="textbox textbox-first_name">Rob</span>                                        </div>
  1660.                                    </div>
  1661.                                                                                            <div class="table-view-group clearfix table-display-last_name">
  1662.                                        <div class="col-sm-4 bold">
  1663.                                            Last Name                                        </div>
  1664.                                        <div class="col-sm-8">
  1665.                                            <span class="textbox textbox-last_name">Harris</span>                                        </div>
  1666.                                    </div>
  1667.                                                                                            <div class="table-view-group clearfix table-display-company">
  1668.                                        <div class="col-sm-4 bold">
  1669.                                            Company Name                                        </div>
  1670.                                        <div class="col-sm-8">
  1671.                                            <span class="textbox textbox-company">Colchester Window and Door Repairs</span>                                        </div>
  1672.                                    </div>
  1673.                                                                                            <div class="table-view-group clearfix table-display-position">
  1674.                                        <div class="col-sm-4 bold">
  1675.                                            Your Position                                        </div>
  1676.                                        <div class="col-sm-8">
  1677.                                            <span class="select select-position">Business Owner</span>                                        </div>
  1678.                                    </div>
  1679.                                                                                            <div class="table-view-group clearfix table-display-profession_id">
  1680.                                        <div class="col-sm-4 bold">
  1681.                                            Best Describes You                                        </div>
  1682.                                        <div class="col-sm-8">
  1683.                                            <span class="category category-profession_id">PROFESSIONAL SERVICES</span>                                        </div>
  1684.                                    </div>
  1685.                                                                                            <div class="table-view-group clearfix table-display-phone_number">
  1686.                                        <div class="col-sm-4 bold">
  1687.                                            Phone Number                                        </div>
  1688.                                        <div class="col-sm-8">
  1689.                                            <span class="phone phone-phone_number">01206 205445</span>                                        </div>
  1690.                                    </div>
  1691.                                                                                            <div class="table-view-group clearfix table-display-email">
  1692.                                        <div class="col-sm-4 bold">
  1693.                                            Emails Sent To                                        </div>
  1694.                                        <div class="col-sm-8">
  1695.                                            <span class="email email-email">colchester@repairmywindowsanddoors.co.uk</span>                                        </div>
  1696.                                    </div>
  1697.                                                                                        <div class="clearfix"></div>
  1698.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1699.                                    Where Are You Located?                                </h2>
  1700.                                                                        <tr>
  1701.                            <th colspan="2">
  1702.                                <div class="well">
  1703.    <input id="pac-input" class="controls form-control google-writen-location bmargin input-lg" type="text" placeholder="Enter a location: 350 Fifth Avenue, New York, NY 10118" autocomplete="off">
  1704.            <div id="map-canvas"></div>
  1705.                    <label class="fill-location-check">
  1706.                <input type="checkbox" class="fill-change-marker">
  1707.                Fill in the location fields below based on where I move the marker on the map above
  1708.            </label>
  1709.                <div class="clearfix"></div>
  1710. </div>
  1711. <input type="hidden" name="country_sn" value="">
  1712. <input type="hidden" name="state_sn" value="">
  1713.                            </th>
  1714.                        </tr>
  1715.                                                        <div class="table-view-group clearfix table-display-address1">
  1716.                                        <div class="col-sm-4 bold">
  1717.                                            Address Line 1                                        </div>
  1718.                                        <div class="col-sm-8">
  1719.                                            <span class="textbox textbox-address1">Commerce Way</span>                                        </div>
  1720.                                    </div>
  1721.                                                                                            <div class="table-view-group clearfix table-display-lat">
  1722.                                        <div class="col-sm-4 bold">
  1723.                                                                                    </div>
  1724.                                        <div class="col-sm-8">
  1725.                                            <span class="hidden hidden-lat">0.00000000</span>                                        </div>
  1726.                                    </div>
  1727.                                                                                            <div class="table-view-group clearfix table-display-lon">
  1728.                                        <div class="col-sm-4 bold">
  1729.                                                                                    </div>
  1730.                                        <div class="col-sm-8">
  1731.                                            <span class="hidden hidden-lon">0.00000000</span>                                        </div>
  1732.                                    </div>
  1733.                                                                                            <div class="table-view-group clearfix table-display-address2">
  1734.                                        <div class="col-sm-4 bold">
  1735.                                            Address Line 2                                        </div>
  1736.                                        <div class="col-sm-8">
  1737.                                            <span class="textbox textbox-address2">Commerce Park</span>                                        </div>
  1738.                                    </div>
  1739.                                                                                            <div class="table-view-group clearfix table-display-city">
  1740.                                        <div class="col-sm-4 bold">
  1741.                                            City                                        </div>
  1742.                                        <div class="col-sm-8">
  1743.                                            <span class="textbox textbox-city">Colchester</span>                                        </div>
  1744.                                    </div>
  1745.                                                                                            <div class="table-view-group clearfix table-display-state_ln">
  1746.                                        <div class="col-sm-4 bold">
  1747.                                            State                                        </div>
  1748.                                        <div class="col-sm-8">
  1749.                                            <span class="textbox textbox-state_ln">England</span>                                        </div>
  1750.                                    </div>
  1751.                                                                                            <div class="table-view-group clearfix table-display-country_ln">
  1752.                                        <div class="col-sm-4 bold">
  1753.                                            Country                                        </div>
  1754.                                        <div class="col-sm-8">
  1755.                                            <span class="textbox textbox-country_ln">United Kingdom</span>                                        </div>
  1756.                                    </div>
  1757.                                                                                            <div class="table-view-group clearfix table-display-country_code">
  1758.                                        <div class="col-sm-4 bold">
  1759.                                                                                    </div>
  1760.                                        <div class="col-sm-8">
  1761.                                            <span class="hidden hidden-country_code">AU</span>                                        </div>
  1762.                                    </div>
  1763.                                                                                            <div class="table-view-group clearfix table-display-zip_code">
  1764.                                        <div class="col-sm-4 bold">
  1765.                                            Enter Postal Code                                        </div>
  1766.                                        <div class="col-sm-8">
  1767.                                            <span class="textbox textbox-zip_code">CO2 8HX</span>                                        </div>
  1768.                                    </div>
  1769.                                                                                        <div class="clearfix"></div>
  1770.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1771.                                    Enter Website Links                                </h2>
  1772.                                                                                    <div class="table-view-group clearfix table-display-website">
  1773.                                        <div class="col-sm-4 bold">
  1774.                                            Your Website
  1775.    <img src="/images/homepage.png" style="vertical-align:middle;margin-left:8px;">                                        </div>
  1776.                                        <div class="col-sm-8">
  1777.                                            <span class="url url-website"><a target=_blank rel="nofollow" href='https://www.repairmywindowsanddoors.co.uk/colchester-windowrepair/'>https://www.repairmywindowsanddoors.co.uk/colchester-windowrepair/</a></span>                                        </div>
  1778.                                    </div>
  1779.                                                        
  1780.                            </div>
  1781.            
  1782.                                                    <div class="table-view list-inline xs-center-block bmargin">
  1783.                                                    <div class="table-view-group clearfix table-display-mon_hours">
  1784.                                        <div class="col-sm-4 bold">
  1785.                                            Monday                                        </div>
  1786.                                        <div class="col-sm-8">
  1787.                                            <span class="textbox textbox-mon_hours">08:00 – 18:00</span>                                        </div>
  1788.                                    </div>
  1789.                                                                                            <div class="table-view-group clearfix table-display-tue_hours">
  1790.                                        <div class="col-sm-4 bold">
  1791.                                            Tuesday                                        </div>
  1792.                                        <div class="col-sm-8">
  1793.                                            <span class="textbox textbox-tue_hours">08:00 – 18:00</span>                                        </div>
  1794.                                    </div>
  1795.                                                                                            <div class="table-view-group clearfix table-display-wed_hours">
  1796.                                        <div class="col-sm-4 bold">
  1797.                                            Wednesday                                        </div>
  1798.                                        <div class="col-sm-8">
  1799.                                            <span class="textbox textbox-wed_hours">08:00 – 18:00</span>                                        </div>
  1800.                                    </div>
  1801.                                                                                            <div class="table-view-group clearfix table-display-thu_hours">
  1802.                                        <div class="col-sm-4 bold">
  1803.                                            Thursday                                        </div>
  1804.                                        <div class="col-sm-8">
  1805.                                            <span class="textbox textbox-thu_hours">08:00 – 18:00</span>                                        </div>
  1806.                                    </div>
  1807.                                                                                            <div class="table-view-group clearfix table-display-fri_hours">
  1808.                                        <div class="col-sm-4 bold">
  1809.                                            Friday                                        </div>
  1810.                                        <div class="col-sm-8">
  1811.                                            <span class="textbox textbox-fri_hours">08:00 – 18:00</span>                                        </div>
  1812.                                    </div>
  1813.                                                                                            <div class="table-view-group clearfix table-display-sat_hours">
  1814.                                        <div class="col-sm-4 bold">
  1815.                                            Saturday                                        </div>
  1816.                                        <div class="col-sm-8">
  1817.                                            <span class="textbox textbox-sat_hours">09:00 – 15:00</span>                                        </div>
  1818.                                    </div>
  1819.                                                                                            <div class="table-view-group clearfix table-display-sun_hours">
  1820.                                        <div class="col-sm-4 bold">
  1821.                                            Sunday                                        </div>
  1822.                                        <div class="col-sm-8">
  1823.                                            <span class="textbox textbox-sun_hours">Closed</span>                                        </div>
  1824.                                    </div>
  1825.                                                                                            <div class="table-view-group clearfix table-display-affiliation">
  1826.                                        <div class="col-sm-4 bold">
  1827.                                            Accepted Forms of Payments                                        </div>
  1828.                                        <div class="col-sm-8">
  1829.                                            <span class="textarea textarea-affiliation">Cash<br />
  1830. Bank Transfer<br />
  1831. PayPal</span>                                        </div>
  1832.                                    </div>
  1833.                                                        
  1834.                            </div>
  1835.            
  1836.                    <div class="overview-tab-about-me"><h2 class="tmargin tpad xs-center-block clearfix about-member-blurb">About Colchester Window and Door Repairs</h2><div class="clearfix"></div><p id="isPasted"><strong>ADDRESS:</strong></p><p>Commerce Way</p><p>Commerce Park</p><p>Colchester</p><p>CO2 8HX</p><p>&nbsp;</p><p><strong>TELEPHONE:</strong></p><p>01206205445</p><p>&nbsp;</p><p><strong>EMAIL:</strong></p><p>colchester@repairmywindowsanddoors.co.uk</p><p>&nbsp;</p><p><strong>URL:</strong></p><p>https://www.repairmywindowsanddoors.co.uk/colchester-windowrepair/</p><p>&nbsp;</p><p><strong>DESCRIPTION:</strong></p><p>Serving Colchester, we are door and window repair experts, we tackle all types of window and door repairs. We specialise in uPVC repairs and offer locksmith and boarding up services.</p><p>&nbsp;</p><p>We also supply and install a comprehensive range of new windows and doors in uPVC, aluminium and timber, including casement windows, tilt and turn windows, vertical sliding sash windows, composite doors, bifold doors, sliding patio doors and french doors.</p><div class="clearfix"></div>                    <div class="table-view list-inline xs-center-block bmargin">
  1837.                                                <div class="clearfix"></div>
  1838.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1839.                                    Write About You And Your Company                                </h2>
  1840.                                                                        <tr>
  1841.                            <th colspan="2">
  1842.                                <div class="clearfix"></div>                            </th>
  1843.                        </tr>
  1844.                    
  1845.                            </div>
  1846.            
  1847.            <div class="clearfix"></div></div>    <div class="tmargin tpad overview-tab-service-areas"><style type='text/css'> .additional_service_areas button {
  1848.    cursor: text;
  1849. }
  1850. .additional_service_areas button:active {
  1851.    box-shadow: none;
  1852. } </style><div class="clearfix"></div></div><div class="clearfix"></div> <style>
  1853.      #map-canvas {
  1854.        height: 200px;
  1855.        width: 100%;
  1856.        margin: 0px;
  1857.        padding: 0px;
  1858.        border-radius:5px;
  1859.        overflow:hidden;
  1860.      }
  1861.    </style>
  1862. <script>
  1863.  
  1864. $(document).ready(function(){
  1865.    var map;
  1866.    function initialize() {
  1867.                      var styles = [{"featureType":"landscape","stylers":[{"hue":"#FFBB00"},{"saturation":43.400000000000006},{"lightness":37.599999999999994},{"gamma":1}]},{"featureType":"road.highway","stylers":[{"hue":"#FFC200"},{"saturation":-61.8},{"lightness":45.599999999999994},{"gamma":1}]},{"featureType":"road.arterial","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":51.19999999999999},{"gamma":1}]},{"featureType":"road.local","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":52},{"gamma":1}]},{"featureType":"water","stylers":[{"hue":"#0078FF"},{"saturation":-13.200000000000003},{"lightness":2.4000000000000057},{"gamma":1}]},{"featureType":"poi","stylers":[{"hue":"#00FF6A"},{"saturation":-1.0989010989011234},{"lightness":11.200000000000017},{"gamma":1}]}];
  1868.            var styledMap = new google.maps.StyledMapType(styles,{name: "Styled Map"});
  1869.            var myLatlng = new google.maps.LatLng(parseFloat(0.00000000),parseFloat(0.00000000));
  1870.      var iconImage = '';
  1871.      var mapOptions = {
  1872.        zoom: 15,
  1873.        center: myLatlng,
  1874. scrollwheel: false
  1875.      }
  1876.      map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  1877.              map.mapTypes.set('map_style', styledMap);
  1878.        map.setMapTypeId('map_style');
  1879.            var marker = new google.maps.Marker({
  1880.      position: myLatlng,
  1881.      map: map,
  1882.      icon: iconImage
  1883.  });
  1884.    }
  1885.    google.maps.event.addDomListener(window, 'load', initialize);
  1886.    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  1887.     var currentCenter = map.getCenter();
  1888.     google.maps.event.trigger(map, "resize");
  1889.     map.setCenter(currentCenter);
  1890. });
  1891. });
  1892. </script>                                   </div>
  1893.                             <div class="clearfix"></div>
  1894.            </div>
  1895.            </div>
  1896.    </div>
  1897.    <div class="col-sm-12 col-md-3 sidebar-section">        <section id='id' class=''><!--
  1898.  
  1899. IMPORTANT: This widget contains real Adsense code as a sample to show how this widget functions.  Please replace the current Adsense code below with your own code in order to generate revenue from this ad space.
  1900.  
  1901. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  1902.  
  1903. -->
  1904. <a href="https://websecuritypro.com.au?ref=11&utm_source=brent-whatsyourhours" target="_blank">
  1905. <img src="/images/Websecuritypro-remarketingads-300x600-1.png">
  1906. </a>
  1907. <div class="clearfix clearfix-lg"></div>
  1908. <style type='text/css'> #captchaContainer {
  1909. transform:scale(0.77);
  1910. -webkit-transform:scale(0.77);
  1911. transform-origin:0 0;
  1912. -webkit-transform-origin:0 0;
  1913. } </style>        <div class="module">
  1914.            <style type="text/css">label span.required { color: #B94A48; }span.help-inline, span.help-block {font-size: .9em; }</style><form action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form" id="bootstrap_get_match_255" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="widget" form_action_div return_data_type="" name="bootstrap_get_match_255" class=" "><input type="hidden" name="sized" value="0" id="bootstrap_get_match_255-element-0"/><input type="hidden" name="mysql_real_escape_string_runned" value="1" id="bootstrap_get_match_255-element-1"/><input type="hidden" name="userid" value="386682" id="bootstrap_get_match_255-element-2"/><input type="hidden" name="usertokenid" value="386682" id="bootstrap_get_match_255-element-3"/><input type="hidden" name="saveinfo" value="1" id="bootstrap_get_match_255-element-4"/><input type="hidden" name="vals" value="2|2" id="bootstrap_get_match_255-element-5"/><input type="hidden" name="answerqmatch" value="4" id="bootstrap_get_match_255-element-6"/><input type="hidden" name="form_source" value="%2Fengland%2Fcolchester%2Fprofessional-services%2Fcolchester-window-and-door-repairs" id="bootstrap_get_match_255-element-7"/><input type="hidden" name="form" value="myform" id="bootstrap_get_match_255-element-8"/><input type="hidden" name="formname" value="bootstrap_get_match" id="bootstrap_get_match_255-element-9"/><input type="hidden" name="dowiz" value="1" id="bootstrap_get_match_255-element-10"/><input type="hidden" name="save" value="1" id="bootstrap_get_match_255-element-11"/><input type="hidden" name="url_origin_pars" value="/england/colchester/professional-services/colchester-window-and-door-repairs" id="bootstrap_get_match_255-element-12"/>    <style>
  1915.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group .checkbox label, form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group .radio label, form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group label.checkbox, form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group label.radio{
  1916.            display: inline-block;
  1917.            margin-right: 15px;
  1918.        }
  1919.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group label {
  1920.            display: none;
  1921.        }
  1922. form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group label.btn{
  1923. display: block;
  1924. }
  1925.  
  1926.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group div.bootstrap-filestyle ,
  1927.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group div.bootstrap-filestyle label.btn{
  1928.            width: 100%;
  1929.        }
  1930.  
  1931.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group div.bootstrap-filestyle span.group-span-filestyle:nth-child(2)  {
  1932.            margin: 0px !important;
  1933.        }
  1934.  
  1935.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group div.bootstrap-filestyle span.group-span-filestyle:nth-child(2) label.btn  {
  1936.            margin-top: 10px;
  1937.        }
  1938.    </style>
  1939.    
  1940. <script>
  1941.    $(document).ready(function(){
  1942.        $('form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] input, form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] select').each(function(){
  1943.            if($(this).parents('.form-group').find('.required:hidden').length > 0){
  1944.  
  1945.                let placeholderAttr = $(this).attr('placeholder');
  1946.                let optionRequired = $(this).find('option[value=""]').html();
  1947.                                   if (typeof placeholderAttr !== 'undefined' && placeholderAttr.indexOf(`(Required)`) < 1) {
  1948.                        $(this).attr('placeholder', $(this).attr('placeholder') + ` (Required)`);
  1949.                    }
  1950.                
  1951.                if (typeof optionRequired !== 'undefined' && optionRequired.indexOf(`(Required)`) < 1) {
  1952.                    $(this).find('option[value=""]').html($(this).find('option[value=""]').html() + ` (Required)`);
  1953.                }
  1954.            }
  1955.        })
  1956.    })
  1957. </script> <h3 class="nomargin">
  1958. Contact <span class='inline-block'>Colchester Window and Door Repairs</span>
  1959. </h3>
  1960. <hr>
  1961. <div class="form-group"><label class="vertical-label bd-text" for="bootstrap_get_match_255-element-15">Name</label><input type="text" name="lead_name" placeholder="Enter Name" autocomplete="off" value class="form-control control-group  form-control " id="bootstrap_get_match_255-element-15"/></div><div class="form-group"><label class="vertical-label bd-email" for="bootstrap_get_match_255-element-16"><span class="required">* </span>Email</label><input type="email" name="lead_email" required placeholder="Enter Email" autocomplete="off" value class="form-control control-group  form-control " id="bootstrap_get_match_255-element-16"/></div><div class="form-group"><label class="vertical-label bd-text" for="bootstrap_get_match_255-element-17">Phone Number</label><input type="text" name="lead_phone" placeholder="Enter Phone" autocomplete="off" value class="form-control control-group  form-control " id="bootstrap_get_match_255-element-17"/></div><div class="form-group">
  1962. <label class="vertical-label" for="myform-element-1543">
  1963.     Preferred Reply Day
  1964. </label>
  1965. <select aria-label="Preferred Reply Day" name="lead_preferred_day" autocomplete="off" class="form-control control-group " id="myform-element-1543">
  1966. <option value="">Preferred Reply Day</option>
  1967. <option value="As soon as possible">As soon as possible</option>
  1968.                    <option value="Sunday">Sunday</option>
  1969.            <option value="Monday">Monday</option>
  1970.            <option value="Tuesday">Tuesday</option>
  1971.            <option value="Wednesday">Wednesday</option>
  1972.            <option value="Thursday">Thursday</option>
  1973.            <option value="Friday">Friday</option>
  1974.            <option value="Saturday">Saturday</option>
  1975.                
  1976.        ?>
  1977. </select>
  1978. </div>
  1979. <div class="form-group">
  1980.    <label class="vertical-label" for="myform-element-1654">
  1981.                Preferred Reply Time</label>
  1982.    <select aria-label="Preferred Reply Time" name="lead_preferred_time" autocomplete="off" class="form-control control-group " id="myform-element-1654">
  1983.        <option value="">Preferred Reply Time</option>
  1984.        <option value="As soon as possible">As soon as possible</option>
  1985.                    <option value="12:00 am">12:00 am</option>
  1986.            <option value="1:00 am">1:00 am</option>
  1987.            <option value="2:00 am">2:00 am</option>
  1988.            <option value="3:00 am">3:00 am</option>
  1989.            <option value="4:00 am">4:00 am</option>
  1990.            <option value="5:00 am">5:00 am</option>
  1991.            <option value="6:00 am">6:00 am</option>
  1992.            <option value="7:00 am">7:00 am</option>
  1993.            <option value="8:00 am">8:00 am</option>
  1994.            <option value="9:00 am">9:00 am</option>
  1995.            <option value="10:00 am">10:00 am</option>
  1996.            <option value="11:00 am">11:00 am</option>
  1997.            <option value="12:00 pm">12:00 pm</option>
  1998.            <option value="1:00 pm">1:00 pm</option>
  1999.            <option value="2:00 pm">2:00 pm</option>
  2000.            <option value="3:00  pm">3:00  pm</option>
  2001.            <option value="4:00 pm">4:00 pm</option>
  2002.            <option value="5:00 pm">5:00 pm</option>
  2003.            <option value="6:00 pm">6:00 pm</option>
  2004.            <option value="7:00 pm">7:00 pm</option>
  2005.            <option value="8:00 pm">8:00 pm</option>
  2006.            <option value="9:00 pm">9:00 pm</option>
  2007.            <option value="10:00 pm">10:00 pm</option>
  2008.            <option value="11:00 pm">11:00 pm</option>
  2009.                
  2010.    </select>
  2011. </div>
  2012. <style type='text/css'> #map-canvas-contact-sidebar {
  2013.    display: block;
  2014.    width: 100%;
  2015.    height: 250px;
  2016.    float: right;
  2017. }
  2018. label.fill-location-check {
  2019.  display: block;
  2020.  width: 100%;
  2021.  float: left;
  2022.  margin: 6px 0 6px 9%;
  2023. }
  2024. #myform .google-writen-location {
  2025.  float: right;
  2026. }
  2027.  
  2028. #map-canvas-contact-sidebar {
  2029.    border-radius: 4px;
  2030. }
  2031. .pac-container {    
  2032. z-index: 1551;
  2033. } </style>    <input type="hidden" name="utoken" value="386682">
  2034.            <span class="location_status" id="location_status" data-state="only_input"></span>
  2035.            <span class="location_required" id="location_required" data-state="1"></span>
  2036.            <div class="form-group" style="overflow: auto;">
  2037.            <label for="myform-element-8"><span class="required">* </span>Location</label>
  2038.            <input id="pac-input" required fv-notEmpty-message="Required Field" form-id="bootstrap_get_match_255" class="controls google-writen-location form-control " value="" type="text" name="lead_location" placeholder="City or Post Code" autocomplete="off">
  2039.            <input type="hidden" name="lat" value="">
  2040.            <input type="hidden" name="lng" value="">
  2041.            <input type="hidden" name="swlat" value="">
  2042.            <input type="hidden" name="swlng" value="">
  2043.            <input type="hidden" name="nelat" value="">
  2044.            <input type="hidden" name="nelng" value="">
  2045.            <input type="hidden" name="location_type" value="">
  2046.            <input type="hidden" name="country_sn" value="">
  2047.            <input type="hidden" name="county_sn" value="">
  2048.            <input type="hidden" name="adm_lvl_1_sn" value="">
  2049.            <input type="hidden" name="city" value="">
  2050.            <input type="hidden" name="faddress" value="">
  2051.            
  2052.  
  2053.        </div>
  2054.                <span id="cat-page-type" data-type="profile"
  2055.                  data-user="386682"></span>
  2056.                        <div class="form-group"><label class="vertical-label bd-" for="bootstrap_get_match_255-element-22">Message</label><textarea rows="4" name="lead_message" placeholder="Write a message here..." autocomplete="off" class="form-control control-group form-control" id="bootstrap_get_match_255-element-22"></textarea></div><input type="hidden" name="url_from" value="/england/colchester/professional-services/colchester-window-and-door-repairs">
  2057. <input type="hidden" name="checkPageType" value="profile">
  2058.            <div class="form-group nomargin">
  2059.                <div class="checkbox nomargin">
  2060.                    <label style="display:block;" class="bmargin small">
  2061.                        <input type="checkbox" class="consent_history" 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"/>
  2062.                        <span class="required">* </span> I understand that information I enter will be stored and shared with relevant members of the site and that I may be contacted by these members and/or the admin of the website.                    </label>
  2063.                </div>
  2064.            </div>
  2065.        <div class="form-group"><input type="hidden" name="bd_hpc" autocomplete="off" value class="form-control control-group " id="bootstrap_get_match_255-element-27"/></div><div class="form-group"><div class="form-group security_question_label">
  2066.            <div id="bootstrap_get_match_255-captchaContainer" class="control-group">
  2067.        <div class="g-recaptcha"  id="bootstrap_get_match_255-google-recaptcha"></div>
  2068.    </div>
  2069.    <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>
  2070.    <div class="clearfix bmargin"></div>
  2071.    <input type="hidden" name="recaptcha" id="bootstrap_get_match_255-rcap">
  2072. </div>
  2073.    <style>
  2074.        .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 {
  2075.            transform: scale(0.77);
  2076.            -webkit-transform: scale(0.77);
  2077.            transform-origin: 0 0;
  2078.            -webkit-transform-origin: 0 0;
  2079.            margin-bottom: -15px;
  2080.        }
  2081.  
  2082.        .modal #bootstrap_get_match_255-captchaContainer, .col-md-4 #bootstrap_get_match_255-captchaContainer, .col-md-3 #bootstrap_get_match_255-captchaContainer, .col-lg-3 #bootstrap_get_match_255-captchaContainer, .col-lg-4 #bootstrap_get_match_255-captchaContainer {
  2083.            transform: scale(0.77);
  2084.            -webkit-transform: scale(0.77);
  2085.            transform-origin: 0 0;
  2086.            -webkit-transform-origin: 0 0;
  2087.            margin-bottom: -15px;
  2088.        }
  2089.    </style>
  2090.    <script type="text/javascript">
  2091.        var formID          = '';
  2092.        var currentCaptcha  = {};
  2093.        var captchaHolders  = {};
  2094.        window.addEventListener('load', () => {
  2095.            formID = document.querySelectorAll('[name="recaptcha"]');
  2096.            if (typeof formID != "undefined" && formID !== null) {
  2097.                for (let i = 0; i < formID.length; i++) {
  2098.                    let formIDForm = formID[i].closest('form');
  2099.                    if (typeof formIDForm != "undefined" && formIDForm !== null) {
  2100.                        formIDForm.addEventListener('click', reCaptchaOnFormClick, false);
  2101.                    }
  2102.                }
  2103.            }
  2104.        });
  2105.  
  2106.        function reCaptchaOnFormClick(event) {
  2107.            currentCaptchaForm  = event.srcElement.closest('form');
  2108.            var head            = document.getElementsByTagName('head')[0];
  2109.            var script          = document.createElement('script');
  2110.            script.type         = 'text/javascript';
  2111.            script.src          = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en';
  2112.            head.appendChild(script);
  2113.            if (typeof currentCaptchaForm != "undefined" && currentCaptchaForm !== null) {
  2114.                currentCaptchaForm.removeEventListener('click', reCaptchaOnFormClick, false);
  2115.            }
  2116.        }
  2117.  
  2118.  
  2119.        var onloadCallback = function (event) {
  2120.            var captcha = currentCaptchaForm.querySelectorAll('div[class=g-recaptcha]');
  2121.            if(captcha[0].id){
  2122.                captchaHolders[captcha[0].id] = grecaptcha.render(captcha[0].id, {
  2123.                    'sitekey': '6Lf8GfsSAAAAAD85tCjd0qqFlafyPNWp-wFm9KX2'
  2124.                });
  2125.            }
  2126.        }
  2127.  
  2128.    </script>
  2129. <script>
  2130.    function respuesta() {
  2131.        var checkedTextArea = document.getElementsByClassName('g-recaptcha');
  2132.        var rcap = document.getElementsByTagName('recaptcha');
  2133.        for (var i = 0; i < checkedTextArea.length; i++) {
  2134.            if (checkedTextArea[i].value != '') {
  2135.                for (var index = 0; i < rcap.length; index++) {
  2136.                    rcap[index].setAttribute("value", "checked");
  2137.                }
  2138.            }
  2139.        }
  2140.    }
  2141.  
  2142.    $(document).ready(function(){
  2143.        $("#bootstrap_get_match_255 input[type=submit]").unbind('click');
  2144.        $("#bootstrap_get_match_255 input[type=submit]").click(function (event) {
  2145.  
  2146.            var formId = $(this.form).attr('id');
  2147.            var captchaHolderKey = formId + "-google-recaptcha";
  2148.  
  2149.            if (typeof captchaHolders[captchaHolderKey] != "undefined") {
  2150.                event.preventDefault();
  2151.  
  2152.                if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") {
  2153.                    $("#" + formId).formValidation('validate');
  2154.                    $("#" + formId + " .security_question_label").addClass("has-error");
  2155.                    $("#" + formId + " #recaptcha_error").css("display", "block");
  2156.                    return false;
  2157.                } else {
  2158.                    $("#" + formId + " .security_question_label").removeClass("has-error");
  2159.                    $("#" + formId + " #recaptcha_error").css("display", "none");
  2160.                    respuesta();
  2161.                    $("#" + formId).submit();
  2162.                }
  2163.            }
  2164.        });
  2165.    });
  2166. </script></div><div class="form-actions"><input type="submit" value="Send Message" name class="btn btn-success btn-block btn-lg " id="bootstrap_get_match_255-element-29"/></div></form><script type="text/javascript">jQuery(document).ready(function() { jQuery("#bootstrap_get_match_255").bind("submit", function() {
  2167. });}); </script>        </div>
  2168.    
  2169.             <style type='text/css'> .col-md-3 .social_share_buttons .col-xs-3, .col-lg-3 .social_share_buttons .col-xs-3 {
  2170. transform: scale(.96);
  2171. }
  2172. .social_share_buttons .col-xs-4 {
  2173. padding: 0 5px;
  2174. }
  2175. .fbMobilePopUp {
  2176. color: #fff;
  2177. background-color: #3b5998;
  2178. padding: 2px 9px;
  2179. font-size: 11px;
  2180. font-weight: 500;
  2181. border-radius: 7%;
  2182. position: relative;
  2183. }
  2184.  
  2185. .fbMobilePopUp:hover {
  2186. color: #fff !important;
  2187. background-color: #354f87
  2188. }
  2189.  
  2190. .social_share_buttons button, .social_share_buttons .fb-share-button, .social_share_buttons span, .social_share_buttons a, .social_share_buttons iframe, .social_share_buttons .twitter-share-button, .social_share_buttons .IN-widget, .social_share_buttons .IN-bf195e49-eb86-4856-9b9f-1c8710d456be-1G9ISYhSF8XoOmdcl0yKDu {
  2191. width: 100%!important;
  2192. display: block!important;
  2193. border-radius: 100px !important;
  2194. vertical-align:top!important;
  2195. margin:0 auto!important;
  2196. white-space:nowrap!important;
  2197. color: #fff!important;
  2198. } </style><aside>
  2199.    <div class="module social_share_buttons">
  2200.        <h2 class="nomargin">
  2201.            <i class="fa fa-share-square-o fa-fw"></i> Share This Page
  2202.        </h2>
  2203.        <hr>
  2204.        <div class="row hpad">
  2205.            <div class="col-xs-4 col-sm-4 col-md-6 col-lg-4 text-center bmargin facebook_social_share_button social_share_button">
  2206.  
  2207.                                    <div class="fb-share-button" style="display:none;">
  2208.                        <a href="#" title="Facebook Share Button" class="fbMobilePopUp" onclick='showFBShare();'>
  2209.                            <i class="fa fa-facebook "></i> Share
  2210.                        </a>
  2211.                    </div>
  2212.  <i class="fa fa-circle-o-notch fa-spin spin_remove_2"></i>
  2213.                            </div>
  2214.            <div class="col-xs-4 col-sm-4 col-md-6 col-lg-4 text-center bmargin twitter_social_share_button social_share_button">
  2215.                <a title="Twitter Share Button" href="//twitter.com/share" class="twitter-share-button" data-count="vertical"></a>
  2216.                <i class="fa fa-circle-o-notch fa-spin spin_remove_2"></i>
  2217.            </div>
  2218.            <div class="col-xs-4 col-sm-4 col-md-6 col-lg-4 text-center bmargin linkedin_social_share_button social_share_button">
  2219.                <script type="IN/Share" data-counter="top" defer></script>
  2220.                <i class="fa fa-circle-o-notch fa-spin spin_remove_2"></i>
  2221.            </div>
  2222.            <div class="clear"></div>
  2223.        </div>
  2224.        <div class="clear"></div>
  2225.    </div>
  2226. </aside><style type='text/css'> .related-searches-ul {
  2227. max-height: 200px;
  2228. overflow-y: auto;
  2229. }
  2230. .related-searches-ul li > a {
  2231. margin:1px 0 2px;
  2232. display:inline-block;
  2233. } </style>    <div class="module related-members-links">
  2234.        <h3 class="nomargin">
  2235. Related Searches
  2236. </h3>
  2237. <hr>
  2238.        <ul class="list-unstyled font-sm line-height-xl related-searches-ul">
  2239.            <li class="xs-bmargin"><a href="https://www.whatsyourhours.com/professional-services" title="PROFESSIONAL SERVICES">All PROFESSIONAL SERVICES</a>
  2240.            <br/>
  2241.            <li class='xs-bmargin'><a href='https://www.whatsyourhours.com/australia/colchester/professional-services' title='PROFESSIONAL SERVICES in Colchester'>PROFESSIONAL SERVICES in Colchester</a><br/><li class='xs-bmargin'><a href='https://www.whatsyourhours.com/australia/professional-services' title='PROFESSIONAL SERVICES in AU'>PROFESSIONAL SERVICES in Australia</a><br/>        </ul>
  2242.    </div>
  2243.  
  2244.  
  2245.    <div class="module post_location_map nopad">
  2246.        <p class="btn-sm bg-secondary text-center nomargin line-height-xl bold no-radius-bottom">
  2247.            <i class="fa fa-map-marker fa-fw text-danger"></i>
  2248.            Commerce Way Commerce Park, Colchester, England CO2 8HX        </p>
  2249.        <div class="clearfix"></div>
  2250.        <div id="map-canvas_sidebar"></div>
  2251.        <div class="clearfix"></div>
  2252.        <a href="#" data-toggle="modal" data-target="#sidebarlocationModal" class="popup btn btn-primary btn-block no-radius-top" title="Click for Directions">
  2253.            View Larger Map
  2254.        </a>
  2255.        <script>
  2256.            function setJsMapSidebar() {
  2257.                var map, map2;
  2258.                        var styles = [{"featureType":"landscape","stylers":[{"hue":"#FFBB00"},{"saturation":43.400000000000006},{"lightness":37.599999999999994},{"gamma":1}]},{"featureType":"road.highway","stylers":[{"hue":"#FFC200"},{"saturation":-61.8},{"lightness":45.599999999999994},{"gamma":1}]},{"featureType":"road.arterial","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":51.19999999999999},{"gamma":1}]},{"featureType":"road.local","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":52},{"gamma":1}]},{"featureType":"water","stylers":[{"hue":"#0078FF"},{"saturation":-13.200000000000003},{"lightness":2.4000000000000057},{"gamma":1}]},{"featureType":"poi","stylers":[{"hue":"#00FF6A"},{"saturation":-1.0989010989011234},{"lightness":11.200000000000017},{"gamma":1}]}];
  2259.                    var styledMap = new google.maps.StyledMapType(styles, {name: "Styled Map"});
  2260.                                var myLatlng = new google.maps.LatLng(parseFloat(0.00000000), parseFloat(0.00000000));
  2261.                var iconImage = '';
  2262.                var mapOptions = {
  2263.                    zoom: 15,
  2264.                    center: myLatlng,
  2265.                    controlSize: 26,
  2266.                    mapTypeControl: false,
  2267.                    streetViewControl: false,
  2268.                    scrollwheel: false
  2269.                }
  2270.                map_sidebar = new google.maps.Map(document.getElementById('map-canvas_sidebar'), mapOptions);
  2271.                map2 = new google.maps.Map(document.getElementById('sidebar-map-canvas'), mapOptions);
  2272.                                map_sidebar.mapTypes.set('map_style', styledMap);
  2273.                map_sidebar.setMapTypeId('map_style');
  2274.                map2.mapTypes.set('map_style', styledMap);
  2275.                map2.setMapTypeId('map_style');
  2276.                                var marker = new google.maps.Marker({
  2277.                    position: myLatlng,
  2278.                    map: map_sidebar,
  2279.                    icon: iconImage
  2280.                });
  2281.                var marker2 = new google.maps.Marker({
  2282.                    position: myLatlng,
  2283.                    map: map2,
  2284.                    icon: iconImage
  2285.                });
  2286.                // google.maps.event.addDomListener(window, 'load', initialize);
  2287.                $('#sidebarlocationModal').on('shown.bs.modal', function () {
  2288.                    var currentCenter = map2.getCenter();
  2289.                    google.maps.event.trigger(map2, "resize");
  2290.                    map2.setCenter(currentCenter);
  2291.                });
  2292.            }
  2293. </script>
  2294. </div>
  2295. <div class="modal fade" id="sidebarlocationModal" tabindex="-1" role="dialog" aria-labelledby="sidebarlocationModal" aria-hidden="true">
  2296.    <div class="modal-dialog modal-lg">
  2297.        <div class="modal-content">
  2298.            <div class="modal-header">
  2299.                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  2300.                <h4 class="modal-title">Map View</h4>
  2301.            </div>
  2302.            <div class="modal-body" style="height: 350px;">
  2303.                <div id="sidebar-map-canvas"></div>
  2304.            </div>
  2305.            <div class="modal-footer">
  2306.  
  2307.                
  2308.                
  2309.                                    <a rel="nofollow" href="https://maps.google.com/maps?daddr=Commerce+Way+Commerce+Park+Colchester+England+CO2+8HX+United+Kingdom" type="button" rel="nofollow" target="_blank" class="btn btn-primary member-directions">Get Directions <small><i class='fa fa-external-link' aria-hidden='true'></i></small></a>
  2310.                
  2311.                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
  2312.            </div>
  2313.        </div>
  2314.    </div>
  2315. </div>
  2316. <style>
  2317.    #sidebar-map-canvas {
  2318.        height: 100%;
  2319.        margin-bottom: 5px;
  2320.        width: 100%;
  2321.    }
  2322. </style><!--
  2323.  
  2324. IMPORTANT: This widget contains real Adsense code as a sample to show how this widget functions.  Please replace the current Adsense code below with your own code in order to generate revenue from this ad space.
  2325.  
  2326. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  2327.  
  2328. -->
  2329. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  2330. <!-- Responsive -->
  2331. <ins class="adsbygoogle"
  2332.     style="display:block"
  2333.     data-ad-client="ca-pub-8264287386440187"
  2334.     data-ad-slot="5914336557"
  2335.     data-ad-format="auto"></ins>
  2336. <script>
  2337. (adsbygoogle = window.adsbygoogle || []).push({});
  2338. </script>
  2339. <div class="clearfix clearfix-lg"></div>
  2340. <!--
  2341.  
  2342. IMPORTANT: This widget contains real Adsense code as a sample to show how this widget functions.  Please replace the current Adsense code below with your own code in order to generate revenue from this ad space.
  2343.  
  2344. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  2345.  
  2346. -->
  2347. <a href="https://websecuritypro.com.au?ref=11&utm_source=brent-whatsyourhours" target="_blank">
  2348. <img src="/images/Websecuritypro-remarketingads-300x600-1.png">
  2349. </a>
  2350. <div class="clearfix clearfix-lg"></div>
  2351. </section>        </div>
  2352.    
  2353. </div>
  2354. <div class="clearfix"></div>
  2355.        <div class="clearfix"></div>
  2356.    </div>
  2357. </div>
  2358. <!-- End Content -->
  2359. <div class="clearfix footer-clear-element clearfix-lg"></div>
  2360. <!--
  2361.  
  2362. IMPORTANT: This widget contains real Adsense code as a sample to show how this widget functions.  Please replace the current Adsense code below with your own code in order to generate revenue from this ad space.
  2363.  
  2364. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  2365.  
  2366. -->
  2367. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  2368. <script>
  2369.  (adsbygoogle = window.adsbygoogle || []).push({
  2370.    google_ad_client: "ca-pub-8264287386440187",
  2371.    enable_page_level_ads: true
  2372.  });
  2373. </script>
  2374.  
  2375. <div class="clearfix clearfix-lg"></div>
  2376.  
  2377. <div class="footer">
  2378.    <div class="container">
  2379.        <div class="row">
  2380.            <ul class="footer_menu sm-text-center">
  2381.                <li class='col-md-5'><span id='link157'  class='head'> About</span><ul><li class=''><span id='link158'  class='content'> Finding Free Online Business Listings is easy by searching our trusted network of top-rated Free Online Business Listings.</span></li></ul></li><li class='col-md-2 col-md-offset-1'><span id='link159'  class='head'> Website</span><ul><li class=''><a href='/about' id='link160'>How It Works</a></li><li class=''><a href='/join' id='link161'>List Your Business</a></li></ul></li><li class='col-md-2'><span id='link162'  class='head'> Search</span><ul><li class=''><a href='/categories' id='link163'>Browse Categories</a></li><li class=''><a href='/locations' id='link164'>Browse Locations</a></li></ul></li><li class='col-md-2'><span id='link165'  class='head'> Support</span><ul><li class=''><a href='/login/retrieval' id='link166'>Password Retrieval</a></li><li class=''><a href='/about/contact' id='link167'>Contact Us</a></li></ul></li><li class='col-md-12'><span id='link226'>  </span></li><li class='col-md-5 vpad vmargin'><span id='link211'> <div itemscope itemtype="http://schema.org/WebSite">
  2382. <meta itemprop="name" content="WhatsYourHours.com" id="sitename">
  2383. <link href="//www.whatsyourhours.com" itemprop="url" id="sitelink">
  2384. <div class="list-social-links">
  2385. <a class="network-icon contact" href="/about/contact" title="Contact Us WhatsYourHours.com">
  2386. <i class="fa fa-envelope"></i>
  2387. </a>
  2388. <a class="network-icon facebook" itemprop="sameAs" href="https://www.facebook.com/whatsyourhours" target="_blank" title="WhatsYourHours.com Facebook">
  2389. <i class="fa fa-facebook"></i>
  2390. </a>
  2391. <a class="network-icon googleplus" itemprop="sameAs" rel="publisher" href="https://goo.gl/maps/NvhnWcvNf342" target="_blank" title="WhatsYourHours.com Google"  rel="publisher">
  2392. <i class="fa fa-google-plus"></i>
  2393. </a>
  2394. <a class="network-icon image-icon twitter" itemprop="sameAs" href="https://twitter.com/whatsyourhours" target="_blank" title="WhatsYourHours.com X">
  2395. <img alt="WhatsYourHours.com X" loading="lazy" class="talign img-circle" src="/images/twitterX.png" width="40" height="40">
  2396. </a>
  2397.    
  2398.      
  2399. <a class="network-icon linkedin" itemprop="sameAs" href="https://www.linkedin.com/company/whatsyourhours-com" target="_blank" title="WhatsYourHours.com LinkedIn">
  2400. <i class="fa fa-linkedin"></i>
  2401. </a>
  2402. <div class="clearfix"></div>
  2403. </div>
  2404. </div></span></li><li class='col-md-6 col-md-offset-1 vpad vmargin'><a href='/join' id='link212'  class='btn btn_footer_get_listed btn-lg btn-block bold center sm-block' style='white-space:normal'>Free Online Business Listings - Join Our Website Today »</a></li>            </ul>
  2405.        </div>
  2406. <div class="col-md-12 fpad fmargin small text-center footer_terms">
  2407. &copy; 2024 <a title="WhatsYourHours.com" href="/">
  2408. WhatsYourHours.com </a>
  2409. All Rights Reserved.
  2410. <div class="inline-block">
  2411. <a title="Terms of Use - WhatsYourHours.com" href="/about/terms">
  2412. Terms of Use
  2413. </a>
  2414. |
  2415. <a title="Privacy Policy - WhatsYourHours.com" href="/about/privacy">
  2416. Privacy Policy
  2417. </a>
  2418. </div>
  2419. </div>
  2420.    </div>
  2421. </div><style type='text/css'> .scrollup {
  2422.  border-radius: 3px;
  2423.  width: 40px;
  2424.  height: 40px;
  2425.  opacity: 0.4;
  2426.  position: fixed;
  2427.  bottom: 30px;
  2428.  right: 30px;
  2429.  display: none;
  2430.  background: rgba(119, 119, 119, 0.8);
  2431.  z-index: 1000000;
  2432. }
  2433. .scrollup i {
  2434.  font-size: 36px;
  2435.  color: white;
  2436.  position: relative;
  2437.  top: 0px;
  2438.  left: 10px;
  2439. } </style>            <div class="myModal modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
  2440.                 data-backdrop="static" data-keyboard="false">
  2441.                <div class="modal-dialog" role="document">
  2442.                    <div class="modal-content">
  2443.                        <div class="modal-body nohpad nobpad">
  2444.                            <button type="button" style="z-index:10;position:absolute;right:15px;" class="close hmargin"
  2445.                                    data-dismiss="modal">&times;
  2446.                            </button>
  2447.                                <style>
  2448.        .member-login-container:not(.modal .module) {
  2449.            width: 555px;
  2450.            max-width: 100%;
  2451.            margin-left: auto;
  2452.            margin-right: auto;
  2453.            margin-bottom:0;
  2454.            background-color: rgb(250, 250, 250)!important;
  2455.            border-color: rgb(238, 238, 238)!important;
  2456.            color: rgb(41, 41, 41)!important;
  2457.        }
  2458.        .login-register-tabs, .login-register-content {
  2459.            width: 555px!important;
  2460.            max-width: 100%;
  2461.            margin-left: auto!important;
  2462.            margin-right: auto!important;
  2463.            background-color: rgb(238, 238, 238);
  2464.        }
  2465.        .login-register-content {
  2466.            background: transparent;
  2467.            padding: 0;
  2468.            border: none;
  2469.        }
  2470.        .login-register-content h2, .login-register-content h2+hr, .login-register-content .account-menu-title {
  2471.            display: none!important;
  2472.        }
  2473.        .express_login_create_account_prefix hr {
  2474.            margin: 15px 0 10px;
  2475.        }
  2476.        .modal-content #containerFBLogin, .modal-content #containerGoogleLogin {
  2477.            margin:15px 0;
  2478.        }
  2479.  
  2480.        /* CSS When Login Form and Express Registration Rendered in Sidebar */
  2481.        .col-md-3 .bd-chat-well-container,.col-md-4 .bd-chat-well-container {
  2482.            padding: 15px 10px;
  2483.        }
  2484.        .col-md-3 .bd-chat-center-text,.col-md-4 .bd-chat-center-text {
  2485.            margin: 0;
  2486.            font-size: 20px;
  2487.            padding: 0 15px;
  2488.        }
  2489.        .col-md-3 .member-login-page-container .login-register-tabs *, .col-md-4 .member-login-page-container .login-register-tabs * {
  2490.            font-size: 12px;
  2491.            line-height: 1.2em;
  2492.            vertical-align: bottom;
  2493.        }
  2494.        .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a {
  2495.            padding: 5px !important;
  2496.            height: 50px;
  2497.            vertical-align: middle;
  2498.            display: table-cell !important;
  2499.            width: 1%;
  2500.        }
  2501.        .col-md-3 .member-login-page-container .login-register-content, .col-md-4  .member-login-page-container .login-register-content {
  2502.            padding: 0;
  2503.        }
  2504.        .col-md-3 .member-login-container, .col-md-4 .member-login-container {
  2505.            padding: 15px !important;
  2506.            font-size: 13px;
  2507.        }
  2508.        .col-md-3 .member-login-page-container .input-lg, .col-md-4 .member-login-page-container .input-lg {
  2509.            height: 34px;
  2510.            padding: 6px 12px;
  2511.            font-size: 14px;
  2512.        }
  2513.        .col-md-3 .member-login-page-container .security_question_label, .col-md-4 .member-login-page-container .security_question_label {
  2514.            transform: scale(.85);
  2515.            margin: -1.15em -1.15em 0;
  2516.        }
  2517.        .col-md-3 #containerFBLogin, .col-md-4 #containerFBLogin, .col-md-3 #containerGoogleLogin, .col-md-4 #containerGoogleLogin, .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li {
  2518.            width: 100%;
  2519.            display: block;
  2520.            margin-top:5px;
  2521.        }
  2522.        .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li {
  2523.            padding:0
  2524.        }
  2525.        .col-md-3 .login-cta-buttons ul.nav, .col-md-4 .login-cta-buttons ul.nav {
  2526.            margin-top: -10px;
  2527.        }
  2528.        .col-md-3 #googleAction, .col-md-3 #facebookAction, .col-md-4 #googleAction, .col-md-4 #facebookAction {
  2529.            padding: 0;
  2530.            min-height: 0;
  2531.            font-size: 14px;
  2532.            margin: 0;
  2533.        }
  2534.        .col-md-3 #googleAction img, .col-md-3 #facebookAction img, .col-md-4 #googleAction img, .col-md-4 #facebookAction img {
  2535.            height: 36px !important;
  2536.            margin-right: 5px;
  2537.            position: relative!important;
  2538.            display: inline-block;
  2539.        }
  2540.        @media only screen and (max-width: 767px) {
  2541.            .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a {
  2542.                display: block !important;
  2543.                width: 100%;
  2544.                line-height: 40px;
  2545.            }
  2546.  
  2547.            #containerGoogleLogin {
  2548.                text-align: center;
  2549.                margin-top: 10px;
  2550.            }
  2551.  
  2552.            #containerGoogleLogin #gBtn {
  2553.                display: inline-block;
  2554.                width: 202px;
  2555.  
  2556.            }
  2557.            #containerFBLogin .btn-facebook {
  2558.                box-sizing: border-box;
  2559.                width: 191px;
  2560.                font-size: 14px;
  2561.                position: relative;
  2562.                left: -4px;
  2563.                padding-left: 44px;
  2564.                white-space: nowrap !important;
  2565.  
  2566.            }
  2567.        }
  2568.    </style>
  2569.    <div class="row member-login-page-container">
  2570.        <div class="fpad-lg novpad">
  2571.  
  2572.            
  2573.                                    <div class="module fpad-xl member-login-container">
  2574.                        <style type="text/css">label span.required { color: #B94A48; }span.help-inline, span.help-block {font-size: .9em; }</style><form action="/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" id="member_login_190" method="post" labelwidth="100" labelpaddingtop="0.5em" enctype="multipart/form-data" form_action_type="redirect" form_action_div return_data_type="" name="member_login_190" class=" "><input type="hidden" name="sized" value="0" id="member_login_190-element-0"/><input type="hidden" name="mysql_real_escape_string_runned" value="1" id="member_login_190-element-1"/><input type="hidden" name="userid" value="386682" id="member_login_190-element-2"/><input type="hidden" name="usertokenid" value="386682" id="member_login_190-element-3"/><input type="hidden" name="saveinfo" value="1" id="member_login_190-element-4"/><input type="hidden" name="vals" value="2|2" id="member_login_190-element-5"/><input type="hidden" name="answerqmatch" value="4" id="member_login_190-element-6"/><input type="hidden" name="form_source" value="%2Fengland%2Fcolchester%2Fprofessional-services%2Fcolchester-window-and-door-repairs" id="member_login_190-element-7"/><input type="hidden" name="form" value="myform" id="member_login_190-element-8"/><input type="hidden" name="formname" value="member_login" id="member_login_190-element-9"/><input type="hidden" name="dowiz" value="1" id="member_login_190-element-10"/><input type="hidden" name="save" value="1" id="member_login_190-element-11"/><input type="hidden" name="url_origin_pars" value="/england/colchester/professional-services/colchester-window-and-door-repairs" id="member_login_190-element-12"/><input type="hidden" name="action" autocomplete="off" value="login" id="member_login_190-element-13"/><h2 class="nomargin member-login-h2-form-title">Member Login</h2><hr><div class="form-group"><label class="vertical-label bd-email" for="member_login_190-element-16"><span class="required">* </span>Email Address</label><input type="email" name="email" required placeholder="name@yoursite.com" autocomplete="off" value class="form-control input-lg" id="member_login_190-element-16"/></div><div class="form-group"><label class="vertical-label bd-password" for="member_login_190-element-17"><span class="required">* </span>Password</label><input type="password" name="pass" required placeholder="Enter Password" autocomplete="off" value class="form-control input-lg" id="member_login_190-element-17"/></div><span class="help-block bpad bmargin notmargin"> <a href="/login/retrieval">Forgot Password? Click to Reset Password</a></span><div class="form-actions"><input type="submit" value="Login Now" name class="btn btn-primary btn-lg btn-block " id="member_login_190-element-19"/></div><div class="login-cta-buttons"><hr class="cta-hr"><ul class="list-inline nomargin inline-block btn-block"><li class='col-md-6 nolpad sm-nopad nav'><a href='/checkout/5' id='link250'  class='btn btn-danger btn-block sm-bmargin'>Not a Registered User? <span class="inline-block">Create Free User Account</span></a></li><li class='col-md-6 nolpad sm-nopad nav'><a href='/join' id='link251'  class='btn btn-success btn-block'>Are You a Local Business <span class="inline-block">List Your Company Now</span></a></li></ul><div class="clearfix"></div></div></form><script type="text/javascript">jQuery(document).ready(function() { jQuery("#member_login_190").bind("submit", function() {
  2575. });}); </script>                        <div class="clearfix"></div>
  2576.                    </div>
  2577.                
  2578.            
  2579.        </div>
  2580.    </div>
  2581.                        </div>
  2582.                    </div>
  2583.                </div>
  2584.            </div>
  2585.            
  2586.  
  2587.  
  2588.    <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css">
  2589. <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js"></script>
  2590.  
  2591. <script>
  2592.    function clearContent(thisObj){
  2593.        var size;
  2594.        if(thisObj.hasClass('input-sm') || thisObj.parents('.input-group').hasClass('input-group-sm')){
  2595.            size = "small";
  2596.        } else if (thisObj.hasClass('input-lg') || thisObj.parents('.input-group').hasClass('large-autosuggest')){
  2597.            size = "large";
  2598.        } else {
  2599.            size = "medium";
  2600.        }
  2601.        if(!thisObj.parent().hasClass('input_wrapper')){
  2602.            if(thisObj.parent().hasClass('input-group-sm')){
  2603.                thisObj.wrap('<span class="input-group-sm input_wrapper"></span>');
  2604.            } else if (thisObj.parent().hasClass('input-group-lg')){
  2605.                thisObj.wrap('<span class="input-group-lg input_wrapper"></span>');
  2606.            } else {
  2607.                thisObj.wrap('<span class="input_wrapper"></span>');
  2608.            }
  2609.        }
  2610.        if(thisObj.val() != ""){
  2611.            if(thisObj.hasClass('googleSuggest')){
  2612.                thisObj.parent().find('.fill_location').remove();
  2613.            }
  2614.            if (!thisObj.parent().find('.clear_content').length){
  2615.                thisObj.parent().append(`<span class="clear_content ${size}"><i class="fa fa-times-circle" aria-hidden="true"></i></span>`);
  2616.                if (thisObj.hasClass("tt-input")) {
  2617.             thisObj.focus();
  2618.         }
  2619.  
  2620.            }
  2621.        }
  2622.                if (thisObj.hasClass('googleSuggest') && thisObj.val().length == 0) {
  2623.            thisObj.parent().append(`<span class="fill_location ${size}"><i class="fa fa-crosshairs" title="Use Current Location" aria-hidden="true"></i></span>`);
  2624.        }
  2625.        if (thisObj.val() == "" && thisObj.parent().find('.clear_content').length){
  2626.            thisObj.parent().find('.clear_content').remove();
  2627.        }
  2628.            }
  2629.  
  2630.    $(document).on('click', '.drp-buttons .applyBtn', function(){
  2631.        clearContent($(".dateRange input"));
  2632.    });
  2633.  
  2634.    $('.sm-autosuggest input, .googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').keyup(function(){
  2635.        clearContent($(this));
  2636.    });
  2637.  
  2638.    $(document).ready(function(){
  2639.        $('.sm-autosuggest input, input.googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').each(function(){
  2640.            clearContent($(this));
  2641.        })
  2642.    })
  2643.  
  2644.    $(document).on('click', '.clear_content', function(){
  2645.        $(this).parent().find('input').val('');
  2646.        //tt-input its a class for typeahead auto-suggest
  2647.        if ($(this).parent().find('input').hasClass("tt-input")) {
  2648.            $(this).parent().find('input').typeahead('val','');
  2649.        }
  2650.        clearContent($(this).parent().find('input'));
  2651.        $(this).remove();
  2652.    });
  2653.  
  2654. $(window).on('load', function () {
  2655. setTimeout(function() {
  2656. // add missing href attribute to multi-category options in search modules
  2657. $('.bootstrap-select.show-tick .dropdown-menu a').attr('href', '#');
  2658. }, 2000);
  2659.         });
  2660. </script>
  2661.  
  2662.  
  2663.  
  2664. <a href="#" class="scrollup" title="scrollup">
  2665.    <i class="fa fa-caret-up" aria-hidden="true"></i>
  2666. </a>
  2667. <script>
  2668.        $(document).ready(function(){
  2669.        $('.progress .progress-bar').progressbar({
  2670.            display_text: 'fill'
  2671.        });
  2672.        $(window).scroll(function(){
  2673.  
  2674.            if ($(this).scrollTop() > 600) {
  2675.                $('.scrollup').fadeIn();
  2676.  
  2677.            } else {
  2678.                $('.scrollup').fadeOut();
  2679.            }
  2680.        });
  2681.        $('.scrollup').click(function(){
  2682.            $("html, body").animate({
  2683.                scrollTop: 0
  2684.            }, 600);
  2685.            return false;
  2686.        });
  2687.        $('#cropButton').click(function(){
  2688.            var iframe = $("#cropiFrame");
  2689.            iframe.attr("src", iframe.data("src"));
  2690.        });
  2691.    });
  2692. </script>
  2693. <script>
  2694. $(document).ready(function() {
  2695. // Hide the first H2 title of each .table-view.list-inline section if it is the only element inside its parent div, along with a div.clearfix, meaning "Company Details" is empty
  2696. $('.table-view.list-inline').each(function() {
  2697. var $parentDiv = $(this);
  2698. // Check if the parent div contains exactly two children: div.clearfix and h2.tmargin.tpad.xs-center-block.clearfix
  2699. if ($parentDiv.children('div.clearfix').length === 1 && $parentDiv.children('h2.tmargin.tpad.xs-center-block.clearfix').length === 1 && $parentDiv.children().length === 2) {
  2700. $parentDiv.children('h2.tmargin.tpad.xs-center-block.clearfix').attr('style', 'display: none !important;');
  2701. }
  2702. });
  2703. });
  2704. </script><script>
  2705.    //the mapping array to know what address component types are link to which inputs on the contact details form
  2706.    var inputsArray = {
  2707.        "country_code" : {
  2708.            "country" : "short_name"
  2709.        },
  2710.        "state_code" : {
  2711.            "administrative_area_level_1" : "short_name",
  2712.            "administrative_area_level_2" : "short_name"
  2713.        },
  2714.        "state_sn":{
  2715.            "administrative_area_level_1" : "short_name",
  2716.            "administrative_area_level_2" : "short_name"
  2717.        },
  2718.        "country_sn":{
  2719.            "country" : "short_name"
  2720.        },
  2721.        "city" : {
  2722.            "locality" : "long_name",
  2723.            "colloquial_area" : "long_name",
  2724.            "sublocality" : "long_name",
  2725.            "sublocality_level_1" : "long_name",
  2726.            "sublocality_level_2" : "long_name",
  2727.            "sublocality_level_3" : "long_name",
  2728.            "sublocality_level_4" : "long_name",
  2729.            "sublocality_level_5" : "long_name",
  2730.            "neighborhood" : "long_name",
  2731.            "political" : "long_name",
  2732.            "ward" : "long_name",
  2733.            "postal_town" : "long_name"
  2734.        },
  2735.        "zip_code" : {
  2736.            "postal_code" : "short_name",
  2737.            "postal_prefix" : "short_name"
  2738.        },
  2739.        "address1" : {
  2740.            "first_grouping" : {
  2741.                "street_number" : "short_name",
  2742.                "route" : "short_name"
  2743.            },
  2744.            "route" : "short_name",
  2745.            "premise" : "long_name",
  2746.            "subpremise" : "long_name",
  2747.            "intersection" : "long_name",
  2748.            "park" : "long_name",
  2749.            "point_of_interest" : "long_name"
  2750.        },
  2751.        "country_ln" : {
  2752.            "country" : "long_name"
  2753.        },
  2754.        "state_ln" : {
  2755.            "administrative_area_level_1" : "long_name",
  2756.            "administrative_area_level_2" : "long_name"
  2757.        }
  2758.  
  2759.    };
  2760.    var saveLocationParams = {};
  2761.    //make an array with all the read only inputs based on their names
  2762.    var readOnlyInputs = [
  2763.        "country_code",
  2764.        "state_code",
  2765.        "state_ln",
  2766.        "country_ln"
  2767.    ]
  2768.    //function that triggers those read only inputs
  2769.    $.each(readOnlyInputs, function(indexes, names){
  2770.        $('input[name="'+names+'"]').prop("readonly", true);
  2771.    });
  2772.    var mapZoom = 16;
  2773.    var map,inputOptions, autocomplete,geo,uLat,uLng,markerInitLatLng;
  2774.    //important variables
  2775.    async function setJsMap() {
  2776.        let urlWapi = '/wapi/widget?widget_name=Bootstrap%20Theme%20-%20Google%20Maps%20-%20Get%20Center%20Coordinates&request_type=GET&header_type=json&action=getCenterMap';
  2777.        geo = new google.maps.Geocoder(),
  2778.            uLat = "",
  2779.            uLng = "";
  2780.  
  2781. //if uLat and uLong are empty load the map in the center of the world
  2782.        if (isNaN(uLat) || uLat == '' || uLng == '' || isNaN(uLng)) {
  2783.            uLat = 0;
  2784.            uLng = 0;
  2785.            mapZoom = 4;
  2786.            await getCenterMap(urlWapi)
  2787.                .then(response => response.json())
  2788.                .then(data => {
  2789.                    if(data.lat){
  2790.                        uLat = data.lat;
  2791.                    }
  2792.                    if(data.lon){
  2793.                        uLng = data.lon;
  2794.                    }
  2795.                });
  2796.        }
  2797.  
  2798.        markerInitLatLng = new google.maps.LatLng(parseFloat(uLat), parseFloat(uLng)),
  2799.            marker = new google.maps.Marker({
  2800.                draggable: true,
  2801.                position: markerInitLatLng,
  2802.                map: map,
  2803.                title: "Your current location"
  2804.            });
  2805.        initializeMap();
  2806.    }
  2807.    // fetch to obtain the centerOfMap
  2808.    function getCenterMap(urlWapi) {
  2809.        const response =  fetch(urlWapi, {
  2810.            method: 'GET',
  2811.            mode: 'same-origin',
  2812.            cache: 'default',
  2813.            credentials: 'same-origin',
  2814.            headers: {
  2815.                'Content-Type': 'application/json'
  2816.            },
  2817.        });
  2818.        return response // parses JSON response into native JavaScript objects
  2819.    }
  2820.  
  2821.    //function that initializes the Map
  2822.    function initializeMap() {
  2823.                var styles = [{"featureType":"landscape","stylers":[{"hue":"#FFBB00"},{"saturation":43.400000000000006},{"lightness":37.599999999999994},{"gamma":1}]},{"featureType":"road.highway","stylers":[{"hue":"#FFC200"},{"saturation":-61.8},{"lightness":45.599999999999994},{"gamma":1}]},{"featureType":"road.arterial","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":51.19999999999999},{"gamma":1}]},{"featureType":"road.local","stylers":[{"hue":"#FF0300"},{"saturation":-100},{"lightness":52},{"gamma":1}]},{"featureType":"water","stylers":[{"hue":"#0078FF"},{"saturation":-13.200000000000003},{"lightness":2.4000000000000057},{"gamma":1}]},{"featureType":"poi","stylers":[{"hue":"#00FF6A"},{"saturation":-1.0989010989011234},{"lightness":11.200000000000017},{"gamma":1}]}];
  2824.            var styledMap = new google.maps.StyledMapType(styles,{name: "Styled Map"});
  2825.                map = new google.maps.Map(document.getElementById('map-canvas'), {
  2826.            zoom: mapZoom,
  2827.            center: {lat: parseFloat(uLat), lng: parseFloat(uLng)},
  2828.            controlSize: 26,
  2829.            mapTypeControl: false,
  2830.            streetViewControl: false,
  2831.            scrollwheel: false
  2832.        });
  2833.                map.mapTypes.set('map_style', styledMap);
  2834.        map.setMapTypeId('map_style');
  2835.                var input = /** @type {HTMLInputElement} */(
  2836.                document.getElementById('pac-input')),
  2837.            searchInput = $('#pac-input');
  2838.        //the init of the search locations input
  2839.        const mainCountry = '';
  2840.        const autocompleteOptions = {
  2841.            fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  2842.        }
  2843.        const language = "en";
  2844.  
  2845.        if (language) {
  2846.            autocompleteOptions.language = language;
  2847.        }
  2848.        if (mainCountry) {
  2849.            autocompleteOptions.componentRestrictions = {country: mainCountry};
  2850.            autocompleteOptions.region = mainCountry;
  2851.        }
  2852.        const autocomplete = new google.maps.places.Autocomplete(input, autocompleteOptions);
  2853.  
  2854.        //bind the change of the autocomplete to the make search function
  2855.        google.maps.event.addListener(autocomplete, 'place_changed', (e) => {
  2856.            if (searchInput.value != '') {
  2857.                const place = autocomplete.getPlace();
  2858.                makeSearch(place)
  2859.            } else {
  2860.                swal(`Error`, `You can not list an empty location!`, "error");
  2861.            }
  2862.        });
  2863.        //when hitting enter on the location search field prevent the submition of the form
  2864.        searchInput.keydown(function(e) {
  2865.            if (e.keyCode == 13) {
  2866.                e.preventDefault();
  2867.            }
  2868.        });
  2869.        //load marker on the map
  2870.        marker.setMap(map);
  2871.        //trigger the result when the marker has been dragged
  2872.        google.maps.event.addListener(marker, 'dragend', function (event) {
  2873.            const latlng = {
  2874.                lat: parseFloat(marker.position.lat()),
  2875.                lng: parseFloat(marker.position.lng()),
  2876.            };
  2877.            if ($(".fill-change-marker").is(':checked')) {
  2878.                fillDataByGeoCode(latlng, 'latLng');
  2879.            }
  2880.        });//END dragend event listener
  2881.        geo = new google.maps.Geocoder();
  2882.    }//END initialize function
  2883.    function fillDataByGeoCode(info = '', type = 'address') {
  2884.        if(info){
  2885.            type = type.toLowerCase();
  2886.            let geocoderRequest = { address: info };
  2887.            if (type.toLowerCase() === 'latlng') {
  2888.                geocoderRequest = { location: info};
  2889.            }
  2890.            const language = "en";
  2891.            if (language) {
  2892.                geocoderRequest.language = language;
  2893.            }
  2894.            const mainCountry = '';
  2895.            if (mainCountry && type === 'address') {
  2896.                geocoderRequest.componentRestrictions = {country: mainCountry};
  2897.                geocoderRequest.region = mainCountry;
  2898.            }
  2899.            if (mainCountry && type === 'latlng') {
  2900.                geocoderRequest.region = mainCountry;
  2901.            }
  2902.  
  2903.            geo.geocode(geocoderRequest, function (results, status) {
  2904.  
  2905.                if (status == google.maps.GeocoderStatus.OK) {
  2906.  
  2907.                    if (results.length > 1) {
  2908.                        for (let i = 0; i < results.length; i++) {
  2909.                            if (results[i].types[0] === 'natural_feature' ||
  2910.                                results[i].types[0] === 'airport' ||
  2911.                                results[i].types[0] === 'point_of_interest' ||
  2912.                                results[i].types[0] === 'establishment' ||
  2913.                                results[i].types[0] === 'park') {
  2914.                                results.splice(i, 1);
  2915.                            }
  2916.                        }
  2917.                    }
  2918.                    map.panTo(results[0].geometry.location);
  2919.                    map.setZoom(16);
  2920.  
  2921.                    // Update mat and lon
  2922.  
  2923.                    $('input[name="lat"]').val(results[0].geometry.location.lat());
  2924.                    $('input[name="lon"]').val(results[0].geometry.location.lng());
  2925.                    marker.setPosition(results[0].geometry.location);
  2926.  
  2927.                    fillAddressFields(results[0]);
  2928.                } else {
  2929.                    alert(status);
  2930.                }
  2931.            });
  2932.        }
  2933.    }
  2934.  
  2935.    //this is the function that takes a google response and fills the input location fields basing itself in the mapping array
  2936.    function fillAddressFields(results) {
  2937.        saveLocationParams = {};
  2938.        let fullAddress={};
  2939.        var germanyFound = false;
  2940.  
  2941.        $.each(results.address_components,function(findex, fvalue){
  2942.            if(fvalue.types && fvalue.types.includes("country") && fvalue.short_name == "DE"){
  2943.                germanyFound = true;
  2944.            }
  2945.        });
  2946.  
  2947.        if(germanyFound === true){
  2948.            inputsArray.address1.first_grouping = {
  2949.                "route" : "short_name",
  2950.                "street_number" : "short_name"
  2951.            }
  2952.        }else{
  2953.            inputsArray.address1.first_grouping = {
  2954.                "street_number" : "short_name",
  2955.                "route" : "short_name"
  2956.            }
  2957.        }
  2958.        $( "textarea[name*='post_location']" ).val(results.formatted_address);
  2959.        if ($("textarea[name*='post_location']").attr('required')) {
  2960.            var form_name = $("textarea[name*='post_location']").closest("form").attr("id");
  2961.            $('#'+form_name).formValidation('revalidateField', "post_location");
  2962.        }
  2963.  
  2964.        //loop through the mapping array to get all the values from the inputs that need to be filled with the new information
  2965.        $.each(inputsArray, function(findex, fvalue){
  2966.            //clean each field before setting new info
  2967.            $('input[name="'+findex+'"]').val("");
  2968.  
  2969.            //loop that checks the second level of the array
  2970.            $.each(fvalue, function(sindex, svalue){
  2971.                var flag = true;
  2972.  
  2973.                //check if svalue is an object
  2974.                if ($.type(svalue) == "object") {
  2975.                    var currentConcat = "",
  2976.                        //get length of the concat array
  2977.                        concatLength = Object.keys(svalue).length,
  2978.                        concatCounter = 0;
  2979.  
  2980.                    //loop on each element of the svalue elements for the address components concatenation
  2981.                    $.each(svalue, function(conkey, convalue){
  2982.  
  2983.                        //run a loop on the address components for each svalue elements
  2984.                        $.each(results.address_components, function(inskey, insvalue){
  2985.                            //if the element of the svalue match, concat the result to the array currentConcat
  2986.                            if (insvalue.types[0] == conkey) {
  2987.                                currentConcat += insvalue[convalue]+" ";
  2988.                                concatCounter++;
  2989.                            }
  2990.                        });//END each on address components
  2991.                    });//END each on svalue for the address components concatenation
  2992.                    //if all the elements matched then this new location with the concatenation of address components will be the one used
  2993.                    if (concatCounter == concatLength) {
  2994.                        $('input[name="'+findex+'"]').val(currentConcat);
  2995.                        saveLocationParams[findex] = currentConcat;
  2996.                        flag = false;
  2997.                        return false;
  2998.                    }
  2999.  
  3000.                    //if svalue is not an object the system will continue with the default computations
  3001.                } else {
  3002.                    //run a loop on the address components for the svalue being searched
  3003.                    $.each(results.address_components, function(key, value){
  3004.  
  3005.                        //if the svalue element matches it will be saved
  3006.                        if (value.types[0] == sindex) {
  3007.                            $('input[name="'+findex+'"]').val(value[svalue]);
  3008.                            saveLocationParams[findex] = value[svalue];
  3009.                            flag = false;
  3010.                            return false;
  3011.                        }
  3012.                    });//END each on the address components
  3013.                }
  3014.  
  3015.  
  3016.                return flag;
  3017.            });//END each on the second level of the array
  3018.        });//END each on the first level of the array
  3019.    }//END fillAddressFields function
  3020.  
  3021.    //function that triggers when someone selects an option from the autocomplete
  3022.    function makeSearch(results) {
  3023.        if (results && results.address_components) {
  3024.            //the system will move the marker to the center of the new choosen location
  3025.            marker.setPosition(results.geometry.location);
  3026.                        map.panTo(results.geometry.location);
  3027.            map.setZoom(16);
  3028.                        //update lat and lng with the new coordinates of the resulting location
  3029.            // Update Lat
  3030.  
  3031.            $('input[name="lat"]').val(results.geometry.location.lat());
  3032.            // Update Lng
  3033.            $('input[name="lon"]').val(results.geometry.location.lng());
  3034.            fillAddressFields(results);
  3035.        } else {
  3036.            fillDataByGeoCode(results.name,'address');
  3037.        }
  3038.    }//END make search function
  3039.  
  3040.    $('#pac-input').closest('form').submit(function(e){
  3041.        saveLocation(saveLocationParams);
  3042.    });
  3043.    var saveLocation = function(geoResponse) {
  3044.        $.ajax({
  3045.            url: '/api/data/html/get/data_widgets/widget_name',
  3046.            type: 'GET',
  3047.            dataType: 'json',
  3048.            data: {
  3049.                "name": 'website_save_location_system',
  3050.                "response" : geoResponse
  3051.            }
  3052.        })
  3053.            .done(function(data) {
  3054.             //   console.log(data);
  3055.            })
  3056.            .fail(function(data) {
  3057.              //  console.log(data);
  3058.            });
  3059.  
  3060.    }
  3061.  
  3062. </script>    <!-- Google tag (gtag.js) -->
  3063.    <script async src="https://www.googletagmanager.com/gtag/js?id=G-2CX9DC2SNX"></script>
  3064.    <script>
  3065.        window.dataLayer = window.dataLayer || [];
  3066.        function gtag(){dataLayer.push(arguments);}
  3067.        gtag('js', new Date());
  3068.        gtag('config', 'G-2CX9DC2SNX');
  3069.    </script>
  3070.    <script type="text/javascript">
  3071.       var vlat = 0;
  3072.        var vlon = 0;
  3073.        window.addEventListener('DOMContentLoaded', () => {
  3074.            setTimeout(()=>{
  3075.                let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location');
  3076.                if (typeof googleSuggestForm != "undefined") {
  3077.                    for (let i = 0; i < googleSuggestForm.length; i++) {
  3078.                        let closestForm = googleSuggestForm[i].closest('form');
  3079.                        if(typeof closestForm != "undefined" && closestForm != null){
  3080.                            closestForm.addEventListener('focusin', googleMapOnFormClick, false);
  3081.                        }else{
  3082.                            googleSuggestForm[i].addEventListener('input', googleMapOnFormClick, false);
  3083.                        }
  3084.                            googleSuggestForm[i].addEventListener('click', googleMapOnFormClick, false);
  3085.                        }
  3086.                    }
  3087.            },200);
  3088.  
  3089.        });
  3090.  
  3091.        function googleMapOnFormClick() {
  3092.            let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location');
  3093.            let scriptLoaded = new Promise( (resolve,rejection) => {
  3094.                resolve('already loaded');
  3095.            });
  3096.            let mapUri ="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&region=US&callback=initializeG&language=en&key=AIzaSyBLkx_dAArthmEN61eYqMSiBVE5dHJbG-g";
  3097.            if (typeof googleSuggestForm != "undefined") {
  3098.                for (let i = 0; i < googleSuggestForm.length; i++) {
  3099.                    let closestForm = googleSuggestForm[i].closest('form');
  3100.                    if(typeof closestForm != "undefined" && closestForm != null){
  3101.                        closestForm.removeEventListener('focusin', googleMapOnFormClick, false);
  3102.  
  3103.                    }else{
  3104.                        googleSuggestForm[i].removeEventListener('input', googleMapOnFormClick, false);
  3105.                    }
  3106.                }
  3107.            }
  3108.            let loadMapScriptAsync = function (uri) {
  3109.                return new Promise((resolve, reject) => {
  3110.                    let script = document.createElement('script');
  3111.                    script.type = 'text/javascript';
  3112.                    script.src = uri;
  3113.                    script.async = true;
  3114.                    script.onload = function () {
  3115.                        resolve("ok");
  3116.                    };
  3117.                    let head = document.getElementsByTagName('head')[0];
  3118.                    head.appendChild(script);
  3119.                });
  3120.            }
  3121.            if(typeof google == "undefined" || !google.hasOwnProperty('maps')) {
  3122.                scriptLoaded = loadMapScriptAsync(mapUri);
  3123.            } else {
  3124.                let InitG= 0;
  3125.                if (typeof initialize !== 'undefined' && typeof initialize === 'function' && InitG >0) {
  3126.                    initialize();
  3127.                }
  3128.            }
  3129.            return scriptLoaded;
  3130.        }
  3131.  
  3132.  
  3133.        function initializeG() {
  3134.            var geocoder;
  3135.            var cachedSelectedOption = [];
  3136.            let mapExists = document.querySelectorAll('[id^="map"]').length > 0;
  3137.            const functionsToInvoke = {
  3138.                setJsMap: true,
  3139.                setJsMapOverview: mapExists,
  3140.                setJsMapSR: mapExists,
  3141.                setJsMapSidebar: mapExists
  3142.            };
  3143.            if (window['maps_loaded'] !== true) {
  3144.                for (let func in functionsToInvoke) {
  3145.                    if (typeof window[func] === 'function' && functionsToInvoke[func]) {
  3146.                        window['maps_loaded'] = true;
  3147.                        window[func]();
  3148.                    }
  3149.                }
  3150.            }
  3151.            //This piece of code will create an autosuggest for every input with the class "googleSuggest"
  3152.            var counter = 1;
  3153.            var inputsArray = [];
  3154.            $(".googleSuggest").each(function () {
  3155.                //get the id from the input to be the unique identifier for each autocomplete
  3156.                var inputId = $(this).attr("id");
  3157.                var inputElement = $(this);
  3158.                inputsArray[counter] = /** @type {HTMLInputElement} */(
  3159.                    document.getElementById('' + inputId));
  3160.                const mainCountry = '';
  3161.                const inputOptions = {
  3162.                    fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  3163.                    types: ['geocode']
  3164.                }
  3165.                const language = "en";
  3166.  
  3167.                if (language) {
  3168.                    inputOptions.language = language;
  3169.                }
  3170.                if (mainCountry) {
  3171.                    inputOptions.componentRestrictions = {country: mainCountry};
  3172.                    inputOptions.region = mainCountry;
  3173.                }
  3174.  
  3175.                var autocomplete = new google.maps.places.Autocomplete(inputsArray[counter], inputOptions);
  3176.                google.maps.event.addListener(autocomplete, 'place_changed', function () {
  3177.  
  3178.                    cachedSelectedOption = [];
  3179.                    cachedSelectedOption.push(autocomplete.getPlace());
  3180.  
  3181.                    cachedSelectedOption[0]['typed_location'] = inputElement.val();
  3182.                    if(cachedSelectedOption[0]['adr_address']){
  3183.                        let cleanLocation = cachedSelectedOption[0]['adr_address'].replace(/<[^>]*>/g, '');
  3184.                        cachedSelectedOption[0]['typed_location'] = cleanLocation;
  3185.                        inputElement.val(cleanLocation);
  3186.                    }
  3187.                    if (cachedSelectedOption[0]['address_components'] == undefined) {
  3188.                        cachedSelectedOption = [];
  3189.                        var emptyObj = {
  3190.                            'typed_location': ''
  3191.                        };
  3192.                        cachedSelectedOption.push(emptyObj);
  3193.                    }
  3194.                });
  3195.                //the code that prevents the submition when hit enter on a google location autocomplete item
  3196.                inputElement.keydown( function (e) {
  3197.                    if (e.keyCode == 13) {
  3198.                        var pacCounter = 0;
  3199.                        //need to run a loop to check each pac container
  3200.                        $('.pac-container').each(function () {
  3201.  
  3202.                            if ($(this).css("display") != "none") {
  3203.                                pacCounter++;
  3204.                            }
  3205.                        });
  3206.                        if (pacCounter > 0) {
  3207.                            e.preventDefault();
  3208.                        }
  3209.                    }
  3210.                });
  3211.                counter++;
  3212.            });
  3213.  
  3214.            //triggers every time a form with the id website-search is trigered
  3215.            $('.website-search').submit(function (e) {
  3216.                var currentForm = $(this);
  3217.                var locationInput = $(this).find(".googleLocation");
  3218.  
  3219.                //checks if the location input is filled when submitting the search form
  3220.                if (locationInput.val() != "" && typeof locationInput.val() != 'undefined') {
  3221.                    e.preventDefault();
  3222.                    //this variable has the main country of the site
  3223.                    var form = currentForm;
  3224.                    var urlGET = form.serialize();
  3225.                    var formActionUrl = form.attr("action");
  3226.                    var locationValue = locationInput.val();
  3227.  
  3228.  
  3229.                    const mainCountry = '';
  3230.                    const inputOptions = {
  3231.                        address:locationValue
  3232.                    }
  3233.                    const language = "en";
  3234.  
  3235.                    if (language) {
  3236.                        inputOptions.language = language;
  3237.                    }
  3238.                    if (mainCountry) {
  3239.                        inputOptions.componentRestrictions = {country: mainCountry};
  3240.                        inputOptions.region = mainCountry;
  3241.                    }
  3242.  
  3243.                    if (cachedSelectedOption[0] == undefined) {
  3244.                        var emptyForm = {
  3245.                            'typed_location': ''
  3246.                        };
  3247.                        cachedSelectedOption.push(emptyForm);
  3248.                    }
  3249.  
  3250.                    if (locationValue != cachedSelectedOption[0]['typed_location']) {
  3251.                        geocoder = new google.maps.Geocoder();
  3252.                        geocoder.geocode(inputOptions, function (results, status) {
  3253.  
  3254.                            //if the google response of the geocoding was successful it will use that info to build the url for the new search
  3255.                            if (status == google.maps.GeocoderStatus.OK) {
  3256.                                parseInfoToSearch(results, urlGET, formActionUrl);
  3257.  
  3258.                            } else {
  3259.                                var urlPath = formActionUrl;
  3260.                                var redirect = urlPath + "?" + urlGET;
  3261.                                //will redirect the page using the new url that has been constructed
  3262.                                window.location.href = redirect;
  3263.                            }
  3264.                        });
  3265.  
  3266.                    } else {
  3267.                        parseInfoToSearch(cachedSelectedOption, urlGET, formActionUrl);
  3268.                    }
  3269.                }
  3270.            });
  3271.  
  3272.  
  3273.  
  3274.            //check if a map has been loaded
  3275.            if ($('#map-canvas').length > 0) {
  3276.                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>";
  3277.                $('body').append(cssHideLogo);
  3278.            } else {
  3279.                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>";
  3280.                $('body').append(cssHideLogo);
  3281.            }
  3282.  
  3283.            if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") {
  3284.                populateSearchFields();
  3285.            }
  3286.  
  3287.            if($('.googleSuggest').val() == ""){
  3288.                populateSearchFields();
  3289.            }
  3290.            
  3291.            var geocodeVisitorsSetting = '1';
  3292.            var geocodingMethod = 'HTML5';
  3293.  
  3294.            //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
  3295.  
  3296.            var vlon = '';
  3297.            var vlat = '';
  3298.  
  3299.  
  3300.  
  3301.        }
  3302.        function parseInfoToSearch(results, urlGET, formActionUrl) {
  3303.            var parameters = {};
  3304.            var addressComponentsArray = [];
  3305.            if (results.length > 1) {
  3306.                for (let i = 0; i < results.length; i++) {
  3307.                    if (results[i].types[0] === 'natural_feature' ||
  3308.                        results[i].types[0] === 'airport' ||
  3309.                        results[i].types[0] === 'point_of_interest' ||
  3310.                        results[i].types[0] === 'establishment' ||
  3311.                        results[i].types[0] === 'park') {
  3312.                        results.splice(i, 1);
  3313.                    }
  3314.                }
  3315.            }
  3316.            var adComLength = results[0].address_components.length;
  3317.  
  3318.            sessionStorage.setItem("google_result",JSON.stringify(results));
  3319.  
  3320.            //loop that will build the array with the address components and will get the short name of country and administrative area level 1
  3321.            for (var i = 0; i < adComLength; i++) {
  3322.  
  3323.                if (results[0].address_components[i]['types'][0] == "country") {
  3324.                    parameters.country_sn = results[0].address_components[i]['short_name'];
  3325.                }
  3326.                if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
  3327.                    parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name'];
  3328.                }
  3329.                if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
  3330.                    parameters.stateSearchLN = results[0].address_components[i]['long_name'];
  3331.                }
  3332.                if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") {
  3333.                    parameters.county_sn = results[0].address_components[i]['short_name'];
  3334.                }
  3335.                if ((results[0].address_components[i]['types'][0] == "locality" || results[0].address_components[i]['types'][0] == "sublocality_level_1"  || results[0].address_components[i]['types'][0] == "colloquial_area" || results[0].address_components[i]['types'][0] == "postal_town") && $.inArray(results[0].address_components[i]['types'][0], results[0].types) !== -1) {
  3336.                    parameters.city = results[0].address_components[i]['long_name'];
  3337.                }
  3338.                if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") {
  3339.                    parameters.postal_code = results[0].address_components[i]['long_name'];
  3340.                }
  3341.            }
  3342.  
  3343.            parameters.location_type = results[0].types[0];
  3344.  
  3345.            if (parameters.adm_lvl_1_sn != '') {
  3346.                parameters.stateSearch = parameters.adm_lvl_1_sn;
  3347.            }
  3348.            if (parameters.country_sn == "GB") {
  3349.                delete parameters.adm_lvl_1_sn;
  3350.            }
  3351.  
  3352.            //will check if the response had the bounds parameters
  3353.            //if it had it will add the south west and north east parameters to the new url
  3354.            if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) {
  3355.  
  3356.                if (results[0].geometry.hasOwnProperty('bounds')) {
  3357.                    var boundsResponse = results[0].geometry.bounds;
  3358.  
  3359.                } else {
  3360.                    var boundsResponse = results[0].geometry.viewport;
  3361.                }
  3362.                parameters.swlat = boundsResponse.getSouthWest().lat();
  3363.                parameters.nelat = boundsResponse.getNorthEast().lat();
  3364.                parameters.swlng = boundsResponse.getSouthWest().lng();
  3365.                parameters.nelng = boundsResponse.getNorthEast().lng();
  3366.  
  3367.                //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
  3368.            } else {
  3369.                parameters.fsearch = "radius";
  3370.            }
  3371.            var locationCenterResponse = results[0].geometry.location;
  3372.            parameters.lat = locationCenterResponse.lat();
  3373.            parameters.lng = locationCenterResponse.lng();
  3374.            parameters.faddress = results[0].formatted_address;
  3375.            parameters.place_id = results[0].place_id;
  3376.            var formatParameters = $.param(parameters);
  3377.            urlGET = urlGET + "&" + formatParameters;
  3378.            var urlPath = formActionUrl;
  3379.            var redirect = urlPath + "?" + urlGET;
  3380.            //will redirect the page using the new url that has been constructed
  3381.            window.location.href = redirect;
  3382.        }
  3383.        function populateSearchFields() {
  3384.            var prePopulateLocationSetting = '1';
  3385.            var geolocationMethod = 'HTML5';
  3386.  
  3387.            //if set to one will get the lat and lng to do reverse geocoding
  3388.            if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP") && (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0)) {
  3389.                var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon));
  3390.                var visitorGeocoder = new google.maps.Geocoder();
  3391.                var formattedAddress = [];
  3392.                var preFormattedStructure = {
  3393.                    "locality": "long_name",
  3394.                    "administrative_area_level_2": "long_name",
  3395.                    "administrative_area_level_1": "long_name",
  3396.                    "country": "long_name"
  3397.                };
  3398.                visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) {
  3399.                    //if the google response of the geocoding was successful it will use that info to build the url for the new search
  3400.                    if (status == google.maps.GeocoderStatus.OK) {
  3401.                        $.each(preFormattedStructure, function (findex, fvalue) {
  3402.                            $.each(results[0].address_components, function (rindex, rvalue) {
  3403.                                if (rvalue.types[0] == findex) {
  3404.                                    formattedAddress.push(rvalue.long_name);
  3405.                                }
  3406.                            });
  3407.                        });
  3408.                        $('.googleSuggest').each(function () {
  3409.                            if ($(this).val() == '') {
  3410.                                if (formattedAddress.length > 0) {
  3411.                                    $(this).val(formattedAddress.join(', '));
  3412.                                    clearContent($(this));
  3413.                                }
  3414.                            }
  3415.                        });
  3416.                    } else {
  3417.                        $('.googleSuggest').each(function () {
  3418.                            $(this).val('');
  3419.                        });
  3420.                    }
  3421.                });
  3422.            }
  3423.        }
  3424.        function showError(error) {
  3425.            switch (error.code) {
  3426.                case error.PERMISSION_DENIED:
  3427.                    $('.fill_location.clicked').popover({
  3428.                        content: 'Your Local browser settings have prevented location targeting',
  3429.                        container: 'body'
  3430.                    });
  3431.                    $('.fill_location.clicked').popover('toggle');
  3432.                    setTimeout(function () {
  3433.                        $('.fill_location.clicked').popover('hide');
  3434.                        $('.fill_location.clicked').removeClass('clicked');
  3435.                    }, 2000);
  3436.                    break;
  3437.                case error.POSITION_UNAVAILABLE:
  3438.                    console.log("Location information is unavailable.");
  3439.                    break;
  3440.                case error.TIMEOUT:
  3441.                    console.log("The request to get user location timed out.");
  3442.                    break;
  3443.                case error.UNKNOWN_ERROR:
  3444.                    console.log("An unknown error occurred.");
  3445.                    break;
  3446.            }
  3447.        }
  3448.        if (navigator.geolocation) {
  3449.            if ($(".googleSuggest")[0]) {
  3450.                $(document).on('click', '.fill_location', function getCXPosition() {
  3451.                    $(this).addClass('clicked');
  3452.                    var startPos;
  3453.                    navigator.geolocation.getCurrentPosition(function (position) {
  3454.                        startPos = position;
  3455.                        vlat = startPos.coords.latitude;
  3456.                        vlon = startPos.coords.longitude;
  3457.                        $.get("/api/data/html/get/data_widgets/widget_name", {
  3458.                            "vlat": vlat,
  3459.                            "vlon": vlon,
  3460.                            "name": "Website - Save Coordinates Session"
  3461.                        }).done(function (data) {
  3462.                        });
  3463.                        populateSearchFields();
  3464.                    }, showError);
  3465.                })
  3466.            }
  3467.        } else {
  3468.            console.log('Geolocation is not supported for this Browser/OS version yet.');
  3469.        }
  3470.        function getUrlParameter(sParam) {
  3471.            var sPageURL = window.location.search.substring(1);
  3472.            var sURLVariables = sPageURL.split('&');
  3473.  
  3474.            for (var i = 0; i < sURLVariables.length; i++) {
  3475.                var sParameterName = sURLVariables[i].split('=');
  3476.  
  3477.                if (sParameterName[0] == sParam) {
  3478.                    return decodeURIComponent(sParameterName[1]);
  3479.                }
  3480.            }
  3481.        }
  3482.    </script>
  3483.    <!-- Google Code for Remarketing Tag -->
  3484. <!--------------------------------------------------
  3485. Remarketing tags may not be associated with personally identifiable information or placed on pages related to sensitive categories. See more information and instructions on how to setup the tag on: http://google.com/ads/remarketingsetup
  3486. --------------------------------------------------->
  3487. <script type="text/javascript">
  3488. /* <![CDATA[ */
  3489. var google_conversion_id = 866703029;
  3490. var google_custom_params = window.google_tag_params;
  3491. var google_remarketing_only = true;
  3492. /* ]]> */
  3493. </script>
  3494. <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
  3495. </script>
  3496. <noscript>
  3497. <div style="display:inline;">
  3498. <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/866703029/?guid=ON&amp;script=0"/>
  3499. </div>
  3500. </noscript><script>
  3501. $(document).ready(function(){
  3502. $('.navbar-header .navbar-toggle.main_menu').click(function(){
  3503. $('.mobile-main-menu').toggleClass('opened');
  3504. });
  3505. $('.mobile-main-menu .sidebar-nav').find('li').each(function(){
  3506. $(this).addClass('hasChildren');
  3507. if ($(this).children('ul').length > 0){
  3508. $(this).prepend('<i class="fa fa-plus" aria-hidden="true"></i>');
  3509. $(this).find('a').after('<div class="clearfix"></div>');
  3510. $(this).find('span').after('<div class="clearfix"></div>');
  3511. }
  3512. $(this).append('<div class="clearfix"></div>');
  3513. });
  3514.  
  3515. $('.mobile-main-menu .sidebar-nav li i').click(function(){
  3516. if ($(this).parent().children('ul').length > 0){
  3517. $(this).parent().toggleClass('sub_open');
  3518. }
  3519. if ($(this).hasClass('fa-plus')){
  3520. $(this).switchClass('fa-plus','fa-minus');
  3521. } else {
  3522. $(this).switchClass('fa-minus','fa-plus');
  3523. }
  3524. });
  3525. })
  3526.  
  3527. if ($(window).width() > 740 && $(window).width() < 1100) {
  3528.  
  3529. $(document).ready(function(){
  3530. $('.tablet-menu .tablet-menu-ul').find('li').each(function(){
  3531.  
  3532. if ($(this).children('ul').length > 0){
  3533. $(this).prepend('<i class="fa fa-plus tablet-fa" aria-hidden="true"></i>');
  3534. $(this).find('a').after('<div class="clearfix"></div>');
  3535. var this_link = $(this).children('a').text().replace(/[^\x00-\x7F]/g, "");;
  3536. $(this).children('a').html(this_link);
  3537. $(this).find('span').after('<div class="clearfix"></div>');
  3538. }
  3539. $(this).append('<div class="clearfix"></div>');
  3540. });
  3541.  
  3542. $('.tablet-menu .tablet-menu-ul li i').click(function(){
  3543.  
  3544. if ($(this).parent().children('ul').length > 0){
  3545. $(this).parent().toggleClass('sub_open');
  3546.  
  3547. if ($(this).siblings( "ul" ).hasClass('tablet-block')){
  3548. $(this).siblings( "ul" ).switchClass('tablet-block', 'tablet-none');
  3549. } else {
  3550. $(this).siblings( "ul" ).addClass( "tablet-block" );
  3551.  
  3552. if ($(this).siblings( "ul" ).hasClass('tablet-none')){
  3553. $(this).siblings( "ul" ).removeClass('tablet-none')
  3554. }
  3555.  
  3556. if ($(this).parent().siblings().children('ul').hasClass('tablet-block')) {
  3557. $(this).parent().siblings().children('ul').switchClass('tablet-block', 'tablet-none');
  3558. $(this).parent().siblings().children('i').switchClass('fa-minus','fa-plus');
  3559. }
  3560.  
  3561. if ($(this).parent().siblings().children('ul').children().children('ul').hasClass('tablet-block')) {
  3562. $(this).parent().siblings().children('ul').children().children('ul').switchClass('tablet-block', 'tablet-none');
  3563. $(this).parent().siblings().children('ul').children().children('i').switchClass('fa-minus','fa-plus');
  3564. }
  3565.  
  3566. if ($(this).siblings('ul').children('ul').children().children('ul').hasClass('tablet-block')) {
  3567. $(this).siblings('ul').children('ul').children().children('ul').switchClass('tablet-block', 'tablet-none');
  3568. $(this).siblings('ul').children('ul').children().children('i').switchClass('fa-minus','fa-plus');
  3569. }
  3570.  
  3571. }
  3572.  
  3573. }
  3574.  
  3575. if ($(this).hasClass('fa-plus')){
  3576. $(this).switchClass('fa-plus','fa-minus');
  3577. } else {
  3578. $(this).switchClass('fa-minus','fa-plus');
  3579. }
  3580. });
  3581. })
  3582. }
  3583. // Append unique ID attribute for mobile main menu links
  3584. $('.mobile-main-menu a,.mobile-main-menu span').attr("id", function() { return $(this).attr("id") + "-mobile" });
  3585. </script><script>
  3586. $(".member-profile-tabs ul li a").click(function() {
  3587.    tabsTop = $(".member-profile-tabs").offset().top;
  3588.    positionTop = $(window).scrollTop();
  3589.    if(tabsTop < positionTop){
  3590.        $('html, body').animate({
  3591.        scrollTop: $(".member-profile-tabs").offset().top
  3592.    }, 300);
  3593.    }
  3594. });
  3595. </script><script>
  3596.    // this will allow middle click
  3597.    $(document).on("mousedown", function (e1) {
  3598.        if (e1.which === 2) {
  3599.            $(document).one("mouseup", function (e2) {
  3600.                if (e1.target === e2.target) {
  3601.                    var e3 = $.event.fix(e2);
  3602.                    e3.type = "middleclick";
  3603.                    $(e2.target).trigger(e3);
  3604.                }
  3605.            });
  3606.        }
  3607.    });
  3608.  
  3609.    //if to only record the profile view stats when the page type is equals to profile
  3610.    
  3611.    // All the next scripts are related to the profile click statistics
  3612.    // Script for the opening of the profile
  3613.    $.ajax({
  3614.        url: "/api/stats/json/post/users_clicks/insert",
  3615.        dataType: "json",
  3616.        type: "POST",
  3617.        data: {
  3618.            user_id: "386682",
  3619.            click_name: 'Profile Views',
  3620.            click_type: 'Profile',
  3621.            click_from: window.location.href
  3622.        },
  3623.        success: function (data) {
  3624.        }
  3625.    });
  3626.    // END of "Script for the opening of the profile"
  3627.        // Script for the social media of the profile
  3628.    $(".weblink").on('click middleclick', function() {
  3629.        var element = $(this);
  3630.        var typeofaction = $(this).attr("title");
  3631.        $.ajax({
  3632.            url: "/api/stats/json/post/users_clicks/insert",
  3633.            dataType: "json",
  3634.            type: "POST",
  3635.            data: {
  3636.                user_id: "386682",
  3637.                click_name: typeofaction,
  3638.                click_type: typeofaction,
  3639.                click_url: $(this).attr("href"),
  3640.                click_from: window.location.href
  3641.            },
  3642.            success: function (data) {
  3643.            }
  3644.        });
  3645.    });
  3646.    // Script for the show phone number button
  3647.    $(".view_phone_number, .view_phone_number_header, .myphoneHide, .myphoneHideDetail").click(function(){
  3648.        var element = $(this);
  3649.        var typeofaction = "Phone Number";
  3650.        $.ajax({
  3651.            url: "/api/stats/json/post/users_clicks/insert",
  3652.            dataType: "json",
  3653.            type: "POST",
  3654.            data: {
  3655.                user_id: "386682",
  3656.                click_name: "Phone Number",
  3657.                click_type: 'Phone Number',
  3658.                click_from: window.location.href
  3659.            },
  3660.            success: function (data) {
  3661.            }
  3662.        });
  3663.    });
  3664.    // END of "Script for the phone number of the profile"
  3665.    // END of "Script for the social media of the profile"
  3666. </script><script>
  3667.  
  3668. $('.view_phone_number_header').click(function(event){
  3669. event.preventDefault();
  3670. $(this).hide();
  3671. $('.view_phone_number').hide();
  3672. $('.phone_number').css("display","block");
  3673. $('.phone_number_header').css("display","block");
  3674. })
  3675.  
  3676. </script><script defer>
  3677.    var favoriteMode = "";
  3678.    var apiEngine = "";
  3679.    var api = 0;  // Set API to use. Default is 0
  3680.    var activeMembershipLevelEnable = "";
  3681.    var favoriteUserClickId = "";
  3682.    var bookmarkLabel = `LIKE`;
  3683.    var bookmarkCountLabel = `LIKES`;
  3684.  
  3685.    function favoriteOn(lookForAll = false) {
  3686.        $('.col-md-6.col-md-offset-3').addClass("col-md-12").removeClass('col-md-6 col-md-offset-3');
  3687.        favoriteMode = 'search';
  3688.        if ($('.sidebarenabled').data('sidebar')) {
  3689.            favoriteMode = 'detail';
  3690.            if (!$('.sidebarenabled').siblings('.postItem').data('userid')) {
  3691.                $('.sidebarenabled').siblings('.listingData').remove();
  3692.            }
  3693.        }
  3694.        favoriteUserClickId = $('.favorite').data('activeuser');
  3695.        activeMembershipLevelEnable = $('.favorite').data('activefeatureenable');
  3696.  
  3697. // Sets the API URL to use based on API value
  3698.        if (api == 0) {
  3699.            apiEngine = '/api/data/html/get/data_widgets/widget_name?name=Bootstrap%20Theme%20-%20Function%20-%20Add%20to%20Favorites%20Button';
  3700.        } else if (api == 1) {
  3701.            apiEngine = '/api/data/html/get/data_widgets/widget_name?name=Bootstrap Theme - Function - Add to Favorites Button';
  3702.        } else {
  3703.            apiEngine = '/api/widget/json/get/Bootstrap Theme - Function - Add to Favorites Button';
  3704.        }
  3705.        if (favoriteUserClickId) {
  3706.            var favoriteCounter = $('.favorite').siblings('.postItem');
  3707.            if ($('.sidebarenabled').data('sidebar') || lookForAll) {
  3708.  
  3709.                if (favoriteCounter.length == 1) {
  3710.                    var favoriteMode = 'detail';
  3711.                    var favoriteDataType = $('.sidebarenabled').siblings('.postItem').data('datatype');
  3712.                    var favoriteDataId = $('.sidebarenabled').siblings('.postItem').data('dataid');
  3713.                    var favoritePostId = $('.sidebarenabled').siblings('.postItem').data('postid');
  3714.                    var favoriteUserId = [];
  3715.                    $('.sidebarenabled').siblings('.postItem').each(function () {
  3716.                        favoriteUserId.push($(this).data('userid'));
  3717.                    });
  3718.                } else {
  3719.                    var favoriteMode = 'multiSidebar';
  3720.                    var favoriteDataType = [];
  3721.                    var favoriteDataId = [];
  3722.                    var favoritePostId = [];
  3723.                    var favoriteUserId = [];
  3724.                    $('.postItem').each(function () {
  3725.                        favoriteDataType.push($(this).data('datatype'));
  3726.                        favoriteDataId.push($(this).data('dataid'));
  3727.                        favoritePostId.push($(this).data('postid'));
  3728.                        favoriteUserId.push($(this).data('userid'));
  3729.                    });
  3730.                }
  3731.            } else {
  3732.                var favoriteMode = 'search';
  3733.                var favoriteDataType = $('.favorite').siblings('.postItem').data('datatype');
  3734.                var favoriteDataId = $('.favorite').siblings('.postItem').data('dataid');
  3735.                if (lookForAll) {
  3736.                    favoriteDataType = (favoriteDataType == 10) ? 11 : 10;
  3737.                }
  3738.                if (favoriteDataType != 10) {
  3739.                    var favoritePostId = [];
  3740.                    $('.postItem').each(function () {
  3741.                        favoritePostId.push($(this).data('postid'));
  3742.                    });
  3743.                    var favoriteUserId = $('.favorite').siblings('.postItem').data('userid');
  3744.                } else {
  3745.                    var favoriteUserId = [];
  3746.                    $('.postItem').each(function () {
  3747.                        favoriteUserId.push($(this).data('userid'));
  3748.                    });
  3749.                    var favoritePostId = $('.favorite').siblings('.postItem').data('postid');
  3750.                }
  3751.            }
  3752.            favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, 'check');
  3753.        }
  3754.    }
  3755.  
  3756.    $(document).on('click', '.favorite', function (e) {
  3757.        var favoriteUserClickId = $('.favorite').data('activeuser');
  3758.        if (favoriteUserClickId && activeMembershipLevelEnable) {
  3759.            var thisButton = $(this);
  3760.            $(thisButton).attr("disabled", true);
  3761.                        var favoriteUserClickId = $(this).data('activeuser');
  3762.            var favoriteUserId = $(this).siblings('.postItem').data('userid');
  3763.            var favoriteDataType = $(this).siblings('.postItem').data('datatype');
  3764.            var favoriteDataId = $(this).siblings('.postItem').data('dataid');
  3765.            var favoritePostId = $(this).siblings('.postItem').data('postid');
  3766.            $(this).toggleClass('favoriteActive');
  3767.            if ($(this).data('state') == 0) {
  3768.                favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, 'add');
  3769.                $(this).data('state', 1);
  3770.            } else {
  3771.                favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, 'delete');
  3772.                $(this).data('state', 0);
  3773.            }
  3774.            setTimeout(function () {
  3775.                $(thisButton).attr("disabled", false);
  3776.            }, 500);
  3777.        }
  3778.    });
  3779.  
  3780.    function toogleBookmark(node) {
  3781.        var postId = $(node).data('postid');
  3782.        var count = $(node).data('count');
  3783.        var numberNode = $(node).find("#number-" + postId);
  3784.        var textLabelNode = $(node).find("#bookmark-content");
  3785.  
  3786.        if ($(node).hasClass('favoriteActive') !== false) {
  3787.            count--;
  3788.        } else {
  3789.            count++;
  3790.        }
  3791.  
  3792.        $(node).data("count", count);
  3793.  
  3794.        if (count > 0) {
  3795.            $(textLabelNode).html(bookmarkCountLabel);
  3796.            $(numberNode).html(' (' + count + ')');
  3797.        } else {
  3798.            $(textLabelNode).html(bookmarkLabel);
  3799.            $(numberNode).html('');
  3800.        }
  3801.    }
  3802.  
  3803.    // Function that Adds, Deletes and Selects Favorites from Backend
  3804.    function favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, favoriteAction) {
  3805.        $.post(apiEngine, {
  3806.            favoriteUserClickId: favoriteUserClickId,
  3807.            favoriteUserId: favoriteUserId,
  3808.            favoriteDataType: favoriteDataType,
  3809.            favoriteDataId: favoriteDataId,
  3810.            favoritePostId: favoritePostId,
  3811.            favoriteMode: favoriteMode,
  3812.            favoriteAction: favoriteAction
  3813.        }, function (data) {
  3814.            if (api == 0) {
  3815.                var splitData = data.split('<split>');
  3816.                data = splitData[1];
  3817.            }
  3818.            if (data !== null && data !== 'null') {
  3819.                // Checks if the action 'check' was send
  3820.                if (favoriteAction == 'check' && favoriteMode != 'multiSidebar') {
  3821.                    // Checks if we are in a Detail Page
  3822.                    if (!$('.sidebarenabled').data('sidebar')) {
  3823.                        // Checks if we are viewing a Member
  3824.                        if (favoriteDataType != 10) {
  3825.                            $.each(JSON.parse(data), function (index, value) {
  3826.                                $('.postItem[data-postid="' + value + '"]').siblings('.favorite').addClass('favoriteActive');
  3827.                                $('.postItem[data-postid="' + value + '"]').siblings('.favorite').data('state', 1);
  3828.                            });
  3829.                        } else {
  3830.                            $.each(JSON.parse(data), function (index, value) {
  3831.                                $('.member_results .postItem[data-userid="' + value + '"]').siblings('.favorite').addClass('favoriteActive');
  3832.                                $('.member_results .postItem[data-userid="' + value + '"]').siblings('.favorite').data('state', 1);
  3833.                            });
  3834.                        }
  3835.                    } else {
  3836.                        // Checks if we are viewing a Member
  3837.                        if (favoriteDataType != 10) {
  3838.                            $.each(JSON.parse(data), function (index, value) {
  3839.                                $('.sidebarenabled').siblings('.favorite').addClass('favoriteActive');
  3840.                                $('.sidebarenabled').siblings('.favorite').data('state', 1);
  3841.                            });
  3842.                        } else {
  3843.                            $.each(JSON.parse(data), function (index, value) {
  3844.                                $('.sidebarenabled').siblings('.favorite').addClass('favoriteActive');
  3845.                                $('.sidebarenabled').siblings('.favorite').data('state', 1);
  3846.                            });
  3847.                        }
  3848.                    }
  3849.                } else if (favoriteAction == 'check' && favoriteMode == 'multiSidebar') {
  3850.                    let totalDataCount = JSON.parse(data);
  3851.                    if (totalDataCount) {
  3852.                        totalDataCount = totalDataCount.length;
  3853.                        for (let i = 0; i < totalDataCount; i++) {
  3854.                            if (JSON.parse(data)[i].dataQuery != 0) {
  3855.                                $('.postItem[data-postid="' + JSON.parse(data)[i].postQuery + '"][data-dataid="' + JSON.parse(data)[i].dataQuery + '"]').siblings('.favorite').addClass('favoriteActive');
  3856.                                $('.postItem[data-postid="' + JSON.parse(data)[i].postQuery + '"][data-dataid="' + JSON.parse(data)[i].dataQuery + '"]').siblings('.favorite').data('state', 1);
  3857.                            } else {
  3858.                                $('.postItem[data-userid="' + JSON.parse(data)[i].postQuery + '"]').siblings('.favorite').addClass('favoriteActive');
  3859.                                $('.postItem[data-userid="' + JSON.parse(data)[i].postQuery + '"]').siblings('.favorite').data('state', 1);
  3860.                            }
  3861.                        }
  3862.                    }
  3863.                }
  3864.            }
  3865.        });
  3866.    }
  3867.  
  3868.    // Code that runs once to show all favored posts by a registered user
  3869.  
  3870.    favoriteOn();
  3871.    favoriteOn(true);
  3872. </script><script type="text/javascript">
  3873.    let clickMoreButtons = document.getElementsByClassName('clickToLoadMoreBtn');
  3874.    let autoLoadResults = true;
  3875.    let loadMore = function () {
  3876.        let featureDCId = this.dataset.dc;
  3877.        let currentPage = this.dataset.page;
  3878.        let currentUser = this.dataset.owner;
  3879.        let replyToReviewProfilePage = this.dataset.replytoreview;
  3880.        let levId = this.dataset.lvl;
  3881.        let dataType = this.dataset.type;
  3882.        let loadReviews = null;
  3883.        if (dataType == 13) {
  3884.            loadReviews = document.querySelector('.loadReviews + .clearfix + .loadContainer');
  3885.        }
  3886.  
  3887.        this.dataset.page = parseInt(currentPage) + 1;
  3888.        this.classList.add('loadingMore');
  3889.        let currentInnerHtml = this.innerHTML;
  3890.        this.innerHTML = '<i class="fa fa-spinner fa-spin"></i> Loading...';
  3891.        let currentBTN = this;
  3892.  
  3893.        let url = `/wapi/widget`;
  3894.  
  3895.        let formData = new FormData();
  3896.        formData.append('dc_id', featureDCId);
  3897.        formData.append('currentPage', currentPage);
  3898.        formData.append('currentUser', currentUser);
  3899.        formData.append('header_type', 'html');
  3900.        formData.append('replyToReviewProfilePage', replyToReviewProfilePage);
  3901.        formData.append('levId', levId);
  3902.        formData.append('request_type', 'POST');
  3903.        formData.append('widget_name', 'Bootstrap - Search - Lazy Loader tabs');
  3904.  
  3905.        let myInit = {
  3906.            method: 'POST',
  3907. credentials: 'same-origin',
  3908.            body: formData
  3909.        };
  3910.        fetch(url, myInit)
  3911.            .then(function (response) {
  3912.                return response.text();
  3913.            }).then(function (html) {
  3914.            let parser = new DOMParser();
  3915.            let result = parser.parseFromString(html, 'text/html');
  3916.            let newResults = result.getElementById('grabHTML__js').innerHTML;
  3917.            let amountOfClicks = result.getElementById('grabHTML__js').dataset.pages;
  3918.  
  3919.            if (dataType == 13 && typeof loadReviews != 'undefined' && loadReviews != null) {
  3920.                $('.loadReviews').before(newResults); //reviews
  3921.            } else {
  3922.                $(currentBTN).parent().before(newResults);
  3923.            }
  3924.            setAmountPages(currentBTN, amountOfClicks);
  3925.            if (typeof favoriteOn == 'function') {
  3926.                favoriteOn();
  3927.            }
  3928.            if (typeof runRoyalSlider == 'function') {
  3929.                runRoyalSlider();
  3930.            }
  3931.            currentBTN.innerHTML = currentInnerHtml;
  3932.            currentBTN.classList.remove('loadingMore');
  3933.            autoLoadResults = true;
  3934.        });
  3935.    }
  3936.  
  3937.    // adding listener
  3938.    Array.from(clickMoreButtons).forEach(function (clickMoreBtnElement) {
  3939.        clickMoreBtnElement.addEventListener('click', loadMore);
  3940.  
  3941.    });
  3942.    
  3943.    function removeListenToScroll(){
  3944.        window.removeEventListener('scroll', listenToScroll);
  3945.    }
  3946.    function listenToScroll() {
  3947.        if (isElementInViewport() && autoLoadResults) {
  3948.            let btnClickMore = document.querySelector('.active .clickToLoadMoreBtn');
  3949.            if (typeof btnClickMore != 'undefined' && btnClickMore != null){
  3950.                btnClickMore.click();
  3951.            }
  3952.            autoLoadResults = false;
  3953.        }
  3954.    }
  3955.  
  3956.    function isElementInViewport() {
  3957.        let btnClickMore = document.querySelector('.active .clickToLoadMoreBtn')
  3958.        if (typeof btnClickMore != 'undefined' && btnClickMore != null) {
  3959.            const rect = btnClickMore.getBoundingClientRect();
  3960.            return (
  3961.                rect.top >= 0 &&
  3962.                rect.left >= 0 &&
  3963.                rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
  3964.                rect.right <= (window.innerWidth || document.documentElement.clientWidth)
  3965.            );
  3966.        }
  3967.    }
  3968.    function setAmountPages(btn, amount) {
  3969.        if (!("pages" in btn.dataset)) {
  3970.            btn.dataset.pages = parseInt(amount) - 1; // we do -1 because the just clicked
  3971.        } else {
  3972.            btn.dataset.pages = parseInt(btn.dataset.pages) - 1;
  3973.        }
  3974.        if (btn.dataset.pages <= 0) {
  3975.            btn.remove();
  3976.        }
  3977.    }
  3978.  
  3979. </script><script>
  3980.  function validate() {
  3981.    var reason='';
  3982.    form=document.sidebarform;
  3983.  
  3984.    if (form.answerq.value!=8) {
  3985.      reason=reason+'- Answer the security question';
  3986.    }
  3987.  
  3988.    if (reason!='') { reason='Please correct the following errors:\n'+reason; alert(reason); return false; }
  3989.  
  3990.  }
  3991. </script> <script>
  3992.    $('#captchaContainer').removeClass('form-control ');
  3993.    $(".website_url_field").keyup(function(){
  3994.        var fieldName = $(this).attr('name');
  3995.        $(this).val($(this).val().replace(/\s+/g, ''));
  3996.        $('#myform').formValidation('revalidateField', fieldName);
  3997.    });
  3998. </script>
  3999. <script>
  4000.    async function setJsMap() {
  4001.        let urlWapi = '/wapi/widget?widget_name=Bootstrap%20Theme%20-%20Google%20Maps%20-%20Get%20Center%20Coordinates&request_type=GET&header_type=json&action=getCenterMap';
  4002.        var localizedMainCoutry = '';
  4003.        if ($('#location_status').length == 0) {
  4004.            var currentLocationState = "no_location";
  4005.        } else {
  4006.            var currentLocationState = $('#location_status').data('state');
  4007.        }
  4008.        if (currentLocationState != "no_location") {
  4009.            //the maping array to know what address component types are link to which inputs on the contact details form
  4010.            var inputsArray = {
  4011.                "country_sn": {
  4012.                    "country": "short_name"
  4013.                },
  4014.                "adm_lvl_1_sn": {
  4015.                    "administrative_area_level_1": "short_name"
  4016.                },
  4017.                "county_sn": {
  4018.                    "administrative_area_level_2": "short_name"
  4019.                },
  4020.                "city":{
  4021.                    "locality": "short_name"
  4022.                }
  4023.            };
  4024.            var geoSC = new google.maps.Geocoder();
  4025.            var markerSC = '';
  4026.            var mapSC = '';
  4027.  
  4028.            var vlonLead = '';
  4029.            var vlatLead = '';
  4030.            var userLat = '0.00000000';
  4031.            var userLon = '0.00000000';
  4032.            var geocodeVisitorsSetting = '1';
  4033.            var geocodingMethod = 'HTML5';
  4034.  
  4035.            if (vlatLead == "" && userLat != "") {
  4036.                vlatLead = userLat;
  4037.            }
  4038.            if (vlonLead == "" && userLon != "") {
  4039.                vlonLead = userLon;
  4040.            }
  4041.            if (vlatLead == "" || vlonLead == "") {
  4042.  
  4043.                await getCenterMap(urlWapi)
  4044.                    .then(response => response.json())
  4045.                    .then(data => {
  4046.                        if (data.lat) {
  4047.                            vlatLead = userLat = uLat = data.lat;
  4048.                        }
  4049.                        if (data.lon) {
  4050.                            vlonLead = userLon = uLng = data.lon;
  4051.                        }
  4052.                    });
  4053.  
  4054.  
  4055.            }
  4056.            if (currentLocationState == 'default' || currentLocationState == 'only_map') {
  4057.                //important variables
  4058.  
  4059.                //function that initializes the Map
  4060.                const mapDiv = document.getElementById("map-canvas-contact-sidebar");
  4061.  
  4062.                function initializeMap() {
  4063.  
  4064.                    if (initializeMap.alreadyUsed) {
  4065.                        return false;
  4066.                    }
  4067.                    initializeMap.alreadyUsed = true;
  4068.                    var iconImage = '';
  4069.                    var mapOptions = {
  4070.                        controlSize: 26,
  4071.                        mapTypeControl: false,
  4072.                        streetViewControl: false,
  4073.                        scrollwheel: false
  4074.                    }
  4075.                    mapSC = new google.maps.Map(mapDiv, mapOptions);
  4076.  
  4077.                    //if uLat and uLong are empty load the map in the center of the world
  4078.                    if (userLat == "" || userLon == "") {
  4079.                        userLat = 0;
  4080.                        userLon = 0;
  4081.                    }
  4082.                    var markerInitLatLng2 = new google.maps.LatLng(parseFloat(userLat), parseFloat(userLon));
  4083.  
  4084.                    markerSC = new google.maps.Marker({
  4085.                        draggable: true,
  4086.                        position: markerInitLatLng2,
  4087.                        map: mapSC,
  4088.                        title: "Your current location",
  4089.                        icon: iconImage
  4090.                    });
  4091.                    //if no location saved zoom will be 2
  4092.                    var mapZoom = 15;
  4093.                    if (userLat == "" || userLon == "") {
  4094.                        mapZoom = 4;
  4095.                    }
  4096.  
  4097.                    if (currentLocationState == 'default') {
  4098.                        var input = /** @type {HTMLInputElement} */(
  4099.                            document.getElementById('pac-input'))
  4100.                        var inputOptions = {
  4101.                            fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  4102.                            types: ['(regions)']
  4103.                        }
  4104.                        const language = "en";
  4105.                        if (language) {
  4106.                            inputOptions.language = language;
  4107.                        }
  4108.                        if (localizedMainCoutry) {
  4109.                            inputOptions.componentRestrictions = {country: localizedMainCoutry};
  4110.                            inputOptions.region = localizedMainCoutry;
  4111.                        }
  4112.                        var autocomplete = new google.maps.places.Autocomplete(input, inputOptions);
  4113.                        autocomplete.bindTo('bounds', mapSC);
  4114.  
  4115.                        //bind the change of the autocomplete to the make search function
  4116.                        //google.maps.event.addListener(autocomplete, 'place_changed', makeSearch);
  4117.                        google.maps.event.addListener(autocomplete, 'place_changed', (e) => {
  4118.                            if (input.value != '') {
  4119.                                const place = autocomplete.getPlace();
  4120.                                makeSearch(place)
  4121.                            } else {
  4122.                                swal(`Error`, `You can not list an empty location!`, "error");
  4123.                            }
  4124.                        });
  4125.                        //when hitting enter on the location search field prevent the submition of the form
  4126.  
  4127.                        input.addEventListener("keydown", (e) => {
  4128.                            if (e.key === "Enter") {
  4129.                                e.preventDefault();
  4130.                            }
  4131.                        });
  4132.                    }
  4133.                    mapSC.setCenter(new google.maps.LatLng(vlatLead, vlonLead));
  4134.                    mapSC.setZoom(mapZoom);
  4135.                    //load marker on the map
  4136.                    markerSC.setMap(mapSC);
  4137.  
  4138.  
  4139.                    // check for Geolocation support
  4140.                    if (geocodeVisitorsSetting == 1 && geocodingMethod == "HTML5" && vlatLead != userLat && vlonLead != userLon & uLat != 0 && uLng != 0) {
  4141.                        let markerMemberInitLatLng = new google.maps.LatLng(parseFloat(uLat), parseFloat(uLng))
  4142.                        markerSC.setPosition(markerMemberInitLatLng);
  4143.                        mapSC.setCenter(markerMemberInitLatLng);
  4144.                       // makeSearch(vlatLead, vlonLead);
  4145.                        let latlng = {
  4146.                            lat: parseFloat(markerSC.position.lat()),
  4147.                            lng: parseFloat(markerSC.position.lng()),
  4148.                        };
  4149.                        fillDataByGeoCode(latlng, 'latLng');
  4150.                    } else {
  4151.                        markerSC.setPosition(new google.maps.LatLng(vlatLead, vlonLead));
  4152.                    }
  4153.  
  4154.                    //capture the draggin marker event and update the lat and lng of the member
  4155.                    google.maps.event.addListener(markerSC, 'dragend', function (event) {
  4156.                        let markerCoordinates = markerSC.getPosition();
  4157.                        userLat = uLat = markerSC.getPosition().lat();
  4158.                        userLng = uLng = markerSC.getPosition().lng();
  4159.                        fillDataByGeoCode(markerCoordinates, 'latLng');
  4160.                    });//END dragend event listener
  4161.                }//END initialize function
  4162.                initializeMap();
  4163.                //    google.maps.event.addDomListener(window, 'load', initializeMap);
  4164.                //END if (currentLocationState == 'default' || currentLocationState == 'only_map')
  4165.            } else if (currentLocationState == 'only_input') {
  4166.  
  4167.                function initializeInput() {
  4168.  
  4169.                    const inputOptions = {
  4170.                        fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  4171.                        types: ['(regions)'],
  4172.                    }
  4173.                    const language = "en";
  4174.  
  4175.                    if (language) {
  4176.                        inputOptions.language = language;
  4177.                    }
  4178.                    if (localizedMainCoutry) {
  4179.                        inputOptions.componentRestrictions = {country: localizedMainCoutry};
  4180.                        inputOptions.region = localizedMainCoutry;
  4181.                    }
  4182.  
  4183.  
  4184.                    var change = document.getElementsByClassName("google-writen-location");
  4185.                    var searchInput = {};
  4186.                    var autocomplete = {};
  4187.                    var cachedSelectedOption = {};
  4188.                    for (var i = 0; i < change.length; i++) {
  4189.  
  4190.                        //the init of the search locations input
  4191.                        autocomplete[i] = new google.maps.places.Autocomplete(change[i], inputOptions);
  4192.                        autocomplete[i].inputId = change[i].id;
  4193.  
  4194.                        var currentLocationValue;
  4195.                        $(change[i]).keyup(function () {
  4196.                            $('input[name="lat"]').val('');
  4197.                            $('input[name="lng"]').val('');
  4198.                            $('input[name="swlat"]').val('');
  4199.                            $('input[name="swlng"]').val('');
  4200.                            $('input[name="nelat"]').val('');
  4201.                            $('input[name="nelng"]').val('');
  4202.                            $('input[name="location_type"]').val('');
  4203.                        });
  4204.                        $(change[i]).blur(function () {
  4205.                            var thisField = $(this);
  4206.                            let thisVal = this.value;
  4207.                            setTimeout(function () {
  4208.                                if (thisField.parents('div').find('[name="lat"]').val() == "") {
  4209.                                    fillDataByGeoCode(thisVal);
  4210.                                }
  4211.                            }, 300);
  4212.  
  4213.                        });
  4214.  
  4215.  
  4216.                        //bind the change of the autocomplete to the make search function
  4217.                        google.maps.event.addListener(autocomplete[i], 'place_changed', function () {
  4218.                            let place= this.getPlace();
  4219.                            makeSearch(place);
  4220.                        });
  4221.  
  4222.                        //when hitting enter on the location search field prevent the submition of the form
  4223.                        $('.google-writen-location:eq(' + i + ')').keydown(function (e) {
  4224.                            if (e.keyCode == 13) {
  4225.                                e.preventDefault();
  4226.                            }
  4227.                        });
  4228.                    }
  4229.                }//END initialize function
  4230.                initializeInput();
  4231.                //  google.maps.event.addDomListener(window, 'load', initializeInput);
  4232.  
  4233.            }
  4234.  
  4235.            //this is the function that takes a google response and fills the input location fields basing itself in the maping array
  4236.            function fillAddressFields(results) {
  4237.                var coordinatesCenter = results.geometry.location;
  4238.                var boundsResponse = "";
  4239.                $('input[name="lead_location"]').val(results['formatted_address']);
  4240.                if(results['adr_address']){
  4241.                    var faddress = results['adr_address'].replace(/<[^>]+>/g, '');
  4242.                    $('input[name="faddress"]').val(faddress);
  4243.                }
  4244.                $('input[name="lat"]').val(coordinatesCenter.lat());
  4245.                //update Lng
  4246.                $('input[name="lng"]').val(coordinatesCenter.lng());
  4247.  
  4248.                if (results.geometry.hasOwnProperty('bounds') || results.geometry.hasOwnProperty('viewport')) {
  4249.  
  4250.                    if (results.geometry.hasOwnProperty('bounds')) {
  4251.                        var boundsResponse = results.geometry.bounds;
  4252.  
  4253.  
  4254.                    } else {
  4255.                        var boundsResponse = results.geometry.viewport;
  4256.                    }
  4257.                }
  4258.                if (boundsResponse != "") {
  4259.                    //update sw
  4260.                    $('input[name="swlat"]').val(boundsResponse.getSouthWest().lat());
  4261.                    $('input[name="swlng"]').val(boundsResponse.getSouthWest().lng());
  4262.                    //update ne
  4263.                    $('input[name="nelat"]').val(boundsResponse.getNorthEast().lat());
  4264.                    $('input[name="nelng"]').val(boundsResponse.getNorthEast().lng());
  4265.                }
  4266.                //update location type
  4267.                $('input[name="location_type"]').val(results.address_components[0].types[0]);
  4268.                //loop through the maping array to get all the values from the inputs that need to be filled with the new information
  4269.                $.each(inputsArray, function (findex, fvalue) {
  4270.                    //clean each field before setting new info
  4271.                    $('input[name="' + findex + '"]').val("");
  4272.  
  4273.                    //loop that checks the second level of the array
  4274.                    $.each(fvalue, function (sindex, svalue) {
  4275.                        var flag = true;
  4276.                        //check if svalue is an object
  4277.                        if ($.type(svalue) == "object") {
  4278.                            var currentConcat = "",
  4279.                                //get length of the concat array
  4280.                                concatLength = Object.keys(svalue).length,
  4281.                                concatCounter = 0;
  4282.                            //loop on each element of the svalue elements for the address components concatenation
  4283.                            $.each(svalue, function (conkey, convalue) {
  4284.  
  4285.                                //run a loop on the address components for each svalue elements
  4286.                                $.each(results.address_components, function (inskey, insvalue) {
  4287.                                    //if the element of the svalue match, concat the result to the array currentConcat
  4288.                                    if (insvalue.types[0] == conkey) {
  4289.                                        currentConcat += insvalue[convalue] + " ";
  4290.                                        concatCounter++;
  4291.                                    }
  4292.                                });//END each on address components
  4293.                            });//END each on svalue for the address components concatenation
  4294.                            //if all the elements matched then this new location with the concatenation of address components will be the one used
  4295.                            if (concatCounter == concatLength) {
  4296.                                $('input[name="' + findex + '"]').val(currentConcat);
  4297.                                flag = false;
  4298.                                return false;
  4299.                            }
  4300.                            //if svalue is not an object the system will continue with the default computations
  4301.                        } else {
  4302.                            //run a loop on the address components for the svalue being searched
  4303.                            $.each(results.address_components, function (key, value) {
  4304.                                //if the svalue element matches it will be saved
  4305.                                if (value.types[0] == sindex) {
  4306.                                    $('input[name="' + findex + '"]').val(value[svalue]);
  4307.                                    flag = false;
  4308.                                    return false;
  4309.                                }
  4310.  
  4311.                            });//END each on the address components
  4312.                        }
  4313.                        return flag;
  4314.                    });//END each on the second level of the array
  4315.                });//END each on the first level of the array
  4316.            }//END fillAddressFields function
  4317.            //function that triggers when someone selects an option from the autocomplete
  4318.            function makeSearch(results) {
  4319.                if (results && results.address_components) {
  4320.  
  4321.                    if (currentLocationState == 'default' || currentLocationState == 'only_map') {
  4322.                        markerSC.setPosition(results.geometry.location);
  4323.                        mapSC.panTo(results.geometry.location);
  4324.                        mapSC.setZoom(16);
  4325.                    }
  4326.                    fillAddressFields(results);
  4327.                }
  4328.                else {
  4329.                    fillDataByGeoCode(results.name,'address');
  4330.                }
  4331.            }//END make search function
  4332.  
  4333.  
  4334.            if (currentLocationState == 'default' || currentLocationState == 'only_map') {
  4335.                $('#contactModal').on('shown.bs.modal', function () {
  4336.                    google.maps.event.trigger(mapSC, "resize");
  4337.                });
  4338.            }
  4339.        }//END if (currentLocationState != "no_location")
  4340.  
  4341.        function fillDataByGeoCode(info, type = 'address') {
  4342.            if(info){
  4343.                type = type.toLowerCase();
  4344.                let geocoderRequest = { address: info };
  4345.                if (type === 'latlng') {
  4346.                    geocoderRequest = { location: info};
  4347.                }
  4348.                const language = "en";
  4349.                if (language) {
  4350.                    geocoderRequest.language = language;
  4351.                }
  4352.                const mainCountry = '';
  4353.                if (mainCountry && type === 'address') {
  4354.                    geocoderRequest.componentRestrictions = {country: mainCountry};
  4355.                    geocoderRequest.region = mainCountry;
  4356.                }
  4357.                if (mainCountry && type === 'latlng') {
  4358.                    geocoderRequest.region = mainCountry;
  4359.                }
  4360.                geo = new google.maps.Geocoder();
  4361.                geo.geocode(geocoderRequest, function (results, status) {
  4362.  
  4363.                    if (status == google.maps.GeocoderStatus.OK) {
  4364.  
  4365.                        if (results.length > 1) {
  4366.                            for (let i = 0; i < results.length; i++) {
  4367.                                if (results[i].types[0] === 'natural_feature' ||
  4368.                                    results[i].types[0] === 'airport' ||
  4369.                                    results[i].types[0] === 'point_of_interest' ||
  4370.                                    results[i].types[0] === 'establishment' ||
  4371.                                    results[i].types[0] === 'park') {
  4372.                                    results.splice(i, 1);
  4373.                                }
  4374.                            }
  4375.                        }
  4376.                        if (mapSC != null && mapSC != '' && typeof mapSC !== "undefined" && markerSC != null && markerSC != '' && typeof markerSC !== "undefined") {
  4377.                            mapSC.panTo(results[0].geometry.location);
  4378.                            mapSC.setZoom(16);
  4379.                            markerSC.setPosition(results[0].geometry.location);
  4380.                        }
  4381.                        fillAddressFields(results[0]);
  4382.                    } else {
  4383.                        alert(status);
  4384.                    }
  4385.                });
  4386.            }
  4387.        }
  4388.        // fetch to obtain the centerOfMap
  4389.        function getCenterMap(urlWapi) {
  4390.            const response =  fetch(urlWapi, {
  4391.                method: 'GET',
  4392.                mode: 'same-origin',
  4393.                credentials: 'same-origin',
  4394.                headers: {
  4395.                    'Content-Type': 'application/json'
  4396.                },
  4397.            });
  4398.            return response
  4399.        }
  4400.    }
  4401. </script><script type="text/javascript">
  4402.    if(typeof bootstrap_contact_member_category_dropdowns_runned == "undefined"){
  4403.        var bootstrap_contact_member_category_dropdowns_runned = true;
  4404.        var uniqueForm = $('.select-category-chained').closest('form').attr("id");
  4405.        $(document).on('change', '.select-category-chained', function () {
  4406.            
  4407.            var input = $(this);
  4408.            var currentLevel = input.attr('name');
  4409.            var categoryId = input.val();
  4410.  
  4411.            var targetSelect = uniqueForm + " #" + input.data('nextselect');
  4412.            var enviromentVar = $('#cat-page-type').data('type');
  4413.            //empty all the children of this select
  4414.            var epmtyHtmlOptions = "";
  4415.            var defaultOptionText = 'Select from List';
  4416.            if(defaultOptionText != ""){
  4417.                epmtyHtmlOptions += '<option value="">('+defaultOptionText+')</option>';
  4418.            }
  4419.            $('#' + targetSelect).html(epmtyHtmlOptions);
  4420.            $('#' + targetSelect).val('').change();
  4421.            
  4422.            //check if child is also parent and clean that one too
  4423.            var targetSelectElement = $('#' + targetSelect);
  4424.            var childChildSelect = targetSelectElement.data('nextselect');
  4425.  
  4426.            if (childChildSelect != "" && childChildSelect != undefined) {
  4427.                $('#' + childChildSelect).html(epmtyHtmlOptions);
  4428.                $('#' + childChildSelect).val('').change();
  4429.            }
  4430.            if (enviromentVar == "profile") {
  4431.                var userId = $('#cat-page-type').data('user');
  4432.  
  4433.            } else {
  4434.                var userId = "";
  4435.            }
  4436.            
  4437.            if (categoryId != "") {
  4438.  
  4439.                //send ajax to know the children results
  4440.                var gcaResponseArray = [];
  4441.  
  4442.                $.ajax({
  4443.                    url: "/wapi/widget",
  4444.                    type: "GET",
  4445.                    dataType: "json",
  4446.                    data: {
  4447.                        "request_type": "GET",
  4448.                        "widget_name": "Bootstrap - Contact Member Category Dropdowns",
  4449.                        "header_type": "json",
  4450.                        "user_id": userId,
  4451.                        "scope": currentLevel,
  4452.                        "category_id": categoryId,
  4453.                        "select_action": "find_children_cat"
  4454.                    },
  4455.                    success: function (data) {
  4456.                        gcaResponseArray.push(data);
  4457.                    },
  4458.                    error: function (data) {
  4459.                        console.log("error");
  4460.                        console.log(data);
  4461.                    }
  4462.                });
  4463.                var gcaInter = setInterval(function () {
  4464.  
  4465.                    if (gcaResponseArray.length == 1) {
  4466.                        clearInterval(gcaInter);
  4467.                        var htmlOptions = "";
  4468.                        var defaultOptionText = 'Select from List';
  4469.                        if(defaultOptionText != ""){
  4470.                            htmlOptions += '<option value="">('+defaultOptionText+')</option>';
  4471.                        }
  4472.                        //construct the html options values
  4473.                        var newOptionsCounter = 0;
  4474.                        if(gcaResponseArray[0] !== null && gcaResponseArray[0]['cats']!=''){
  4475.                            $.each(gcaResponseArray[0]['cats'], function (key, value) {
  4476.                                key = key.replace('_', '');
  4477.                                htmlOptions += '<option value="' + key + '">' + value + '</option>';
  4478.                                newOptionsCounter++;
  4479.                            });
  4480.                            $('#' + targetSelect).html(htmlOptions);
  4481.                            $('#' + targetSelect).attr("disabled", false);
  4482.                            if (newOptionsCounter > 0) {
  4483.                                $('#' + targetSelect).select2("open");
  4484.                            }
  4485.                        }else{
  4486.                            $('#' + targetSelect).html('<option value="">No Options Available</option>');
  4487.                            $('#' + targetSelect).attr("disabled", true);
  4488.                            $("#" + targetSelect).select2("val", "");
  4489.                            if ($("#" + targetSelect).attr('data-nextselect') != "") {
  4490.                                let dataSelectNext = $("#" + targetSelect).attr('data-nextselect');
  4491.                                $('#' + dataSelectNext).html('<option value="">No Options Available</option>');
  4492.                                $('#' + dataSelectNext).attr("disabled", true);
  4493.                                $("#" + dataSelectNext).select2("val", "");
  4494.                            }
  4495.                        }
  4496.  
  4497.                    }
  4498.                }, 400);
  4499.            }
  4500.        });
  4501.        const topRequired = document.querySelector('label[for="top-id-select"] span.required');
  4502.        const subRequired = document.querySelector('label[for="sub-id-select"] span.required');
  4503.        const subSubRequired = document.querySelector('label[for="sub-sub-id-select"] span.required');
  4504.        //code to check that the categories have been submitted if the settings are enabled
  4505.        $('#'+uniqueForm).submit(function (e) {
  4506.            let topRequiredVal = document.getElementById('top-id-select');
  4507.            let subRequiredVal = document.getElementById('sub-id-select');
  4508.            let subSubRequiredVal = document.getElementById('sub-sub-id-select');
  4509.            if ((topRequired !== null && topRequiredVal !== null && topRequiredVal.value == '') || (subRequired !== null && subRequiredVal !== null && subRequiredVal.value == '') || (subSubRequired !== null && subSubRequiredVal !== null && subSubRequiredVal.value == '')) {
  4510.                e.preventDefault();
  4511.                e.stopPropagation();
  4512.                e.stopImmediatePropagation();
  4513.                swal(`Whoops!`, `Please select a category to submit this request` ,"error");
  4514.            }
  4515.        });
  4516.    }
  4517. </script>                <script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/formValidation.min.js"></script>
  4518.                <script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/framework/bootstrap.min.js"></script>
  4519.                <script type="text/javascript">
  4520.                    function decodeHtml(html) {
  4521.                        var txt = document.createElement("textarea");
  4522.                        txt.innerHTML = html;
  4523.                        return txt.value;
  4524.                    }
  4525.                </script>
  4526.                        <script type="text/javascript">
  4527.  
  4528.        var counterSubmit = 0;
  4529.        $(document).ready(function() {
  4530.            $(`form[name='bootstrap_get_match_255']`).formValidation({"framework":"bootstrap","addOns":{"reCaptcha2":{"element":"captchaContainer","language":"en","theme":"light","siteKey":"6Lf8GfsSAAAAAD85tCjd0qqFlafyPNWp-wFm9KX2","timeout":"120","message":"The captcha is not valid"}},"fields":{"lead_email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}}}}).on('success.form.fv', function(e,fvdata) {
  4531.                
  4532.                if('bootstrap_get_match' == 'unsubscribe_email'){
  4533.                    return true;
  4534.                }
  4535.                // Prevent form submission
  4536.                e.preventDefault();
  4537.                $form = $(e.target),
  4538.                fv = $form.data('formValidation');
  4539.                var values = $(this).serialize();
  4540.  
  4541.                
  4542.                var locationFieldCorrect = true;
  4543.  
  4544.                if($("#bootstrap_get_match_255 .location_required").length > 0){
  4545.                    $("#bootstrap_get_match_255 .location_required").each(function (index) {
  4546.                        if($(this).data('state') == 1){
  4547.                            if($('#bootstrap_get_match_255 input[name="lead_location"]').val() == "" || $('#bootstrap_get_match_255 input[name="lat"]').val() == "" || $('#bootstrap_get_match_255 input[name="lng"]').val() == "") {
  4548.                                locationFieldCorrect = false;
  4549.                            }
  4550.                        }
  4551.                    });
  4552.                }
  4553.  
  4554.                if(locationFieldCorrect === false){
  4555.                    //check that there is a latitude or longitude
  4556.                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
  4557.                    return false;
  4558.                }
  4559.                        
  4560.  
  4561.                if (!$(this).attr("action")) {
  4562.                    var action = '';
  4563.  
  4564.                } else {
  4565.                    var action = $(this).attr("action");
  4566.                }
  4567.                if (!$(this).attr("method")) {
  4568.                    var method = 'post';
  4569.  
  4570.                } else {
  4571.                    var method = $(this).attr("method");
  4572.                }
  4573.                if (!$(this).attr("form_action_type")) {
  4574.                    var form_action_type = 'notification';
  4575.  
  4576.                } else {
  4577.                    var form_action_type = $(this).attr("form_action_type");
  4578.                }
  4579.                if (!$(this).attr("form_action_div")) {
  4580.                    var form_action_div = '#first_container';
  4581.  
  4582.                } else {
  4583.                    var form_action_div = $(this).attr("form_action_div");
  4584.                }
  4585.                if (!$(this).attr("return_data_type")) {
  4586.                    var return_data_type = 'json';
  4587.  
  4588.                } else {
  4589.                    var return_data_type = $(this).attr("return_data_type");
  4590.                }
  4591.                if ($("#bootstrap_get_match_255-notification").html() != "") {
  4592.                    $("#bootstrap_get_match_255-notification").remove();
  4593.                }
  4594.                if ($(this).find('input[type="submit"]').length > 0) {
  4595.                    $(this).find('input[type="submit"]').before('<div id="bootstrap_get_match_255-notification" class="alert"></div>');
  4596.  
  4597.                } else {
  4598.                    $(this).prepend('<div id="bootstrap_get_match_255-notification" class="alert"></div>');
  4599.                }
  4600.                var notification = $("#bootstrap_get_match_255-notification");
  4601.  
  4602.                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
  4603.                    notification.html(`Processing Request...`).addClass("alert-warning");
  4604.                    setTimeout(function(){
  4605.                        fv.defaultSubmit();
  4606.                    }, 100);
  4607.                } else {
  4608.                    notification.html(`Processing Request...`).addClass("alert-warning");
  4609.                    if(counterSubmit == 0) {
  4610.                        counterSubmit++;
  4611.  
  4612.                        var fields      = $(this).serializeArray();
  4613.                        var formField   = [];
  4614.                        var processData = true;
  4615.                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
  4616.                        
  4617.                        
  4618.  
  4619.                        if($("#bootstrap_get_match_255 input[type=file]").length > 0){
  4620.                            
  4621.                            var formObject  = new FormData();
  4622.                            processData     = false;
  4623.                            contentType     = false;
  4624.  
  4625.                            $(fields).each(function(index,field){
  4626.                                formField.push(field.name+"="+field.value);
  4627.                            });
  4628.  
  4629.                            values  = formField.join("&");
  4630.  
  4631.                            $(formField).each(function(index,fieldValue){
  4632.                                var fieldInfo = fieldValue.split('=');
  4633.                                formObject.append(fieldInfo[0],fieldInfo[1]);
  4634.                            });
  4635.  
  4636.                            $("#bootstrap_get_match_255 input[type=file]").each(function(index,node){
  4637.                                var file = this.files[0];
  4638.                                if(typeof file != "undefined"){
  4639.                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
  4640.                                }
  4641.                            });
  4642.                        }else{
  4643.                            
  4644.                            $(fields).each(function(index,field){
  4645.                                formField.push(field.name+"="+encodeURIComponent(field.value));
  4646.                            });
  4647.  
  4648.                            var formObject  = formField.join("&");
  4649.                        }
  4650.                        
  4651.                        $.ajax({
  4652.                            url: action,
  4653.                            type: method,
  4654.                            data: formObject,
  4655.                            dataType: return_data_type,
  4656.                            processData: processData,
  4657.                            contentType: contentType,
  4658.                            success: function (data) {
  4659.                                if (return_data_type == "html") {
  4660.                                    var result = 'success';
  4661.  
  4662.                                    if (!data != "") {
  4663.                                        var result_widget = data['result_widget'];
  4664.                                    }
  4665.  
  4666.                                } else {
  4667.  
  4668.  
  4669.                                    if (!data['result']) {
  4670.                                        var result = 'error';
  4671.                                    } else {
  4672.                                        var result = data['result'];
  4673.                                    }
  4674.                                    if (!data['result_widget']) {
  4675.                                        var result_widget = '';
  4676.  
  4677.                                    } else {
  4678.                                        var result_widget = data['result_widget'];
  4679.                                    }
  4680.                                }
  4681.                                if (result == "success") {
  4682.  
  4683.                                    if (!data['message']) {
  4684.                                        var message = `Your information has submitted successfully!`;
  4685.  
  4686.                                    } else {
  4687.                                        var message = data['message'];
  4688.                                    }
  4689.                                    if (!data['redirect_url']) {
  4690.                                        var redirect_url = '';
  4691.  
  4692.                                    } else {
  4693.                                        var redirect_url = data['redirect_url'];
  4694.                                    }
  4695.  
  4696.  
  4697.  
  4698.                                    if (form_action_type == "notification") {
  4699.                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
  4700.                                            .addClass('alert-dismissible')
  4701.                                            .addClass("alert-success")
  4702.                                            .removeClass("alert-danger")
  4703.                                            .removeClass("alert-warning")
  4704.                                        
  4705.                                            
  4706.  
  4707.                                        if(notification.parents('.modal').length && 'bootstrap_get_match_255' == 'whmcs_billing_address'){
  4708.                                            setTimeout(function(){
  4709.                                                notification.parents('.modal').modal('hide');
  4710.                                            }, 1000);
  4711.                                        }
  4712.  
  4713.                                    } else if (form_action_type == "widget") {
  4714.  
  4715.                                        if (result_widget != '') {
  4716.  
  4717.                                            setTimeout(function(){
  4718.                                                if(form_action_div != '.newsletter_modal_form_container'){
  4719.                                                    $("html, body").animate({ scrollTop: 0 }, 600);
  4720.                                                }                                                
  4721.                                                $(form_action_div).html(decodeHtml(result_widget)).text();
  4722.  
  4723.                                            }, 1000);
  4724.                                        }
  4725.  
  4726.                                    } else if (form_action_type == "redirect") {
  4727.  
  4728.                                        if (redirect_url == "") {
  4729.                                            redirect_url = decodeURIComponent("");
  4730.                                        }
  4731.  
  4732.                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
  4733.                                            redirect_url = "/" + redirect_url;
  4734.                                        }
  4735.                                        current_location = "/england/colchester/professional-services/colchester-window-and-door-repairs";
  4736.                                        refresh_pages_string = "/login";
  4737.                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
  4738.                                        refresh_pages_array = refresh_pages_string.split(',');
  4739.                                        notification.html(message)
  4740.                                            .addClass("alert-success")
  4741.                                            .removeClass("alert-danger")
  4742.                                            .removeClass("alert-warning")
  4743.                                            .delay(2000).slideUp();
  4744.                                            if(action == "/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" && current_location.indexOf("/login") == -1 && refresh_pages_string != '' && (!refresh_pages_array.includes(current_location) || refresh_pages_string == "/login" )){
  4745.                                                                                                    window.location.href = window.location.href+'?logged';
  4746.                                                                                            } else {
  4747.                                                window.location.href = redirect_url;
  4748.                                            }
  4749.  
  4750.                                        fv.resetForm(true);
  4751.                                    }
  4752.                                    if(form_action_div != '.newsletter_modal_form_container' && 'bootstrap_get_match_255' != 'whmcs_billing_address'){
  4753.                                        $('.modal-backdrop').hide();
  4754.                                    }
  4755.                                } else {
  4756.                                    if(typeof grecaptcha !== "undefined"){
  4757.                                        grecaptcha.reset();
  4758.                                    }
  4759.                                    if (!data['message']) {
  4760.                                        var message = `You entered invalid data. Please try to save again.`;
  4761.  
  4762.                                    } else {
  4763.                                        var message = data['message'];
  4764.                                    }
  4765.                                    $("#bootstrap_get_match_255-notification").html(message)
  4766.                                        .addClass("alert-danger")
  4767.                                        .removeClass("alert-success")
  4768.                                        .removeClass("alert-warning")
  4769.                                        .fadeIn();
  4770.                                    fv.disableSubmitButtons(false);
  4771.                                }
  4772.                                counterSubmit = 0;
  4773.                            },
  4774.                            error: function (e) {
  4775.                                
  4776.                                if(typeof grecaptcha !== "undefined"){
  4777.                                        grecaptcha.reset();
  4778.                                        $("#bootstrap_get_match_255-notification").html(`Recaptcha Error`);
  4779.                                } else {
  4780.                                    $("#bootstrap_get_match_255-notification").html(`A connection error occurred while saving. Please try to save again.`);
  4781.                                }
  4782.                                $("#bootstrap_get_match_255-notification").addClass("alert-warning")
  4783.                                    .removeClass("alert-success")
  4784.                                    .removeClass("alert-warning")
  4785.                                    .fadeIn();
  4786.                                counterSubmit = 0;
  4787.                            }
  4788.                        });/// End Ajax
  4789.                    }
  4790.                }//END else
  4791.            }).bind('keydown', function(event) {
  4792.  
  4793.                if (event.ctrlKey || event.metaKey) {
  4794.  
  4795.                    switch (String.fromCharCode(event.which).toLowerCase()) {
  4796.  
  4797.                        case 's':
  4798.                            $(this).submit();
  4799.                            break;
  4800.                    }
  4801.                }
  4802.            });
  4803.  
  4804.            /// This will turn any select2 that are required in the form builder to being required elements.
  4805.            $('#bootstrap_get_match_255 select').each(function (i, obj) {
  4806.                setTimeout(function(){
  4807.                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
  4808.                        $(obj).css("z-index","-999");
  4809.                        $(obj).css("height","0");
  4810.                        $(obj).css("width","0");
  4811.                        $(obj).css("display","block");  
  4812.                        $(obj).css("position","absolute");  
  4813.                    }
  4814.                }, 3000);
  4815.            });
  4816.  
  4817.        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
  4818.    </script>
  4819.        <script>
  4820.    function showFBShare() {
  4821.        let currentURL = document.querySelector('meta[property="og:url"]').content;
  4822.        window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentURL}`, `pop`, `width=600, height=400, scrollbars=no`);
  4823.    }
  4824. </script>
  4825. <script>
  4826.    var delayInMilliseconds = 300;
  4827.    if (!sessionStorage.getItem("googleTranslate") == 1) {
  4828.        sessionStorage.setItem("googleTranslate", "1");
  4829.        delayInMilliseconds = 7000;
  4830.    }
  4831.    let fbBtn = document.getElementsByClassName('fb-share-button')[0];
  4832.    if(typeof fbBtn != 'undefined' && fbBtn.dataset.layout){
  4833.        if (typeof loadFBjs == 'function') {
  4834.            loadFBjs(delayInMilliseconds);
  4835.        }
  4836.    }
  4837.  
  4838.    setTimeout(function() {
  4839.        $.when(
  4840.            $.getScript( "//platform.twitter.com/widgets.js" ),            $.getScript( "https://platform.linkedin.com/in.js?lang=en-US" ),
  4841.            $.Deferred(function( deferred ){
  4842.                $( deferred.resolve );
  4843.            })
  4844.        ).done(function(){
  4845.            $( ".spin_remove_2" ).hide();
  4846.            $( ".fb-share-button" ).show();
  4847.        });
  4848.    }, delayInMilliseconds);
  4849. </script><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  4850. <!-- Adsense 0001 -->
  4851. <ins class="adsbygoogle"
  4852.     style="display:block"
  4853.     data-ad-client="ca-pub-8264287386440187"
  4854.     data-ad-slot="6198681359"
  4855.     data-ad-format="auto"></ins>
  4856. <script>
  4857. (adsbygoogle = window.adsbygoogle || []).push({});
  4858. </script>        <script type="text/javascript">
  4859.  
  4860.        var counterSubmit = 0;
  4861.        $(document).ready(function() {
  4862.            $(`form[name='member_login_190']`).formValidation({"framework":"bootstrap","fields":{"email":{"validators":{"notEmpty":{"message":"Required Field"},"emailAddress":{"message":"Please enter a valid email address"}}},"pass":{"validators":{"notEmpty":{"message":"Required Field"}}}}}).on('success.form.fv', function(e,fvdata) {
  4863.                
  4864.                if('member_login' == 'unsubscribe_email'){
  4865.                    return true;
  4866.                }
  4867.                // Prevent form submission
  4868.                e.preventDefault();
  4869.                $form = $(e.target),
  4870.                fv = $form.data('formValidation');
  4871.                var values = $(this).serialize();
  4872.  
  4873.                
  4874.                var locationFieldCorrect = true;
  4875.  
  4876.                if($("#member_login_190 .location_required").length > 0){
  4877.                    $("#member_login_190 .location_required").each(function (index) {
  4878.                        if($(this).data('state') == 1){
  4879.                            if($('#member_login_190 input[name="lead_location"]').val() == "" || $('#member_login_190 input[name="lat"]').val() == "" || $('#member_login_190 input[name="lng"]').val() == "") {
  4880.                                locationFieldCorrect = false;
  4881.                            }
  4882.                        }
  4883.                    });
  4884.                }
  4885.  
  4886.                if(locationFieldCorrect === false){
  4887.                    //check that there is a latitude or longitude
  4888.                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
  4889.                    return false;
  4890.                }
  4891.                        
  4892.  
  4893.                if (!$(this).attr("action")) {
  4894.                    var action = '';
  4895.  
  4896.                } else {
  4897.                    var action = $(this).attr("action");
  4898.                }
  4899.                if (!$(this).attr("method")) {
  4900.                    var method = 'post';
  4901.  
  4902.                } else {
  4903.                    var method = $(this).attr("method");
  4904.                }
  4905.                if (!$(this).attr("form_action_type")) {
  4906.                    var form_action_type = 'notification';
  4907.  
  4908.                } else {
  4909.                    var form_action_type = $(this).attr("form_action_type");
  4910.                }
  4911.                if (!$(this).attr("form_action_div")) {
  4912.                    var form_action_div = '#first_container';
  4913.  
  4914.                } else {
  4915.                    var form_action_div = $(this).attr("form_action_div");
  4916.                }
  4917.                if (!$(this).attr("return_data_type")) {
  4918.                    var return_data_type = 'json';
  4919.  
  4920.                } else {
  4921.                    var return_data_type = $(this).attr("return_data_type");
  4922.                }
  4923.                if ($("#member_login_190-notification").html() != "") {
  4924.                    $("#member_login_190-notification").remove();
  4925.                }
  4926.                if ($(this).find('input[type="submit"]').length > 0) {
  4927.                    $(this).find('input[type="submit"]').before('<div id="member_login_190-notification" class="alert"></div>');
  4928.  
  4929.                } else {
  4930.                    $(this).prepend('<div id="member_login_190-notification" class="alert"></div>');
  4931.                }
  4932.                var notification = $("#member_login_190-notification");
  4933.  
  4934.                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
  4935.                    notification.html(`Processing Request...`).addClass("alert-warning");
  4936.                    setTimeout(function(){
  4937.                        fv.defaultSubmit();
  4938.                    }, 100);
  4939.                } else {
  4940.                    notification.html(`Processing Request...`).addClass("alert-warning");
  4941.                    if(counterSubmit == 0) {
  4942.                        counterSubmit++;
  4943.  
  4944.                        var fields      = $(this).serializeArray();
  4945.                        var formField   = [];
  4946.                        var processData = true;
  4947.                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
  4948.                        
  4949.                        
  4950.  
  4951.                        if($("#member_login_190 input[type=file]").length > 0){
  4952.                            
  4953.                            var formObject  = new FormData();
  4954.                            processData     = false;
  4955.                            contentType     = false;
  4956.  
  4957.                            $(fields).each(function(index,field){
  4958.                                formField.push(field.name+"="+field.value);
  4959.                            });
  4960.  
  4961.                            values  = formField.join("&");
  4962.  
  4963.                            $(formField).each(function(index,fieldValue){
  4964.                                var fieldInfo = fieldValue.split('=');
  4965.                                formObject.append(fieldInfo[0],fieldInfo[1]);
  4966.                            });
  4967.  
  4968.                            $("#member_login_190 input[type=file]").each(function(index,node){
  4969.                                var file = this.files[0];
  4970.                                if(typeof file != "undefined"){
  4971.                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
  4972.                                }
  4973.                            });
  4974.                        }else{
  4975.                            
  4976.                            $(fields).each(function(index,field){
  4977.                                formField.push(field.name+"="+encodeURIComponent(field.value));
  4978.                            });
  4979.  
  4980.                            var formObject  = formField.join("&");
  4981.                        }
  4982.                        
  4983.                        $.ajax({
  4984.                            url: action,
  4985.                            type: method,
  4986.                            data: formObject,
  4987.                            dataType: return_data_type,
  4988.                            processData: processData,
  4989.                            contentType: contentType,
  4990.                            success: function (data) {
  4991.                                if (return_data_type == "html") {
  4992.                                    var result = 'success';
  4993.  
  4994.                                    if (!data != "") {
  4995.                                        var result_widget = data['result_widget'];
  4996.                                    }
  4997.  
  4998.                                } else {
  4999.  
  5000.  
  5001.                                    if (!data['result']) {
  5002.                                        var result = 'error';
  5003.                                    } else {
  5004.                                        var result = data['result'];
  5005.                                    }
  5006.                                    if (!data['result_widget']) {
  5007.                                        var result_widget = '';
  5008.  
  5009.                                    } else {
  5010.                                        var result_widget = data['result_widget'];
  5011.                                    }
  5012.                                }
  5013.                                if (result == "success") {
  5014.  
  5015.                                    if (!data['message']) {
  5016.                                        var message = `Your information has submitted successfully!`;
  5017.  
  5018.                                    } else {
  5019.                                        var message = data['message'];
  5020.                                    }
  5021.                                    if (!data['redirect_url']) {
  5022.                                        var redirect_url = '';
  5023.  
  5024.                                    } else {
  5025.                                        var redirect_url = data['redirect_url'];
  5026.                                    }
  5027.  
  5028.  
  5029.  
  5030.                                    if (form_action_type == "notification") {
  5031.                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
  5032.                                            .addClass('alert-dismissible')
  5033.                                            .addClass("alert-success")
  5034.                                            .removeClass("alert-danger")
  5035.                                            .removeClass("alert-warning")
  5036.                                        
  5037.                                            
  5038.  
  5039.                                        if(notification.parents('.modal').length && 'member_login_190' == 'whmcs_billing_address'){
  5040.                                            setTimeout(function(){
  5041.                                                notification.parents('.modal').modal('hide');
  5042.                                            }, 1000);
  5043.                                        }
  5044.  
  5045.                                    } else if (form_action_type == "widget") {
  5046.  
  5047.                                        if (result_widget != '') {
  5048.  
  5049.                                            setTimeout(function(){
  5050.                                                if(form_action_div != '.newsletter_modal_form_container'){
  5051.                                                    $("html, body").animate({ scrollTop: 0 }, 600);
  5052.                                                }                                                
  5053.                                                $(form_action_div).html(decodeHtml(result_widget)).text();
  5054.  
  5055.                                            }, 1000);
  5056.                                        }
  5057.  
  5058.                                    } else if (form_action_type == "redirect") {
  5059.  
  5060.                                        if (redirect_url == "") {
  5061.                                            redirect_url = decodeURIComponent("");
  5062.                                        }
  5063.  
  5064.                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
  5065.                                            redirect_url = "/" + redirect_url;
  5066.                                        }
  5067.                                        current_location = "/england/colchester/professional-services/colchester-window-and-door-repairs";
  5068.                                        refresh_pages_string = "/login";
  5069.                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
  5070.                                        refresh_pages_array = refresh_pages_string.split(',');
  5071.                                        notification.html(message)
  5072.                                            .addClass("alert-success")
  5073.                                            .removeClass("alert-danger")
  5074.                                            .removeClass("alert-warning")
  5075.                                            .delay(2000).slideUp();
  5076.                                            if(action == "/api/widget/json/get/Bootstrap%20Theme%20-%20Member%20Login%20Page" && current_location.indexOf("/login") == -1 && refresh_pages_string != '' && (!refresh_pages_array.includes(current_location) || refresh_pages_string == "/login" )){
  5077.                                                                                                    window.location.href = window.location.href+'?logged';
  5078.                                                                                            } else {
  5079.                                                window.location.href = redirect_url;
  5080.                                            }
  5081.  
  5082.                                        fv.resetForm(true);
  5083.                                    }
  5084.                                    if(form_action_div != '.newsletter_modal_form_container' && 'member_login_190' != 'whmcs_billing_address'){
  5085.                                        $('.modal-backdrop').hide();
  5086.                                    }
  5087.                                } else {
  5088.                                    if(typeof grecaptcha !== "undefined"){
  5089.                                        grecaptcha.reset();
  5090.                                    }
  5091.                                    if (!data['message']) {
  5092.                                        var message = `You entered invalid data. Please try to save again.`;
  5093.  
  5094.                                    } else {
  5095.                                        var message = data['message'];
  5096.                                    }
  5097.                                    $("#member_login_190-notification").html(message)
  5098.                                        .addClass("alert-danger")
  5099.                                        .removeClass("alert-success")
  5100.                                        .removeClass("alert-warning")
  5101.                                        .fadeIn();
  5102.                                    fv.disableSubmitButtons(false);
  5103.                                }
  5104.                                counterSubmit = 0;
  5105.                            },
  5106.                            error: function (e) {
  5107.                                
  5108.                                if(typeof grecaptcha !== "undefined"){
  5109.                                        grecaptcha.reset();
  5110.                                        $("#member_login_190-notification").html(`Recaptcha Error`);
  5111.                                } else {
  5112.                                    $("#member_login_190-notification").html(`A connection error occurred while saving. Please try to save again.`);
  5113.                                }
  5114.                                $("#member_login_190-notification").addClass("alert-warning")
  5115.                                    .removeClass("alert-success")
  5116.                                    .removeClass("alert-warning")
  5117.                                    .fadeIn();
  5118.                                counterSubmit = 0;
  5119.                            }
  5120.                        });/// End Ajax
  5121.                    }
  5122.                }//END else
  5123.            }).bind('keydown', function(event) {
  5124.  
  5125.                if (event.ctrlKey || event.metaKey) {
  5126.  
  5127.                    switch (String.fromCharCode(event.which).toLowerCase()) {
  5128.  
  5129.                        case 's':
  5130.                            $(this).submit();
  5131.                            break;
  5132.                    }
  5133.                }
  5134.            });
  5135.  
  5136.            /// This will turn any select2 that are required in the form builder to being required elements.
  5137.            $('#member_login_190 select').each(function (i, obj) {
  5138.                setTimeout(function(){
  5139.                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
  5140.                        $(obj).css("z-index","-999");
  5141.                        $(obj).css("height","0");
  5142.                        $(obj).css("width","0");
  5143.                        $(obj).css("display","block");  
  5144.                        $(obj).css("position","absolute");  
  5145.                    }
  5146.                }, 3000);
  5147.            });
  5148.  
  5149.        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
  5150.    </script>
  5151.            <script>
  5152.        window.addEventListener('load', (event) => {
  5153.            setTimeout(() => {
  5154.                    }, 501);
  5155.        });
  5156.    </script>
  5157. <script>
  5158. function decision(message, url) {
  5159. if (confirm(message)) {
  5160. setTimeout(function () {
  5161. window.location = url;
  5162. }, 0);
  5163. }
  5164. }
  5165. </script>
  5166. <script>
  5167. // Function to add alt, width, and height attributes to <img> elements without them
  5168. function addAttributesToImages() {
  5169. var images = document.querySelectorAll('img:not([alt]), img:not([width]), img:not([height])');
  5170. Array.prototype.forEach.call(images, function(img) {
  5171. // Add alt attribute if missing
  5172. if (!img.hasAttribute('alt')) {
  5173. var src = img.getAttribute('src') || 'image';  // Default src to 'image' if missing
  5174. var altText = src.split('/').pop().split('?')[0].replace(/\.\w+$/, '');
  5175.  
  5176. try {
  5177. altText = decodeURIComponent(altText)
  5178. .replace(/[_\-+,.:;]+/g, ' ')
  5179. .replace(/\s+/g, ' ')
  5180. .trim();
  5181. } catch (e) {
  5182. altText = 'image';  // Fallback to 'image' if decoding fails
  5183. }
  5184.  
  5185. // Ensure altText is not empty, otherwise use 'image'
  5186. altText = altText || 'image';
  5187.  
  5188. img.setAttribute('alt', altText);
  5189. }
  5190.  
  5191. // Add width and height attributes if missing
  5192. if (!img.hasAttribute('width') || !img.hasAttribute('height')) {
  5193. // Handle SVG differently
  5194. if (img.src.endsWith('.svg')) {
  5195. // For SVG, use the viewBox to set width and height, if available
  5196. fetch(img.src)
  5197. .then(response => response.text())
  5198. .then(svgText => {
  5199. var parser = new DOMParser();
  5200. var svgDoc = parser.parseFromString(svgText, "image/svg+xml");
  5201. var svgElement = svgDoc.querySelector('svg');
  5202. if (svgElement) {
  5203. var viewBox = svgElement.getAttribute('viewBox');
  5204. if (viewBox) {
  5205. var viewBoxValues = viewBox.split(' ');
  5206. var width = viewBoxValues[2];
  5207. var height = viewBoxValues[3];
  5208.  
  5209. if (!img.hasAttribute('width')) {
  5210. img.setAttribute('width', width);
  5211. }
  5212. if (!img.hasAttribute('height')) {
  5213. img.setAttribute('height', height);
  5214. }
  5215. }
  5216. }
  5217. });
  5218. } else {
  5219. // For non-SVG images, use natural dimensions
  5220. var tempImg = new Image();
  5221. tempImg.src = img.src;
  5222. tempImg.onload = function() {
  5223. if (!img.hasAttribute('width')) {
  5224. img.setAttribute('width', tempImg.naturalWidth);
  5225. }
  5226. if (!img.hasAttribute('height')) {
  5227. img.setAttribute('height', tempImg.naturalHeight);
  5228. }
  5229. };
  5230. }
  5231. }
  5232. });
  5233. }
  5234.  
  5235. document.addEventListener('DOMContentLoaded', function() {
  5236. // Run the function initially to catch images already in the DOM
  5237. addAttributesToImages();
  5238.  
  5239. // Create a MutationObserver to monitor the DOM for added/changed images
  5240. var observer = new MutationObserver(function(mutations) {
  5241. mutations.forEach(function(mutation) {
  5242. if (mutation.addedNodes.length > 0 || mutation.type === 'attributes') {
  5243. addAttributesToImages();  // Add alt, width, and height attributes to any newly added or modified images
  5244. }
  5245. });
  5246. });
  5247.  
  5248. // Start observing the document body for changes
  5249. observer.observe(document.body, {
  5250. childList: true, // Watch for added or removed nodes
  5251. subtree: true, // Watch the entire subtree
  5252. attributes: true, // Watch for attribute changes
  5253. attributeFilter: ['src'] // Specifically watch for changes in the 'src' attribute
  5254. });
  5255. });
  5256. </script><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] {
  5257.    cursor: wait
  5258. }
  5259. select.select2-preload {
  5260.    line-height: initial;
  5261. }
  5262.  
  5263. select#sid, select#tid, 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"] {
  5264.    -webkit-appearance: none;
  5265.    -moz-appearance: none;
  5266.    appearance: none;
  5267.    background-image: url(/images/select2ArrowDown.png) !important;
  5268.    background-repeat: no-repeat !important;
  5269.    background-size: 10px 9px !important;
  5270.    background-position: 99% 16px;
  5271.    border-radius: 6px;
  5272.    overflow: hidden;
  5273. }
  5274. .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"] {
  5275.    background-position: 98.2% 12px;
  5276. } </style>    <!-- DROPDOWN SELECT SCRIPT -->
  5277.    <!-- Select2 CSS Included in website-styles.pkgd.min.css -->
  5278.    <!--[if lt IE 9]>
  5279.    <script defer src="https://www.optimizecdn.com/directory/cdn/assets/html5shiv/3.7.2/html5shiv.min.js"></script>
  5280.    <script defer src="https://www.optimizecdn.com/directory/cdn/bootstrap/select2/master/js/respond.min.js"></script>
  5281.    <![endif]-->
  5282.    <script>
  5283.  
  5284.        var preloaded_ttid  = false;
  5285.        var preloaded_tid   = false;
  5286.        var preloaded_sid   = false;
  5287.        var path            = window.location.pathname.replace(/\//g, "_");
  5288.  
  5289.        if (performance.navigation.type !== 2) {
  5290.            if (sessionStorage.getItem('select2_ttid'+path) !== null) {
  5291.                sessionStorage.removeItem('select2-ttid'+path);
  5292.            }
  5293.  
  5294.            if (sessionStorage.getItem('select2-tid'+path) !== null) {
  5295.                sessionStorage.removeItem('select2-tid'+path);
  5296.            }
  5297.  
  5298.            if (sessionStorage.getItem('select2-sid'+path) !== null) {
  5299.                sessionStorage.removeItem('select2-sid'+path);
  5300.            }
  5301.  
  5302.        }else if(performance.navigation.type === 2){
  5303.            if (sessionStorage.getItem('select2-ttid'+path) !== null) {
  5304.                preloaded_ttid = sessionStorage.getItem('select2-ttid'+path);
  5305.            }
  5306.  
  5307.            if (sessionStorage.getItem('select2-tid'+path) !== null) {
  5308.                preloaded_tid = sessionStorage.getItem('select2-tid'+path);
  5309.            }
  5310.  
  5311.            if (sessionStorage.getItem('select2-sid'+path) !== null) {
  5312.                preloaded_sid = sessionStorage.getItem('select2-sid'+path);
  5313.            }
  5314.        }
  5315.  
  5316.        window.addEventListener('load', () => {
  5317.            let select2Inputs = document.querySelectorAll('.select-category-chained,#sid,#tid,.combobox,#bd-chained,#category-chained,.infinite-chained,.subcategory-chained,.search-chained,select#country-chained,#state-chained,#country-chained-2,#state-chained-2,#profession_id,[name^="bd_phone_country_code"]');
  5318.            if (typeof select2Inputs != "undefined") {
  5319.                for (let i = 0; i < select2Inputs.length; i++) {
  5320.                    let inputPlaceHolder = select2Inputs[i].getAttribute('placeholder');
  5321.                    if (!select2Inputs[i].getAttribute('placeholder')) {
  5322.                        inputPlaceHolder = select2Inputs[i].getAttribute('data-placeholder');
  5323.                    }
  5324.                    let countryCode = select2Inputs[i].getAttribute('data-country-code');
  5325.                    if (select2Inputs[i].getAttribute('data-country-code') != null && countryCode > 0 && typeof isoCountries != 'undefined') {
  5326.                        for (let c = 0; c < isoCountries.length; c++) {
  5327.                            if(isoCountries[c].id == countryCode){
  5328.                                //   select2Inputs[i].querySelector('option:first-child').text = isoCountries[c].text;
  5329.                                select2Inputs[i].text = isoCountries[c].text;
  5330.                            }
  5331.                        }
  5332.  
  5333.                    }
  5334.                    if(select2Inputs[i].hasAttribute('data-country-code')){
  5335.                        inputPlaceHolder = null; //reset the input
  5336.                    }
  5337.                    if (inputPlaceHolder != '' && inputPlaceHolder !== null) {
  5338.                        select2Inputs[i].querySelector('option:first-child').text = inputPlaceHolder;
  5339.                        select2Inputs[i].style.color = "#a8a8a8";
  5340.                        if(!select2Inputs[i].querySelector('option:first-child').hasAttribute('value')){
  5341.                            select2Inputs[i].querySelector('option:first-child').value='';
  5342.                        }
  5343.                    }
  5344.                    select2Inputs[i].classList.add("select2-preload");
  5345.                    select2Inputs[i].addEventListener('mousedown', select2OnFormClick, false);
  5346.                }
  5347.            }
  5348.        });
  5349.  
  5350.        function select2OnFormClick(event = false) {
  5351.            let elemtClicked = '';
  5352.            if (event !== false) {
  5353.                event.preventDefault();
  5354.                event.stopImmediatePropagation();
  5355.                elemtClicked = event.target;
  5356.                elemtClicked.disabled = true;
  5357.            }
  5358.  
  5359.            let loadScriptAsync = function (uri) {
  5360.                return new Promise((resolve, reject) => {
  5361.                    let script = document.createElement('script');
  5362.                    script.type = 'text/javascript';
  5363.                    script.src = uri;
  5364.                    script.async = true;
  5365.                    script.onload = function () {
  5366.                        if (event !== false) {
  5367.                            elemtClicked.disabled = false;
  5368.                            select2Initialize();
  5369.                            $(elemtClicked).select2('open');
  5370.                            $(elemtClicked).on("select2-close", function () {
  5371.                                setTimeout(function() {
  5372.                                    $('.select2-container-active').removeClass('select2-container-active');
  5373.                                    $(':focus').blur();
  5374.                                }, 1);
  5375.                            });
  5376.                            if (elemtClicked.hasAttribute('data-fv-field')) {
  5377.                                if (window.getComputedStyle(elemtClicked).display === "none") {
  5378.                                    // if element is display none, the formvalition can not read
  5379.                                    elemtClicked.style.cssText = "display: block;position: absolute;visibility: hidden !important;height: 0;width: 0;opacity: 0 !important;"
  5380.                                }
  5381.                            }
  5382.                        } else {
  5383.                            select2Initialize();
  5384.                        }
  5385.                        resolve("ok");
  5386.                    };
  5387.                    let head = document.getElementsByTagName('head')[0];
  5388.                    head.appendChild(script);
  5389.                });
  5390.            }
  5391.  
  5392.            let select2Inputs = document.querySelectorAll('.select-category-chained,#sid,#tid,.combobox,#bd-chained,#category-chained,.infinite-chained,.subcategory-chained,.search-chained,select#country-chained,#state-chained,#country-chained-2,#state-chained-2,#profession_id,[name^="bd_phone_country_code"]');
  5393.  
  5394.            if (typeof select2Inputs != "undefined") {
  5395.                for (let i = 0; i < select2Inputs.length; i++) {
  5396.                    let inputPlaceHolder = select2Inputs[i].getAttribute('placeholder');
  5397.                    if (!select2Inputs[i].getAttribute('placeholder')) {
  5398.                        inputPlaceHolder = select2Inputs[i].getAttribute('data-placeholder');
  5399.                    }
  5400.                    if(select2Inputs[i].hasAttribute('data-country-code')){
  5401.                        inputPlaceHolder = null; //reset the input
  5402.                    }
  5403.                    if (inputPlaceHolder != '' && inputPlaceHolder !== null) {
  5404.                        select2Inputs[i].querySelector('option:first-child').text = '';
  5405.                    }
  5406.                    select2Inputs[i].removeEventListener('mousedown', select2OnFormClick, false);
  5407.                }
  5408.            }
  5409.            let scriptLoaded = loadScriptAsync('https://www.optimizecdn.com/directory/cdn/bootstrap/select2/3.5.2/select2.min.js?v=3.5.5');
  5410.            return scriptLoaded;
  5411.        }
  5412.  
  5413.        function select2Initialize(){
  5414.            function getSecondLevel(div,id) {
  5415.                $("#" + div).select2("data", {
  5416.                    id: "",
  5417.                    text: "Loading..."
  5418.                });
  5419.                $.ajax({
  5420.                    url : '/ajaxsearch/get-services',
  5421.                    type : "GET",
  5422.                    data : {
  5423.                        'specialty_id' : id
  5424.                    },
  5425.                    dataType: "json",
  5426.                    success : function(data) {
  5427.                        var options = '';
  5428.  
  5429.                        for (var i = 0; i < data.length; i++) {
  5430.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  5431.                        }
  5432.                        if (div == "tid"){
  5433.                            $("#ttid").select2("data", {
  5434.                                id: "",
  5435.                                text: "No options available"
  5436.                            });
  5437.  
  5438.  
  5439.                            $("#ttid").select2("enable", false);
  5440.  
  5441.                            $("#" + div).change(function () {
  5442.                                sessionStorage.setItem("select2-tid"+path,$(this).val());
  5443.                            });
  5444.                        }
  5445.                        if (data.length > 1) {
  5446.                            $("#" + div).select2("enable",true);
  5447.                            $("#" + div).html(options);
  5448.                            $("#" + div).select2("val", "");
  5449.                                                        $("#" + div).select2("open");
  5450.                            
  5451.                        } else {
  5452.                            $("#"+div).select2("data", {
  5453.                                id: "",
  5454.                                text: "No options available"
  5455.                            });
  5456.                            $("#"+div).select2("val", "");
  5457.                        }
  5458.  
  5459.                        if(div == 'tid' && preloaded_tid !== false){
  5460.                            $("#" + div).select2("val", preloaded_tid);
  5461.                        }
  5462.                    }
  5463.                });
  5464.            }
  5465.            function getSecondLevelAccount(div,id) {
  5466.                $("#" + div).select2("data", {
  5467.                    id: "",
  5468.                    text: "Loading..."
  5469.                });
  5470.                $.ajax({
  5471.                    url : '/ajaxsearch/get-services',
  5472.                    type : "GET",
  5473.                    data : {
  5474.                        'specialty_id' : id
  5475.                    },
  5476.                    dataType: "json",
  5477.                    success : function(data) {
  5478.                        var options = '';
  5479.  
  5480.                        for (var i = 0; i < data.length; i++) {
  5481.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  5482.                        }
  5483.                        if (data.length > 1) {
  5484.                            $("#" + div).select2("close");
  5485.                            $("#" + div).select2("val", "");
  5486.                            $("#" + div).select2("enable",true);
  5487.                            $("#" + div).html(options);
  5488.  
  5489.                            
  5490.                        } else {
  5491.                            $("#"+div).select2("data", {
  5492.                                id: "",
  5493.                                text: "No options available"
  5494.                            });
  5495.                            $("#"+div).select2("val", "");
  5496.                        }
  5497.                    }
  5498.                });
  5499.            }
  5500.            function getThirdLevel(div,id,id2) {
  5501.                $("#"+div).select2("data", {
  5502.                    id: "",
  5503.                    text: "Loading..."
  5504.                });
  5505.  
  5506.                $.ajax({
  5507.                    url : '/ajaxsearch/get-locations',
  5508.                    type : "GET",
  5509.                    data : {
  5510.                        'specialty_id' : id,
  5511.                        'treatment_id' : id2,
  5512.                    },
  5513.                    dataType: "json",
  5514.                    success : function(data) {
  5515.                        var options = '';
  5516.  
  5517.                        for (var i = 0; i < data.length; i++) {
  5518.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  5519.                        }
  5520.                        if (data.length > 1) {
  5521.                            $("#" + div).select2("enable",true);
  5522.                            $("#" + div).html(options);
  5523.                            $("#" + div).select2("val", "");
  5524.                                                        $("#" + div).select2("open");
  5525.                            
  5526.                        } else {
  5527.                            $("#"+div).select2("data", {
  5528.                                id: "",
  5529.                                text: "No options available"
  5530.                            });
  5531.                            $("#"+div).select2("val", "");
  5532.                        }
  5533.                    }
  5534.                });
  5535.            }
  5536.            var current_country = '';
  5537.            function getStateList(div,id) {
  5538.                if (id != current_country) {
  5539.  
  5540.                    $("#"+div).select2("data", {
  5541.                        id: "",
  5542.                        text: "Loading..."
  5543.                    });
  5544.                    $.ajax({
  5545.                        url : '/ajaxsearch/get-states',
  5546.                        type : "GET",
  5547.                        data : {
  5548.                            'country' : id
  5549.                        },
  5550.                        dataType: "json",
  5551.                        success : function(data) {
  5552.                            $("#" + div).html(''); // clear options
  5553.  
  5554.  
  5555.                            if (data.length > 1) {
  5556.                                var options = '';
  5557.                                for (var i = 0; i < data.length; i++) {
  5558.                                    //  options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  5559.                                    var newOption = new Option(data[i].title, data[i].value, false, false);
  5560.                                    $("#" + div).append(newOption).trigger('change');
  5561.  
  5562.                                }
  5563.  
  5564.                                $("#" + div).select2("enable",true);
  5565.                                //$("#" + div).html(options);
  5566.                                $("#" + div).prop("disabled", false);
  5567.                                $("#" + div).select2("val", "");
  5568.                                $("#" + div).select2("open");
  5569.                            }
  5570.                        }
  5571.                    });
  5572.                } else {
  5573.                    $("#" + div).select2("val", "");
  5574.                }
  5575.            }
  5576.            function getInfinityChained(div,id) {
  5577.                $("#"+div).select2("data", {
  5578.                    id: "",
  5579.                    text: "Loading..."
  5580.                });
  5581.                $.ajax({
  5582.                    url : '/ajaxsearch/get-subcategory',
  5583.                    type : "GET",
  5584.                    data : {
  5585.                        'parent' : id
  5586.                    },
  5587.                    dataType: "json",
  5588.                    success : function(data) {
  5589.                        var options = '';
  5590.  
  5591.                        for (var i = 0; i < data.length; i++) {
  5592.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  5593.                        }
  5594.                        if (data.length > 1) {
  5595.                            $("#" + div).select2("enable",true);
  5596.                            $("#" + div).html(options);
  5597.                            if(div == 'tid' && '' != ''){
  5598.                                $("#" + div).select2("val", "");
  5599.                            } else if(div == 'tid' && preloaded_tid !== false){
  5600.                                $("#" + div).select2("val", preloaded_tid);
  5601.                            }else {
  5602.                                $("#" + div).select2("val", "");
  5603.                            }
  5604.  
  5605.  
  5606.  
  5607.                                                        $("#" + div).select2("open");
  5608.                            
  5609.                        } else {
  5610.                            $("#" + div).select2("data", {
  5611.                                id: "",
  5612.                                text: "No options available"
  5613.                            });
  5614.                        }
  5615.                    }
  5616.                });
  5617.            }
  5618.            function categoryChained(div,id) {
  5619.                $("#" + div).select2("data", {
  5620.                    id: "",
  5621.                    text: "Loading..."
  5622.                });
  5623.                if(div == "tid") {
  5624.                    url_link = '/ajaxsearch/get-services'
  5625.                    data_passed = {'specialty_id' : id}
  5626.                } else {
  5627.                    url_link = '/ajaxsearch/category-list';
  5628.                    data_passed = {'parent' : id} ;
  5629.                }
  5630.  
  5631.                var selectName = $("select[next="+div+"]").prop("name");
  5632.  
  5633.  
  5634.                if( (selectName == "ttid" || selectName == "sid" || selectName == "tid") ){
  5635.  
  5636.                    sessionStorage.setItem("select2-"+selectName+path,id);
  5637.                }
  5638.  
  5639.                $.ajax({
  5640.                    url : url_link,
  5641.                    type : "GET",
  5642.                    data : data_passed,
  5643.                    dataType: "json",
  5644.                    success : function(data) {
  5645.                        var options = '';
  5646.  
  5647.                        for (var i = 0; i < data.length; i++) {
  5648.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  5649.                        }
  5650.  
  5651.                        if (data.length > 1) {
  5652.                            $("#" + div).select2("enable",true);
  5653.                            $("#" + div).html(options);
  5654.  
  5655.                            if(div == "ttid" && preloaded_ttid !== false){
  5656.                                $("#" + div).select2("val", preloaded_ttid);
  5657.                                $("#" + div).trigger('change');
  5658.                            }else if(div == "tid" && preloaded_tid !== false){
  5659.                                $("#" + div).select2("val", preloaded_tid);
  5660.                                $("#" + div).trigger('change');
  5661.                            }else{
  5662.                                $("#" + div).select2("val", "");
  5663.                            }
  5664.  
  5665.  
  5666.                                                        $("#" + div).select2("open");
  5667.                            
  5668.                        } else {
  5669.                            $("#" + div).select2("data", {
  5670.                                id: "",
  5671.                                text: "No options available"
  5672.                            });
  5673.                        }
  5674.                    }
  5675.                });
  5676.            }
  5677.            function formatCountry(country) {
  5678.                if (!country.id && country.text.includes("+")) {
  5679.                    let dataCountry = country.text;
  5680.                    dataCountry = dataCountry.split('+')
  5681.                    country.code = dataCountry[0].trim();
  5682.                    country.id = dataCountry[1].trim();
  5683.                    return country;
  5684.                } else if (!country.code) {
  5685.                    return country.text;
  5686.                }
  5687.                var $country = $(
  5688.                    '<span class="flag-icon flag-icon-' + country.code.toLowerCase() + ' flag-icon-squared"></span>' +
  5689.                    '<span class="flag-text" style="margin-left:10px;">' + country.text + '</span>'
  5690.                );
  5691.                return $country;
  5692.            }
  5693.  
  5694.            let phoneCountryCode = document.querySelector("[name^='bd_phone_country_code']");
  5695.            if (typeof phoneCountryCode != 'undefined' && phoneCountryCode != null && typeof isoCountries != 'undefined') {
  5696.                $("[name^='bd_phone_country_code']").select2({
  5697.                    placeholder:`Country`,
  5698.                    data:isoCountries,
  5699.                    searchInputPlaceholder: `Enter Country Code`,
  5700.                    formatResult : formatCountry,
  5701.                    dropdownAutoWidth: true,
  5702.                    width: "resolve",
  5703.                }).on("select2-opening", function (e) {
  5704.                    if (typeof e.currentTarget.attributes['data-default-country-code'] !== "undefined") {
  5705.                        $(this).val(e.currentTarget.attributes['data-default-country-code'].value)
  5706.                            .removeAttr("data-default-country-code")
  5707.                            .trigger('change')
  5708.                            .trigger('open');
  5709.                    }
  5710.                }).change(function (e) {
  5711.                    let select2Span = $(this).attr('id');
  5712.                    if (e.val) {
  5713.                        $('#'+$(this).attr('id')+'--flag').remove();
  5714.                        $('#s2id_' + select2Span + ' a span.select2-chosen').prepend('<span class="flag-icon flag-icon-' + e.added.code.toLowerCase() + ' flag-icon-squared" style="margin-right:10px"></span>')
  5715.                    }else{
  5716.                        $('#s2id_' + select2Span + ' a span.select2-chosen').prepend('<span class="flag-icon flag-icon-' + $(this).attr('data-default-country-flag').toLowerCase() + ' flag-icon-squared" style="margin-right:10px"></span>')
  5717.                    }
  5718.                    $(this).removeAttr("data-default-country-flag");
  5719.  
  5720.                });
  5721.            }
  5722.            $("#bd-chained").select2({
  5723.                title: "Select An Option",
  5724.                placeholder: "Select An Option",
  5725.                allowClear: true,
  5726.                formatNoMatches: function () {
  5727.                    return "No matches found";
  5728.                }
  5729.            }).change(function () {
  5730.                var id = $(this).val();
  5731.                $("#tid").select2("enable",false);
  5732.                getInfinityChained("tid",id);
  5733.                                $("#tid").select2("open");
  5734.                            });
  5735.            $("#category-chained").select2({
  5736.                title: "Select An Option",
  5737.                placeholder: "Select An Option",
  5738.                allowClear: true
  5739.            }).change(function () {
  5740.                var id = $(this).val();
  5741.                $("#subcategory-chained").select2("enable",false);
  5742.                categoryChained("subcategory-chained",id);
  5743.                                $("#subcategory-chained").select2("open");
  5744.                            });
  5745.  
  5746.            $(".select-category-chained").select2({
  5747.                title: "Select An Option",
  5748.                placeholder: "Select An Option",
  5749.                allowClear: true
  5750.            })
  5751.            $(".infinite-chained").select2({
  5752.                title: "Select option from list",
  5753.                placeholder: "Click to select an option",
  5754.                allowClear: true,
  5755.                formatNoMatches: function () {
  5756.                    return "No matches found";
  5757.                }
  5758.            }).change(function () {
  5759.                var id          = $(this).val();
  5760.                var attr        = $(this).attr('next');
  5761.                var selectName  = $(this).prop('name');
  5762.                if ( selectName=='ttid' || attr =='ttid' ) {
  5763.                    $("#" + attr).select2("enable",false);
  5764.                    categoryChained(attr,id);
  5765.                                        $("#" + attr).select2("open");
  5766.                                        sessionStorage.setItem("select2-"+selectName+path,id);
  5767.                }
  5768.            }).on("select2-close", function () {
  5769.                setTimeout(function() {
  5770.                    $('.select2-container-active').removeClass('select2-container-active');
  5771.                    $(':focus').blur();
  5772.                }, 1);
  5773.            });
  5774.            $("#subcategory-chained").select2();
  5775.            $(".combobox").select2();
  5776.            $(".search-chained").select2();
  5777.  
  5778.            $("select#country-chained").select2({
  5779.                title: "",
  5780.                placeholder: "",
  5781.                val: "",
  5782.                allowClear: true,
  5783.                formatNoMatches: function () {
  5784.                    return "No matches found";
  5785.                }
  5786.            }).change(function () {
  5787.                var id = $(this).val();
  5788.                $("#state-chained").select2("enable",false);
  5789.                getStateList("state-chained",id);
  5790.                var state = "";
  5791.  
  5792.                if (id == "CA") {
  5793.                    state = "Province";
  5794.  
  5795.                } else if (id == "UK") {
  5796.                    state = "Region";
  5797.  
  5798.                } else if (id == "US" || id == "AU") {
  5799.                    state = "State";
  5800.  
  5801.                } else {
  5802.                    state = "Region";
  5803.                }
  5804.                $("#state-chained").prev(".control-label").text(state);
  5805.            });
  5806.            $("#state-chained").select2();
  5807.  
  5808.            $("#state-chained").on("select2-open", function(event) {
  5809.                event.preventDefault();
  5810.                var id = $("#country-chained").val();
  5811.                var count = $('#state-chained option').length;
  5812.  
  5813.                if (id != "" && count < 2) {
  5814.                    $("#state-chained").select2("enable",false);
  5815.                    getStateList("state-chained",id);
  5816.                    var state = "";
  5817.  
  5818.                    if (id == "CA") {
  5819.                        state = "Province";
  5820.  
  5821.                    } else if (id == "UK") {
  5822.                        state = "Region";
  5823.  
  5824.                    } else if (id == "US" || id == "AU") {
  5825.                        state = "State";
  5826.  
  5827.                    } else {
  5828.                        state = "Region";
  5829.                    }
  5830.                    $("#state-chained").prev(".control-label").text(state);
  5831.                }
  5832.            });
  5833.  
  5834.            $("#country-chained-2").select2({
  5835.                title: "Select Country",
  5836.                placeholder: "(select country)",
  5837.                val: "",
  5838.                allowClear: true,
  5839.                formatNoMatches: function () {
  5840.                    return "No matches found";
  5841.                }
  5842.            }).change(function () {
  5843.                var id = $(this).val();
  5844.                $("#state-chained-2").select2("enable",false);
  5845.                getStateList("state-chained-2",id);
  5846.                var state = "";
  5847.  
  5848.                if (id == "CA") {
  5849.                    state = "Province";
  5850.  
  5851.                } else if (id == "UK") {
  5852.                    state = "Region";
  5853.  
  5854.                } else if (id == "US" || id == "AU") {
  5855.                    state = "State";
  5856.  
  5857.                } else {
  5858.                    state = "Region";
  5859.                }
  5860.                $("#state-chained-2").prev(".control-label").text(state);
  5861.            });
  5862.  
  5863.            $("#state-chained-2").select2();
  5864.            $("#profession_id").select2({
  5865.                placeholder: "Select From List",
  5866.                allowClear: true,
  5867.                formatNoMatches: function () {
  5868.                    return "No matches found";
  5869.                }
  5870.            }).change(function () {
  5871.                var id = $(this).val();
  5872.                getSecondLevelAccount("category_id",id);
  5873.                                $("#category_id").select2("open");
  5874.                            });
  5875.                        $("#sid").select2({
  5876.                title: "Select An Option",
  5877.                placeholder: "Select An Option",
  5878.                allowClear: true,
  5879.                formatNoMatches: function () {
  5880.                    return "No matches found";
  5881.                }
  5882.            }).change(function () {
  5883.                var id = $(this).val();
  5884.                $("#tid").select2("enable",false);
  5885.                getSecondLevel("tid",id);
  5886.                $("#tid").select2("open");
  5887.                sessionStorage.setItem("select2-sid"+path,id);
  5888.            });
  5889.            $("#location_value_dropdown").select2({
  5890.                title: "(optional)",
  5891.                placeholder: "(optional)",
  5892.                allowClear: true,
  5893.                formatNoMatches: function () {
  5894.                    return "No matches found";
  5895.                }
  5896.            });
  5897.            $("#tid").select2({
  5898.                title: "Select An Option",
  5899.                placeholder: "Select An Option",
  5900.                allowClear: true,
  5901.                formatNoMatches: function () {
  5902.                    return "No matches found";
  5903.                }
  5904.                            });
  5905.            $("#location_value_dropdown").select2({
  5906.                title: "(optional)",
  5907.                placeholder: "(optional)",
  5908.                allowClear: true
  5909.            });
  5910.        }
  5911.  
  5912.        if(preloaded_ttid !== false || preloaded_tid !== false || preloaded_sid !== false){
  5913.            $(document).ready(function(){
  5914.                if(preloaded_sid !== false && $("#sid").length > 0){
  5915.                    select2OnFormClick();
  5916.                    setTimeout(() => {
  5917.                        $("#sid").select2('val', preloaded_sid);
  5918.                        $('#sid').trigger('change');
  5919.                    }, 500);
  5920.                }else if(preloaded_tid !== false && $("#sid").length <= 0){
  5921.                    select2OnFormClick();
  5922.                    setTimeout(() => {
  5923.                        $("#tid").select2('val', preloaded_tid);
  5924.                        $('#tid').trigger('change');
  5925.                    }, 500);
  5926.                }
  5927.            });
  5928.        }
  5929.    </script>
  5930. <script>
  5931.    // Function to add aria-label to <select> elements without it, for better pagespeed accessibility score
  5932.    $(document).ready(function() {
  5933.        var ariaLabelCounter = {}; // Object to keep track of aria-label counts for uniqueness
  5934.  
  5935.        // Iterate over each select element that does not have an aria-label
  5936.        $('select:not([aria-label])').each(function() {
  5937.            // Use the ID or placeholder as the base for the aria-label, stripping HTML tags
  5938.            var baseLabel = this.id || $(this).attr('placeholder') || 'select';
  5939.            baseLabel = baseLabel.replace(/<[^>]*>/g, '').trim(); // Remove HTML tags and trim
  5940.  
  5941.            // Ensure uniqueness of each aria-label
  5942.            ariaLabelCounter[baseLabel] = (ariaLabelCounter[baseLabel] || 0) + 1;
  5943.            var ariaLabel = baseLabel + '-' + ariaLabelCounter[baseLabel];
  5944.  
  5945.            // Truncate aria-label to 100 characters
  5946.            ariaLabel = ariaLabel.length > 100 ? ariaLabel.substring(0, 100) : ariaLabel;
  5947.  
  5948.            // Set the aria-label attribute to the unique label
  5949.            $(this).attr('aria-label', ariaLabel);
  5950.        });
  5951.    });
  5952. </script><!-- Start: Copyright 2021 TraceMyIP.org Service Code (052204-10292021)- DO NOT MODIFY //-->
  5953. <div id="elemID031021" style="line-height:16px;text-align:center;position:relative;z-index:100000;"><script type="text/javascript" src="https://s2.tracemyip.org/tracker/lgUrl.php?stlVar2=1306&rgtype=4684NR-IPIB&pidnVar2=96351&prtVar2=12&scvVar2=12"></script><noscript><a href="https://www.tracemyip.org/tools/cookie-free-tracking-analytics-eu-cookie-law-solution/"><img src="https://s2.tracemyip.org/tracker/1306/4684NR-IPIB/96351/12/12/ans/" alt="cookie-less hit tracker" style="border:0px;"></a></noscript></div> <!-- End: TraceMyIP.org Service Code //-->
  5954. <style type='text/css'> .input-group.normal-autosuggest input,.input-group.sm-autosuggest input, .input-group.md-autosuggest input {
  5955. border-radius: 0 3px 3px 0 !important;
  5956. box-shadow: none;
  5957. }
  5958. .normal-autosuggest .twitter-typeahead, .sm-autosuggest .twitter-typeahead, .md-autosuggest .twitter-typeahead, .large-autosuggest .twitter-typeahead {
  5959. display: inline-block;
  5960. height: 25px;
  5961. position: relative;
  5962. width: 100%;
  5963. }
  5964. .input-group.normal-autosuggest .twitter-typeahead, .input-group.sm-autosuggest .twitter-typeahead, .input-group.large-autosuggest .twitter-typeahead:not(.search_box .twitter-typeahead) {
  5965. width: inherit;
  5966. }
  5967. .normal-autosuggest .twitter-typeahead .clear_content.medium{
  5968. bottom: 0px;
  5969. }
  5970. .sm-autosuggest .twitter-typeahead .clear_content.small{
  5971. bottom: -4px;
  5972. }
  5973. .md-autosuggest.input-group .twitter-typeahead .clear_content.medium  {
  5974.    bottom: -2px;
  5975. }
  5976. .md-autosuggest .twitter-typeahead {
  5977. height: 32px;
  5978. }
  5979. .md-autosuggest  .input-group-addon  + .input_wrapper .twitter-typeahead {
  5980. height: 29px;
  5981. }
  5982. .md-autosuggest-input + .clear_content.medium {
  5983.    bottom: 0px;
  5984. }
  5985. .large-autosuggest .twitter-typeahead {
  5986. height: 40px;
  5987. }
  5988. .normal-autosuggest .twitter-typeahead{
  5989. height: 34px;
  5990. }
  5991. .normal-autosuggest .twitter-typeahead .tt-hint, .sm-autosuggest .twitter-typeahead .tt-hint {
  5992. background: #fff !important;
  5993. border: 1px solid #ccc!important;
  5994. border-radius: 0 4px 4px 0;
  5995. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
  5996. color: transparent;
  5997. left: 0;
  5998. padding: 4px 11px;
  5999. position: absolute;
  6000. top: 0;
  6001. width: 100%;
  6002. font-size:12px;
  6003. }
  6004. .normal-autosuggest.input-group-addon .fa, .sm-autosuggest .input-group-addon .fa {font-size:12px}
  6005. .md-autosuggest .twitter-typeahead .tt-hint {
  6006. height: 100%;
  6007. background: #ffffff none repeat scroll 0 0 !important;
  6008. border: 1px solid #cccccc !important;
  6009. border-radius: 0 4px 4px 0;
  6010. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset !important;
  6011. color: rgba(0, 0, 0, 0);
  6012. left: 0;
  6013. padding: 6px 11px;
  6014. position: absolute;
  6015. top: 0;
  6016. width: 100%;
  6017. }
  6018. .large-autosuggest {background: #fff !important;border-radius:6px;}
  6019. .large-autosuggest input {width: 100%!important;box-shadow:none; border-radius: 6px;}
  6020. .input-group.large-autosuggest input,.input-group.large-autosuggest .twitter-typeahead .tt-hint {
  6021. border-radius: 0 6px 6px 0!important;
  6022. }
  6023. .large-autosuggest .twitter-typeahead .tt-hint {
  6024. background: #fff !important;
  6025. border: 1px solid #ccc!important;
  6026. border-radius: 6px;
  6027. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
  6028. color: transparent;
  6029. left: 0;
  6030. position: absolute;
  6031. top: 0;
  6032. width: 100%;
  6033. font-size: 18px;
  6034. height: 46px;
  6035. line-height: 1.33333;
  6036. padding: 10px 15px;
  6037. }
  6038. .tt-dataset .empty-message {
  6039. display: none !important;
  6040. }
  6041. .twitter-typeahead .tt-query {background-color:#fff!important}
  6042. .input-group.large-autosuggest span:first-child .tt-hint {border-radius: 0 !important;}
  6043. span.tt-dropdown-menu {
  6044. border: 1px solid #FCFCFC;
  6045. border-radius: 5px;
  6046. box-shadow: 0 5px 10px rgba(0,0,0,.2);
  6047. width: 100% !important;
  6048. }
  6049. .tt-is-under-cursor a.suggest-link {
  6050. background: #55ACEE;
  6051. }
  6052. .tt-is-under-cursor .media-heading,
  6053. .tt-is-under-cursor .suggest-origin,
  6054. .tt-is-under-cursor .location{
  6055. color:#fff!important;
  6056. }
  6057. .tt-suggestion .media .media-body .suggest-origin {
  6058. color: rgba(45, 91, 137,0.9);
  6059. padding: 1px 0;
  6060. border-radius: 6px;
  6061. font-weight: bold;
  6062. line-height: 12px;
  6063. }
  6064. .tt-suggestion {
  6065. background: #fff;
  6066. border-bottom: 1px solid #eee;
  6067. -webkit-transition: all 0.3s ease-in-out;
  6068. -moz-transition: all 0.3s ease-in-out;
  6069. -o-transition: all 0.3s ease-in-out;
  6070. transition: all 0.3s ease-in-out;
  6071. }
  6072. body .tt-suggestions .media.br-bottom img {
  6073. max-width: 45px;
  6074. height: auto;
  6075. }
  6076. body .tt-suggestions .media-body span {
  6077. font-size: 10px;
  6078. }
  6079. body .tt-suggestions .media-body h4 {
  6080. font-size: 12px;
  6081. margin: 2px 0px;
  6082. text-transform: capitalize;
  6083. }
  6084. a.suggest-link {
  6085. padding: 5px;
  6086. display: block;
  6087. }
  6088. a.suggest-link img {
  6089. border-radius: 100px;
  6090. display: block;
  6091. margin: 0 auto;
  6092. height: 100%!important;
  6093. width: 100%;
  6094. object-fit: cover;
  6095. }
  6096. .left-suggest-col {
  6097. display: inline-block;
  6098. vertical-align: middle;
  6099. width: 44px;
  6100. height: 44px;
  6101. }
  6102. .right-suggest-col {
  6103. display: inline-block;
  6104. padding-left: 1%;
  6105. text-align: left;
  6106. vertical-align: middle;
  6107. width: calc(100% - 1% - 50px);
  6108. }
  6109. p.media-heading {
  6110. color: #333;
  6111. font-size: 12px;
  6112. font-weight: 600;
  6113. margin-bottom: 0;
  6114. }
  6115. p.suggest-origin {
  6116. font-size: 10px;
  6117. color: #333;
  6118. margin:0;
  6119. }
  6120. p.location {
  6121. color: #333;
  6122. font-size: 10px;
  6123. margin: 2px 0;
  6124. }
  6125. body .tt-is-under-cursor a.suggest-link {
  6126. background: #F7F7F7;
  6127. }
  6128. body .tt-is-under-cursor .media-heading, body .tt-is-under-cursor .suggest-origin, body .tt-is-under-cursor .location {
  6129. color: #333!important;
  6130. }
  6131. body .tt-is-under-cursor a.suggest-link[data-heading="heading"] {
  6132. background: rgb(217, 83, 79);
  6133. }
  6134. /* --- all the novalue css --- */
  6135. a.suggest-link .suggest-origin[data-state="novalue"] {
  6136. display: none;
  6137. }
  6138. a.suggest-link .location[data-state="novalue"] {
  6139. display: none;
  6140. }
  6141. a.suggest-link img[data-state="novalue"] {
  6142. display: none;
  6143. }
  6144. a.suggest-link .suggest-origin[data-state="heading"] {
  6145. display: none;
  6146. }
  6147. a.suggest-link .media-heading[data-heading="heading"] {
  6148. color:rgb(253, 253, 253)!important;
  6149. font-weight: bold;
  6150. padding: 4px;
  6151. font-size: 13px;
  6152. }
  6153. .left-suggest-col[data-photo="novalue"], .left-suggest-col[data-photo="undefined"] {
  6154. display: none;
  6155. }
  6156. .right-suggest-col[data-photo="novalue"], .right-suggest-col[data-photo="undefined"] {
  6157. width: 100%;
  6158. }
  6159. a.suggest-link[href="novalue"] {
  6160. cursor: default !important;
  6161. pointer-events: none;
  6162. }
  6163. a.suggest-link[data-heading="heading"] {
  6164. background-color: rgb(217, 83, 79);
  6165. }
  6166. div.content-shell {
  6167. overflow: inherit;
  6168. }
  6169. span.tt-dropdown-menu div {
  6170. float: none;
  6171. }
  6172. .tt-menu {
  6173. border-radius: 0 0 6px 6px;
  6174. box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  6175. overflow: hidden;
  6176. width: 100%;
  6177. }
  6178. .tt-menu .tt-dataset {
  6179.    overflow-y: auto;
  6180.    max-height: 200px;
  6181. } </style>        <script type="text/javascript">
  6182.            
  6183.            if (typeof decodeHtml != "function") {
  6184.                function decodeHtml(html) {
  6185.                    var txt = document.createElement("textarea");
  6186.                    txt.innerHTML = html;
  6187.                    return txt.value;
  6188.                }
  6189.            }
  6190.                        function initializeTypeheadMember_search() {
  6191.                var member_searchEngine = new Bloodhound({
  6192.                    initialize: false,
  6193.                    datumTokenizer: function (d) {
  6194.                        return Bloodhound.tokenizers.whitespace(value);
  6195.                    },
  6196.                    queryTokenizer: Bloodhound.tokenizers.whitespace,
  6197.                    remote: {
  6198.                        url: `/api/suggest/json/get/14,users_data,Listing,1,1,1,1,0,3|88,list_professions,Main Category,1,0,0,0,0,3|89,list_services,Sub Category,1,0,0,0,0,3?tID=1&q=%QUERY`,
  6199.                        wildcard: '%QUERY',
  6200.                        filter: function (response) {
  6201.  
  6202.                            if (response != null) {
  6203.                                //var response = response.slice(1);
  6204.                                $.each(
  6205.                                    response, function (key, value) {
  6206.                                        response[key]['value'] = decodeHtml(value['value']);
  6207.                                        response[key]['comes_f'] = decodeHtml(value['comes_f']);
  6208.                                        response[key]['location'] = decodeHtml(value['location']);
  6209.  
  6210.                                        if (response[key]['value'].indexOf('-/-') >= 0) {
  6211.                                            var splitResult = response[key]['value'].split('-/-');
  6212.                                            response[key]['value'] = splitResult[0];
  6213.                                        }
  6214.                                    }
  6215.                                );
  6216.  
  6217.                            } else {
  6218.                                response = {error: "null"};
  6219.                            }
  6220.  
  6221.                            return response;
  6222.                        }
  6223.                    }
  6224.                });
  6225.                var member_searchDataSrc = member_searchEngine.initialize();
  6226.  
  6227.                member_searchDataSrc
  6228.                    .done(function () { /*console.log('Autosuggestions engine initialized.'); */
  6229.                    })
  6230.                    .fail(function () { /*console.log('err, something went wrong while initializing autosuggestions engine:(');*/
  6231.                    })
  6232.  
  6233.                $('.member_search').typeahead({
  6234.                        minLength:  2,
  6235.                        highlight: true,
  6236.                        hint: false                    },
  6237.                    {
  6238.                        display: 'value',
  6239.                        source: member_searchEngine.ttAdapter(),
  6240.                        limit: 10,
  6241.                        templates: {
  6242.                            empty: [
  6243.                                '<div class="empty-message">',
  6244.                                'Result not found',
  6245.                                '</div>'
  6246.                            ].join(" "),
  6247.                            notFound: [
  6248.                                '<div class="notFound-message">',
  6249.                                'Result not found',
  6250.                                '</div>'
  6251.                            ].join(" "),
  6252.                            suggestion: function (data) {
  6253.  
  6254.                                if (data == "null") {
  6255.                                    strTemplate = '<div class="empty-message">Result not found</div>';
  6256.  
  6257.                                } else {
  6258.                                    strTemplate = '<a class="suggest-link" href="' + data.link + '" data-state="' + data.link + '" data-heading="' + data.comes_f + '"> <div class="left-suggest-col" data-photo="' + data.photo + '"> <img src="' + data.photo + '" data-state="' + data.photo + '"> </div> <div class="right-suggest-col" data-photo="' + data.photo + '"> <p class="media-heading" data-state="' + data.value + '" data-heading="' + data.comes_f + '">' + data.value + '</p> <p class="suggest-origin" data-state="' + data.comes_f + '">' + data.comes_f + '</p> <p class="location" data-state="' + data.location + '">' + data.location + '</p> </div> </a> ';
  6259.  
  6260.                                    if ((data.link == undefined) || (data.link == "") || (data.link == "novalue")) {
  6261.                                        strTemplate = strTemplate.replace(/href=".*?"/, "href='#'");
  6262.                                    }
  6263.  
  6264.                                    if ((data.photo == undefined) || (data.photo == "") || (data.photo == "novalue")) {
  6265.                                        strTemplate = strTemplate.replace(/<img src=".*?>/, "");
  6266.                                    }
  6267.                                }
  6268.  
  6269.                                return strTemplate;
  6270.                            }
  6271.                        },
  6272.                    }).on('typeahead:selected', function (obj, datum) {
  6273.                    /*
  6274.                    console.log(obj);
  6275.                    console.log(datum);
  6276.                    */
  6277.                });
  6278.  
  6279.                $('.member_search').each(function () {
  6280.                    var inputWidth = $(this).outerWidth();
  6281.                    $(this).siblings('.tt-dropdown-menu').css('width', inputWidth + 'px');
  6282.                });
  6283.            }
  6284.        </script>
  6285.            <script>
  6286.        let typeheadElement = '.member_search';
  6287.        let TypeheadNameListFunction = 'initializeTypeheadMember_search';
  6288.        let typeheadFormElement = undefined;
  6289.        window.addEventListener('load', () => {
  6290.            if(typeheadElement.length > 1) {
  6291.                typeheadFormElement = document.querySelectorAll(typeheadElement);
  6292.            }
  6293.            if (typeof typeheadFormElement != "undefined") {
  6294.                for (let i = 0; i < typeheadFormElement.length; i++) {
  6295.                    let closestForm = typeheadFormElement[i].closest('form');
  6296.                    if (typeof closestForm != "undefined" && closestForm != null) {
  6297.                        closestForm.addEventListener('focus', typeheadFormClick, false);
  6298.                    }
  6299.                    typeheadFormElement[i].addEventListener('focus', typeheadFormClick, false);
  6300.                }
  6301.            }
  6302.        });
  6303.        function initializeTypehead(){
  6304.            let splitFunctionNames= TypeheadNameListFunction.split(',');
  6305.            for ( let funcName of splitFunctionNames)
  6306.                if (typeof funcName != 'function') {
  6307.                    window[funcName](); // execute the function
  6308.  
  6309.                }
  6310.        }
  6311.        function typeheadFormClick(event) {
  6312.  
  6313.            let head = document.getElementsByTagName('head')[0];
  6314.            let script = document.createElement('script');
  6315.            let elementClicked = event.target;
  6316.            script.type = 'text/javascript';
  6317.            script.src = "https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/0.11.1/typeahead.bundle.min.js";
  6318.            script.onload = function () {
  6319.                initializeTypehead();
  6320.                elementClicked.focus();
  6321.            };
  6322.            head.appendChild(script);
  6323.            if (typeof typeheadFormElement != "undefined") {
  6324.                for (let i = 0; i < typeheadFormElement.length; i++) {
  6325.                    let closestForm = typeheadFormElement[i].closest('form');
  6326.                    if (typeof closestForm != "undefined" && closestForm != null) {
  6327.                        closestForm.removeEventListener('focus', typeheadFormClick, false);
  6328.                    }
  6329.                    typeheadFormElement[i].removeEventListener('focus', typeheadFormClick, false)
  6330.                }
  6331.            }
  6332.        }
  6333.  
  6334.  
  6335.    </script>
  6336.  
  6337.    <script>
  6338.    window.addEventListener('load', () => {
  6339.        let embedlyClass = document.querySelector('.fr-embedly');
  6340.        if (typeof embedlyClass != "undefined" && embedlyClass != null) {
  6341.            let embedlyURI = "https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/embedly_widget.min.js";
  6342.            let head = document.getElementsByTagName("head")[0];
  6343.            let script = document.createElement('script');
  6344.            script.type = 'text/javascript';
  6345.            script.src = embedlyURI;
  6346.            script.async = true;
  6347.            head.appendChild(script);
  6348.        }
  6349.    });
  6350. </script><script type="text/javascript" src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js"></script><script>
  6351.                            $(function () {
  6352.                                $(".lazyloader").Lazy({
  6353.                                    afterLoad: function(element) {
  6354.                                        $(".gridView.activeView").click();
  6355.                                    }
  6356.                                });
  6357.                                
  6358.                            });
  6359.                            $("button[class*='slick'],button[id*='slick']").click(function () {
  6360.                              $(this).parents(".row").find(".lazyloader").lazy({
  6361.                                    bind: "event",
  6362.                                    delay: 0
  6363.                                });
  6364.                            });
  6365.                            $("[class*='slick'],[id*='slick']").on("swipe",function(){
  6366.                              $(this).parents(".row").find(".lazyloader").lazy({
  6367.                                    bind: "event",
  6368.                                    delay: 0
  6369.                                });
  6370.                            });
  6371.                        </script><script defer src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=0.4"></script>
  6372.            </body>
  6373.        </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda