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. <!-- Social Media Meta Data -->
  23.    <meta property="og:type" content="website">
  24.    <meta property="og:url" content="https://www.whatsyourhours.com/england/colchester/professional-services/colchester-window-and-door-repairs">
  25.    <meta property="og:site_name" content="WhatsYourHours.com">
  26.    <meta property="og:title" content="Colchester Window and Door Repairs Colchester  on Business Directory WhatsYourHours.com">
  27.    <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">
  28.    <meta property="og:image" content="https://www.whatsyourhours.com/logos/social_media/limage-386682-186-photo.jpg">
  29. <script>
  30. var siteInfoSpan=document.createElement('span');
  31. siteInfoSpan.style.cssText='position:absolute;color:transparent;width:100%;z-index:-1;height:50px;top:0;';
  32. siteInfoSpan.textContent='www.whatsyourhours.com - WhatsYourHours.com';
  33. document.write(siteInfoSpan.outerHTML);
  34. </script>
  35.  
  36. <!-- Preload -->
  37. <link rel="preload" as="style" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=05.20.25.57" importance="high">
  38. <link rel="preload" href="/logos/profile/limage-386682-186-photo.jpg" as="image" importance="high">
  39.    <!-- Non-Critical Stylesheet - Render Before Critical Styles -->
  40. <link rel="stylesheet" media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css?v=3.2.7">
  41. <noscript>
  42. <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/non-critical-styles.pkgd.min.css">
  43. </noscript>
  44. <!-- Critical Stylesheet -->
  45. <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/css/critical-styles.pkgd.min.css?v=05.20.25.57">
  46.    
  47.    <!-- Google Fonts Stylesheet -->    
  48.    <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">
  49.    <noscript>
  50.        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800,900&display=swap">
  51.    </noscript>
  52.    <!-- FontAwesome Stylesheet -->
  53.    <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">
  54.    <noscript>
  55.        <link rel="stylesheet" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/font-awesome/css/font-awesome.min.css">
  56.    </noscript>
  57.    <!-- Critical JavaScript -->
  58.    <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery.min.js"></script>
  59. <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/jquery-ui.min.js"></script>
  60. <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/libraries/latest/bootstrap.min.js"></script>
  61. <script>
  62. /* jQuery.event.special.touchstart = {
  63. setup: function( _, ns, handle ) {
  64. this.addEventListener("touchstart", handle, { passive: !ns.includes("noPreventDefault") });
  65. }
  66. }; */
  67. jQuery.event.special.touchmove = {
  68. setup: function( _, ns, handle ) {
  69. this.addEventListener("touchmove", handle, { passive: !ns.includes("noPreventDefault") });
  70. }
  71. };
  72. jQuery.event.special.wheel = {
  73. setup: function( _, ns, handle ){
  74. this.addEventListener("wheel", handle, { passive: true });
  75. }
  76. };
  77. jQuery.event.special.mousewheel = {
  78. setup: function( _, ns, handle ){
  79. this.addEventListener("mousewheel", handle, { passive: true });
  80. }
  81. };
  82. </script>
  83.    <!-- Prefetch -->
  84.    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/jquery.lazy/1.7.9/jquery.lazy.min.js" as="script">
  85.    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=0.4" as="script">
  86. <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css" as="style">
  87.    <link rel="prefetch" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js" as="script">
  88.  
  89.    <!-- Custom Site-wide HEAD Content --><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5626907719427106"
  90.     crossorigin="anonymous"></script>
  91.  
  92.  
  93. <meta name="p:domain_verify" content="0192f025e1b246c4fedaeda7896d2803"/>
  94.  
  95. <meta name="google-site-verification" content="ax7bEcIfRaDJGE99Emb7RZXtgouIBPJLTtNZjBZjoXc" />
  96.  
  97. <meta name="google-site-verification" content="sNaMwMaveAqhBlwB92pyH2GIWqq1QhjtV1oz0bnINy8" />
  98.  
  99. <!-- Google tag (gtag.js) -->
  100. <script async src="https://www.googletagmanager.com/gtag/js?id=G-2CX9DC2SNX"></script>
  101. <script>
  102.  window.dataLayer = window.dataLayer || [];
  103.  function gtag(){dataLayer.push(arguments);}
  104.  gtag('js', new Date());
  105.  
  106.  gtag('config', 'G-2CX9DC2SNX');
  107. </script>
  108.  
  109.  
  110. <script type="text/javascript">
  111.  (function(d, t) {
  112.    var v = d.createElement(t), s = d.getElementsByTagName(t)[0];
  113.    v.onload = function() {
  114.      if (!document.getElementById('root')) {
  115.        var root = d.createElement('div');
  116.        root.id = 'root';
  117.        d.body.appendChild(root);
  118.      }
  119.      if (window.myChatWidget && typeof window.myChatWidget.load === 'function') {
  120.        window.myChatWidget.load({
  121.          assistantId: '071f2a1a-eb0c-46a8-bd9c-82479407359f',
  122.          apiKey: '57dc0fb1-4fb9-4c4b-a6b9-49007b6d7398',
  123.        });
  124.      }
  125.    };
  126.    v.src = "https://agentivehub.com/production.bundle.min.js";
  127.    v.type = "text/javascript";
  128.    s.parentNode.insertBefore(v, s);
  129.  })(document, 'script');
  130. </script>        <script>
  131.        function g() {
  132.            window.addEventListener('load', () => {
  133.                if (typeof initializeG === 'function') {
  134.                    initializeG();
  135.                }
  136.                            });
  137.        }
  138.    </script>
  139.    <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>
  140.  
  141. </head>
  142.  
  143. <body class="general-session"><!--
  144. 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.
  145.  
  146. INSTEAD: If custom CSS rules are needed, add them directly into the DESIGN SETTINGS > CUSTOM CSS section.
  147. -->
  148. <style>
  149.    .upload-form-field::before {
  150.        content: "choose file";
  151.        display: inline-block;
  152.        border: 1px solid #999;
  153.        border-radius: 3px;
  154.        padding: 5px 8px;
  155.    }
  156.    #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 {
  157.        white-space: nowrap !important;
  158.    }
  159.    /* Main Website Design */
  160.    body,.modal-header,.modal-content,.modal-body,.modal-footer {
  161.        background: rgb(255, 255, 255);
  162.        color: rgb(41, 41, 41);
  163.        font-family: 'Open Sans';
  164.        font-size: 14px;
  165.    }
  166.    .select2-container .select2-choice {
  167.        font-family: 'Open Sans'!important;
  168.    }
  169.        html{
  170.        background: rgb(239, 239, 239)    }
  171.        a,a.h1,a.h2,a.h3,a.h4,a.h5,a.h6,.pricing_menu li ul li a:not(.btn) {
  172.        color: rgb(0, 16, 162);
  173.    }
  174.    a:hover, a:focus,.pricing_menu li ul li a:not(.btn):hover,.pricing_menu li ul li a:not(.btn):focus {
  175.        color: rgb(0, 102, 219);
  176.    }
  177.    .breadcrumb a{
  178.            color: rgba(41, 41, 41,0.9);
  179.    }
  180.    .breadcrumb a:hover, .breadcrumb a:focus,.breadcrumb > .active {
  181.        color: rgb(41, 41, 41);
  182.    }
  183.    .help-inline, .help-block {
  184.            color: rgba(41, 41, 41,0.5);
  185.    }
  186.    .h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  187.        font-family: 'Open Sans';
  188.    }
  189.        /* Header Design */
  190.    .header, .mobile_website_logo img {
  191.        background: rgb(255, 255, 255);
  192.    }
  193.    .header .mini-nav li a:not(.btn):not(.network-icon), .header .mini-nav span {
  194.        color: rgb(208, 29, 21);
  195.            font-size: 14px;
  196.        }
  197.    .header .mini-nav li a:not(.btn):hover {
  198.            color: rgba(208, 29, 21,0.95);
  199.    }
  200.    .header .btn_get_listed {
  201. background-color: rgb(208, 29, 21);
  202.        border: 1px solid rgb(208, 29, 21);
  203.        color: rgb(255, 255, 255)!important;
  204.    }
  205.    .header .btn_get_listed:hover, .header .btn_get_listed:focus {
  206.        background-color: rgba(208, 29, 21,0.97);        
  207.    }
  208.    .header .btn_search {
  209.            background-color: rgba(208, 29, 21,0.97);
  210.        border: 1px solid rgb(208, 29, 21);
  211.        color: rgb(255, 255, 255);
  212.    }
  213.    .header .btn_search:hover, .header .btn_search:focus {
  214.        background-color: rgb(208, 29, 21);
  215.        color: rgb(255, 255, 255);
  216.    }
  217.  
  218.    /* Logo Design */
  219.    .logo,.logo:hover,.logo:focus {
  220.        color: rgb(208, 29, 21);
  221.        font-family: 'Open Sans';
  222.    }
  223.    .logo .slogan {
  224.        color: rgb(208, 29, 21);
  225.    }
  226.    .logo .fa {
  227.        color: rgb(208, 29, 21);
  228.            display: none;
  229.        }
  230.  
  231.    /* Main Menu Design */
  232.    .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
  233.        background: rgb(238, 238, 238);
  234.        position: sticky;
  235.        z-index: 1;
  236.            top: 0px;
  237.        }
  238. /* Google Translate When Main Menu Sticky Top */
  239.    @media only screen and (max-width: 1100px) {
  240.        .member-profile-tabs > ul, .member-profile-tabs .tabs-container {
  241.                    top: 50px;
  242.                }
  243.    }
  244.    .header ul.nav.navbar-nav li ul {
  245.        background-color: rgb(255, 255, 255);
  246.    }
  247.    .header ul.nav.navbar-nav li ul li a, .header ul.nav.navbar-nav li ul li span {
  248.        color: rgb(32, 80, 129);
  249.    }
  250.    .header .navbar-default, .pagination > .active > a {
  251.        background-color: rgb(217, 83, 79);
  252.    }
  253.    .header ul.nav.navbar-nav li ul li a:hover, .header ul.nav.navbar-nav li ul li a:focus{
  254.        border-left-color: rgb(32, 80, 129);
  255.        background: rgb(32, 80, 129);
  256.        color: rgb(255, 255, 255);
  257.    }
  258.    .navbar-default .navbar-toggle .icon-bar {
  259.        background-color: rgb(253, 253, 253);
  260.    }
  261. .user_sidebar, .main_menu, .compact-mobile-search {
  262.        color: rgb(253, 253, 253);
  263.    }
  264.    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span  {
  265.        color: rgb(253, 253, 253);
  266.    }
  267.    .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 {
  268.        color: rgb(255, 255, 255);
  269.    }
  270.    .navbar-default .navbar-nav > li {
  271.        font-family: 'Open Sans';
  272.    }
  273.    
  274.    
  275.  
  276.    /* Footer Design */
  277.    .footer {
  278.        background-color: rgb(239, 239, 239);
  279.        display: block;
  280.    }
  281.    .footer, .footer_menu a,.footer_terms a,.footer_menu .content {
  282.        color: rgb(73, 73, 73);
  283.    }
  284.    .footer_menu a:hover, .footer_terms a:hover, .footer_menu a:focus, .footer_terms a:focus {
  285.        color: rgb(162, 0, 0);
  286.    }
  287.    .footer_menu .head {
  288.        color: rgb(162, 0, 0);
  289.    }
  290.    .btn_footer_get_listed {
  291. background-color: rgb(208, 29, 21);
  292.        border: 1px solid rgb(208, 29, 21);
  293.        color: rgb(255, 255, 255)!important;
  294.    }
  295.    .btn_footer_get_listed:hover, .btn_footer_get_listed:focus{
  296. background-color: rgba(208, 29, 21,0.95);        
  297.    }
  298.  
  299.    /* Homepage Design */
  300.        .homepage_settings h1, .homepage_settings h2, .homepage_map h1, .homepage_map h2 {
  301.        font-family: 'Open Sans';
  302.    }
  303.    .homepage_settings h1, .homepage_map h1 {
  304.        color: rgb(255, 255, 255);
  305.            font-weight: 600;
  306.            text-align: left;
  307.    }
  308.    .homepage_settings h2, .homepage_map h2 {
  309.        color: rgb(22, 22, 22);
  310.            font-weight: 400;
  311.            text-align: left;
  312.  
  313.    }
  314.    .homepage_settings .search_box label {
  315.        color: rgb(22, 22, 22);
  316.    }
  317.    .btn_home_search, .search_box input[type=submit] {
  318. background-color: rgb(208, 29, 21);
  319.        border: 1px solid rgb(208, 29, 21);
  320.        color: rgb(255, 255, 255);
  321.    }
  322.    .btn_home_search:hover, .btn_home_search:focus, .search_box input[type=submit]:hover, .search_box input[type=submit]:focus {
  323.        background-color: rgba(208, 29, 21,0.97);        
  324.        color: rgb(255, 255, 255);
  325.    }
  326.    .homepage_settings .search_box {
  327.            background-color: rgba(255, 255, 255,0.8);
  328.    }
  329.  
  330.    /* Homepage Steps Module */
  331.    .homepage_steps {
  332.            background: none;
  333.        box-shadow: none;
  334.        padding: 0;
  335.                color: rgb(255, 255, 255);
  336.            }
  337.    .homepage_steps a.homepage_step_link,.homepage_steps a.homepage_step_link:hover,.homepage_steps a.homepage_step_link:active{
  338.        color: rgb(255, 255, 255)!important;
  339.    }
  340.    .homepage_steps .fa {
  341.        color: rgb(244, 244, 244);
  342.            background-color: rgba(244, 244, 244,0.075);
  343.    }
  344.  
  345.    /* Blog Posts Slider Settings */
  346.    #myCarousel h2 a, .carousel-caption p,#myCarousel .list-group-item h2, #myCarousel li.list-group-item h4 {
  347.            color: rgb(253, 253, 253);
  348.        }
  349.    #myCarousel .list-group-item {
  350.            background-color: rgba(217, 83, 79,0.9);
  351.        border-color: rgba(217, 83, 79,0.80);
  352.    }
  353.    #myCarousel .carousel-caption {
  354.            background-color: rgba(217, 83, 79,0.8);
  355.    }
  356.    #myCarousel .list-group, #myCarousel .carousel-inner {
  357.            background-color: rgb(217, 83, 79)        }
  358.    #myCarousel .list-group .active, #myCarousel .list-group-item:hover {
  359.            background-color: rgb(217, 83, 79)        }
  360.    #myCarousel .list-group .active h4, #myCarousel .list-group-item:hover h4{
  361.            color: rgb(255, 255, 255);
  362.        }
  363.  
  364.    /* Additional Settings */
  365.    .well blockquote {
  366.        background: rgb(255, 255, 255) none repeat scroll 0 0;
  367.        border-color: rgb(238, 238, 238);
  368.        color: rgb(41, 41, 41);
  369.        padding: 10px 20px;
  370.    }
  371.    .account-form-box form table tr td table {
  372.        background-color: transparent!important;
  373.        border: none!important;
  374.    }
  375.  
  376.    .account-form-box form table tr td table td {
  377.        background-color: transparent!important;
  378.        color: rgb(41, 41, 41)!important;
  379.        border: none!important;
  380.    }
  381.    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{
  382.        color: rgb(41, 41, 41)!important;
  383.    }
  384.    .table.dataTable > thead > tr > th, .table > thead > tr > th {
  385.        background-color: rgb(238, 238, 238);
  386.        color: rgb(85, 85, 85);
  387.        border-bottom:0;
  388.        font-weight:600;
  389.    }
  390.    table.dataTable tbody tr {
  391.        background-color: rgb(250, 250, 250)!important;
  392.    }
  393.    .table-striped.dataTable tbody > tr:nth-of-type(2n+1),.table-striped > tbody > tr:nth-of-type(2n+1) {
  394.            background-color: rgba(255, 255, 255,0.5)!important;
  395.    }
  396.    .sidemenu_panel .list-group-item{
  397.        background-color: transparent!important;
  398.        color: rgb(41, 41, 41)!important;
  399.    }
  400.    .img-thumbnail {
  401.        background-color: rgb(250, 250, 250)!important;
  402.        border: 1px solid rgb(238, 238, 238);
  403.    }
  404.    .member_admin_sidemenu p, .member_admin_sidemenu h3 {
  405.        color: rgb(41, 41, 41)!important;
  406.    }
  407.    .close {
  408.        color: rgb(41, 41, 41);
  409.        opacity: 1;
  410.    }
  411.    .member_results_header h1, .content_w_sidebar.feature-search h1, .feature_results_header h1 {
  412.        font-size:36px;
  413.        display: block;
  414.    }
  415.    .member_results_header h2, .feature_results_header h2 {
  416.        font-size:30px;
  417.        display: block;
  418.    }
  419.    .homepage_settings {
  420.        padding-top: 60px;
  421.        padding-bottom: 90px;
  422.    }
  423.    @media only screen and (max-width: 768px) {
  424.                        .member-profile-header .favorite {float:none}
  425.    }
  426.  
  427.    @media only screen and (max-width: 1100px) {
  428.        }
  429.    .views > i.fa.activeView {
  430.        background-color: rgb(217, 83, 79);
  431.        color: rgb(253, 253, 253);
  432.    }
  433.    .views > i.fa {
  434.            background-color: rgba(217, 83, 79,0.6);
  435.        color: rgb(253, 253, 253);
  436.    }
  437.    .ui-rangeSlider-label {
  438.        background-color: rgb(217, 83, 79)!important;
  439.        color: rgb(253, 253, 253)!important;
  440.    }
  441.    .pricing_menu li .title {
  442.        background: rgb(208, 29, 21);
  443.        color: rgb(255, 255, 255);
  444.    }
  445.    p.account-tip{
  446.        color: rgb(41, 41, 41);
  447.    }
  448.    .circled_number {
  449.        background: rgb(208, 29, 21);
  450.        color: rgb(255, 255, 255);
  451.    }
  452.    .pic {
  453.            background-color: rgba(208, 29, 21,0.8);
  454.        color: rgb(255, 255, 255);
  455.        background-repeat: no-repeat;
  456.        background-position: center;
  457.        }
  458.    .pic .pic-caption {
  459.            background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%,rgba(208, 29, 21,0.85) 50%);
  460.        color: rgb(255, 255, 255);
  461.    }
  462.    .slick-prev-fa i, .slick-next-fa i{
  463.        color: rgb(208, 29, 21);
  464.    }
  465.    .module, .well, .tab-content, .nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover, .nav-tabs>li>a:focus, .nav-tabs>li>a:hover, .nav-tabs.nav-justified>li.active>a, .nav-tabs.nav-justified>li.active>a:focus, .nav-tabs.nav-justified>li.active>a:hover, .nav-tab.nav-justified>li>a:focus, .nav-tabs.nav-justified>li>a:hover, .account-form-box,.account-form-box .module .module,.account-form-box .module .well,.account-form-box .well .well,.account-form-box .well .module,.module .module .module,.module .well .well,.module .module .well,.module .well .module,.well .well .well,.well .module .module,.well .well .module,.well .module .well, .froala-table.module{
  466.        background-color: rgb(250, 250, 250);
  467.        border-color: rgb(238, 238, 238);
  468.        color: rgb(41, 41, 41);
  469.    }
  470.    .nav-tabs > li.active > a, .nav-tabs > li.active > a:focus, .nav-tabs > li.active > a:hover {
  471.        box-shadow: 0 2px 0 0 rgb(208, 29, 21) inset;
  472.        border-top:1px solid rgb(208, 29, 21);
  473.        border-radius: 0;
  474.    }
  475.    .nav-pills > li.active a, .nav-pills > li > a:hover {
  476.        background-color: rgb(208, 29, 21)!important;
  477.        border-color: rgb(208, 29, 21)!important;
  478.        color: rgb(255, 255, 255)!important;
  479.    }
  480.    .sidemenu_panel .panel-heading {
  481.        color: rgb(41, 41, 41)!important;
  482.        background-color: rgb(250, 250, 250)!important;
  483.    }
  484.    .member-profile-tabs .nav-tabs > li:not(.active) > a, .login-register-tabs.nav-tabs > li:not(.active) > a {
  485.            background: rgba(250, 250, 250,0.5);
  486.        color:  rgb(41, 41, 41);
  487.    }
  488.    .member-profile-tabs .nav-tabs > li:not(.active) > a:hover, .login-register-tabs.nav-tabs > li:not(.active) > a:hover {
  489.            background: rgba(250, 250, 250,1);
  490.        color:  rgb(41, 41, 41);
  491.    }
  492.    .author-snapshot .well {
  493.        background-color: rgb(250, 250, 250)!important;
  494.        border-color: rgb(238, 238, 238)!important;
  495.        color: rgb(41, 41, 41)!important;
  496.    }
  497.    .nav-tabs>li>a, .nav-pills>li>a {
  498.        font-weight: 600;
  499.    }
  500.        .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{
  501.            color: rgba(41, 41, 41,0.5);
  502.    }
  503.    #service_areas_table td,#service_areas_table_wrapper label, #service_areas_table_info, #service_areas_table_paginate > a {
  504.        color: rgb(41, 41, 41) !important;
  505.    }
  506.    .popover {
  507.        background-color: rgb(250, 250, 250);
  508.        border-color: rgb(250, 250, 250);
  509.        padding:0;
  510.        text-align:left;
  511.    }
  512.    .popover-title, .popover-content {
  513.        background-color: rgb(250, 250, 250);
  514.        color: rgb(41, 41, 41);
  515.        border-color: rgb(250, 250, 250);
  516.        text-align:left;
  517.    }
  518.    .popover-content {
  519.            background-color: rgba(41, 41, 41,.05);
  520.    }
  521.    .popover.left > .arrow::after {
  522.        border-left-color: rgb(250, 250, 250)!important;
  523.    }
  524.    .popover.right > .arrow::after {
  525.        border-right-color: rgb(250, 250, 250)!important;
  526.    }
  527.    .popover.bottom > .arrow::after {
  528.        border-bottom-color: rgb(250, 250, 250)!important;
  529.    }
  530.    .popover.top > .arrow::after {
  531.        border-top-color: rgb(250, 250, 250)!important;
  532.    }
  533.    .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{
  534.        background-color: rgb(255, 255, 255);
  535.        color: rgb(41, 41, 41);
  536.    }
  537.    .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 {
  538.        border-color: rgb(238, 238, 238);
  539.    }
  540.    table.dataTable.no-footer, table.dataTable {
  541.        border: 1px solid rgb(238, 238, 238)!important;
  542.    }
  543. .table-view li:not(.table-display-about_me li, .froala-data li), .table-view .table-view-group > div
  544.        border-top:1px solid rgb(238, 238, 238);
  545.    }
  546.    .table-view .table-view-group:last-child {
  547.        border-bottom:1px solid rgb(238, 238, 238);
  548.    }
  549.    .module h1, .module h2, .module h3, .module h4, .module h5 {
  550.        color: rgb(0, 0, 0);
  551.    }
  552.    .module p:not(.fr-box.fr-basic .fr-element p) {
  553.        color: rgb(41, 41, 41);
  554.    }
  555.    .pagination>.active>a {
  556.            border-color: rgba(253, 253, 253,0.2);
  557.    }
  558.    .pagination>.active>a {
  559.        color: rgb(253, 253, 253);
  560.    }
  561.    .pagination > .active > a:hover, .pagination > .active > a:focus {
  562.            border-color: rgba(253, 253, 253,0.2);
  563.        background-color: rgb(217, 83, 79);
  564.        color: rgb(253, 253, 253);
  565.    }
  566.    .pagination > li > a {
  567.        color: rgb(217, 83, 79);
  568.            border-color: rgba(217, 83, 79,0.2);
  569.        background-color: rgb(253, 253, 253);
  570.    }
  571.    .pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
  572.        background-color: rgb(217, 83, 79);
  573.        border-color: rgb(217, 83, 79);
  574.        color: rgb(253, 253, 253);
  575.    }
  576.  
  577.    .nav-pills.nav-wizard > li a, .nav-pills.nav-wizard > li a:hover{
  578.        background-color: rgb(250, 250, 250)!important;
  579.        color: rgb(41, 41, 41)!important;
  580.    }
  581.    .member_wizard2 li.incomplete a, .member_wizard2 li.incomplete a:hover {
  582.        background-color: rgb(247, 202, 24)!important;
  583.        border-color: rgb(247, 202, 24);
  584.        color: rgb(47, 47, 47);
  585.    }
  586.    .nav-pills.nav-wizard > li.active a, .nav-pills.member_wizard > li.active:hover a {
  587.        background-color: rgb(51, 122, 183)!important;
  588.        color: rgb(255, 255, 255)!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.    .nav-pills.member_wizard > li.completed a, .nav-pills.member_wizard > li.completed a:hover {
  612.        background-color: rgb(92, 184, 92)!important;
  613.        color: rgb(255, 255, 255)!important;
  614.    }
  615.  
  616.    .member_wizard2 li {
  617.        color: rgb(255, 255, 255);
  618.        border-right: 10px solid rgb(255, 255, 255);
  619.    }
  620.  
  621.        li.completed .nav-arrow, .nav-pills.nav-wizard > li.completed:hover .nav-arrow {
  622.        border-color: transparent transparent transparent rgb(92, 184, 92)!important;
  623.    }
  624.    
  625.        li.incomplete .nav-arrow, .nav-pills.nav-wizard > li.incomplete:hover .nav-arrow{
  626.        border-color: transparent transparent transparent rgb(250, 250, 250)!important;
  627.    }
  628.    
  629.    /* Default Colors */
  630.    .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 {
  631.     background-color: rgb(208, 29, 21);
  632.        border-color: rgb(208, 29, 21);
  633.        color: rgb(255, 255, 255);
  634.    }
  635.    .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 {        
  636.        background-color: rgba(208, 29, 21,0.95);
  637.        border-color: rgb(208, 29, 21);
  638.        color: rgb(255, 255, 255);
  639.    }
  640. .panel-primary {
  641.        background-color: rgba(208, 29, 21,0.1);
  642. border-color: rgb(208, 29, 21);
  643. }
  644.    .bg-primary,.progress-bar-primary,.module p.bg-primary,.label-primary,.badge-primary,.pricing_menu .title.bg-primary {
  645.        background-color: rgb(208, 29, 21);
  646.        color: rgb(255, 255, 255);
  647.    }
  648.    .bg-primary .badge {
  649.        background-color:rgb(255, 255, 255);
  650.        color: rgb(208, 29, 21);
  651.    }
  652.    .btn-primary.btn-outline {
  653.        background: transparent;
  654.        color: rgb(208, 29, 21);
  655.        box-shadow: 0 0 0px 1px rgb(208, 29, 21) inset;
  656.        font-weight: bold;
  657.        transition: all 250ms ease-in-out 0ms;
  658.    }
  659.    .btn-primary.btn-outline:hover {
  660.            background: rgba(208, 29, 21,0.1);
  661.    }
  662.    .alert-primary {
  663.            background-color:rgba(208, 29, 21,0.7);
  664.        border-color:rgba(208, 29, 21,0.2);
  665.            color: rgba(255, 255, 255,0.9);
  666.    }
  667. .alert-primary-subtle, .label-primary-subtle, .badge-primary-subtle {
  668. background-color: #f6d2d0;
  669. border-color: #f6d2d0;
  670. color: rgb(208, 29, 21);
  671. }
  672.    .btn.dropdown-toggle.btn-primary *, .btn-primary a {
  673.        color: rgb(255, 255, 255);
  674.    }
  675.    .text-primary{
  676.        color: rgb(208, 29, 21);
  677.    }
  678.    .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 {
  679. background-color: rgb(219, 71, 5);
  680.        border-color: rgb(219, 71, 5);
  681.        color: rgb(255, 255, 255);
  682.    }
  683.    .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 {
  684.        background-color: rgba(219, 71, 5,0.95);
  685.        border-color: rgb(219, 71, 5);
  686.        color: rgb(255, 255, 255);
  687.    }
  688. .panel-info {
  689.        background-color: rgba(219, 71, 5,0.1);
  690. border-color: rgb(219, 71, 5);
  691. }
  692.    .bg-info,.progress-bar-info,.module p.bg-info,.label-info,.badge-info,.pricing_menu .title.bg-info {
  693.        background-color: rgb(219, 71, 5);
  694.        color: rgb(255, 255, 255);
  695.    }
  696.    .bg-info .badge {
  697.        background-color:rgb(255, 255, 255);
  698.        color: rgb(219, 71, 5);
  699.    }
  700.    .btn-info.btn-outline {
  701.        background: transparent;
  702.        color: rgb(219, 71, 5);
  703.        box-shadow: 0 0 0px 1px rgb(219, 71, 5) inset;
  704.        font-weight: bold;
  705.        transition: all 250ms ease-in-out 0ms;
  706.    }
  707.    .btn-info.btn-outline:hover {
  708.            background: rgba(219, 71, 5,0.1);
  709.    }
  710.    .alert-info {
  711.            background-color:rgba(219, 71, 5,0.7);
  712.        border-color:rgba(219, 71, 5,0.2);
  713.            color: rgba(255, 255, 255,0.9);
  714.    }
  715. .alert-info-subtle, .label-info-subtle, .badge-info-subtle {
  716. background-color: #f8dacd;
  717. border-color: #f8dacd;
  718. color: rgb(219, 71, 5);
  719. }
  720.    .btn.dropdown-toggle.btn-info *, .btn-info a {
  721.        color: rgb(255, 255, 255);
  722.    }
  723.    .text-info{
  724.        color: rgb(219, 71, 5);
  725.    }
  726.    .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 {
  727. background-color: rgb(42, 178, 123);
  728.        border-color: rgb(42, 178, 123);
  729.        color: rgb(255, 255, 255);
  730.    }
  731.    .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 {        
  732.        background-color: rgba(42, 178, 123,0.95);
  733.        border-color: rgb(42, 178, 123);
  734.        color: rgb(255, 255, 255);
  735.    }
  736.    .panel-success {
  737.        background-color: rgba(42, 178, 123,0.1);
  738.        border-color: rgb(42, 178, 123);
  739.    }
  740.    .bg-success,.progress-bar-success,.module p.bg-success,.label-success,.badge-success,.pricing_menu .title.bg-success {
  741.        background-color: rgb(42, 178, 123);
  742.        color: rgb(255, 255, 255);
  743.    }
  744.    .bg-success .badge {
  745.        background-color: rgb(255, 255, 255);
  746.        color: rgb(42, 178, 123);
  747.    }
  748.    .btn-success.btn-outline {
  749.        background: transparent;
  750.        color: rgb(42, 178, 123);
  751.        box-shadow: 0 0 0px 1px rgb(42, 178, 123) inset;
  752.        font-weight: bold;
  753.        transition: all 250ms ease-in-out 0ms;
  754.    }
  755.    .btn-success.btn-outline:hover {
  756.            background: rgba(42, 178, 123,0.1);
  757.    }
  758.    .alert-success {
  759.            background-color:rgba(42, 178, 123,0.7);
  760.        border-color:rgba(42, 178, 123,0.2);
  761.            color: rgba(255, 255, 255,0.9);
  762.    }
  763. .alert-success-subtle, .label-success-subtle, .badge-success-subtle {
  764. background-color: #d4f0e5;
  765. border-color: #d4f0e5;
  766. color: rgb(42, 178, 123);
  767. }
  768.    .btn.dropdown-toggle.btn-success *, .btn-success a {
  769.        color: rgb(255, 255, 255);
  770.    }
  771.    .text-success{
  772.        color: rgb(42, 178, 123);
  773.    }
  774.    .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 {
  775. background-color: rgb(247, 202, 24);
  776.        border-color: rgb(247, 202, 24);
  777.        color: rgb(47, 47, 47);
  778.    }
  779.    .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 {        
  780.        background-color: rgba(247, 202, 24,0.95);
  781.        border-color: rgb(247, 202, 24);
  782.        color: rgb(47, 47, 47);
  783.    }
  784. .panel-warning {
  785.        background-color: rgba(247, 202, 24,0.1);
  786. border-color: rgb(247, 202, 24);
  787. }
  788.    .bg-warning,.progress-bar-warning,.module p.bg-warning,.label-warning,.badge-warning,.pricing_menu .title.bg-warning {
  789.        background-color: rgb(247, 202, 24);
  790.        color: rgb(47, 47, 47);
  791.    }
  792.    .bg-warning .badge {
  793.        background-color: rgb(47, 47, 47);
  794.        color: rgb(247, 202, 24);
  795.    }
  796.    .btn-warning.btn-outline {
  797.        background: transparent;
  798.        color: rgb(247, 202, 24);
  799.        box-shadow: 0 0 0px 1px rgb(247, 202, 24) inset;
  800.        font-weight: bold;
  801.        transition: all 250ms ease-in-out 0ms;
  802.    }
  803.    .btn-warning.btn-outline:hover {
  804.            background: rgba(247, 202, 24,0.1);
  805.    }
  806.    .alert-warning {
  807.            background-color:rgba(247, 202, 24,0.7);
  808.        border-color:rgba(247, 202, 24,0.2);
  809.            color: rgba(47, 47, 47,0.9);
  810.    }
  811. .alert-warning-subtle, .label-warning-subtle, .badge-warning-subtle {
  812. background-color: #fdf4d1;
  813. border-color: #fdf4d1;
  814. color: rgb(247, 202, 24);
  815. }
  816.    .btn.dropdown-toggle.btn-warning *, .btn-warning a {
  817.        color: rgb(47, 47, 47);
  818.    }
  819.    .text-warning {
  820.        color: rgb(247, 202, 24);
  821.    }
  822.    .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 {
  823. background-color: rgb(44, 102, 217);
  824.        border-color: rgb(44, 102, 217);
  825.        color: rgb(255, 255, 255);
  826.    }
  827.    .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 {        
  828.        background-color: rgba(44, 102, 217,0.95);
  829.        border-color: rgb(44, 102, 217);
  830.        color: rgb(255, 255, 255);
  831.    }
  832.    .has-error .form-control {
  833.        border-color: rgb(44, 102, 217);
  834.    }
  835.    .has-error .help-block:not(.form-field-help-block), .has-error ~ .help-block:not(.form-field-help-block),.has-error .help-block:not(.form-field-help-block) a, .has-error ~ .help-block:not(.form-field-help-block) a {
  836.        background: rgb(44, 102, 217);
  837.        color: rgb(255, 255, 255) !important;
  838.    }
  839.    .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 {
  840.        color: rgb(44, 102, 217);
  841.    }
  842. .panel-danger {
  843.        background-color: rgba(44, 102, 217,0.1);
  844. border-color: rgb(44, 102, 217);
  845. }
  846.    .bg-danger,.progress-bar-danger,.module p.bg-danger,.label-danger,.badge-danger,.pricing_menu .title.bg-danger {
  847.        background-color: rgb(44, 102, 217);
  848.        color: rgb(255, 255, 255);
  849.    }
  850.    .bg-danger .badge {
  851.        background-color: rgb(255, 255, 255);
  852.        color: rgb(44, 102, 217);
  853.    }
  854.    .btn-danger.btn-outline {
  855.        background: transparent;
  856.        color: rgb(44, 102, 217);
  857.        box-shadow: 0 0 0px 1px rgb(44, 102, 217) inset;
  858.        font-weight: bold;
  859.        transition: all 250ms ease-in-out 0ms;
  860.    }
  861.    .btn-danger.btn-outline:hover {
  862.            background: rgba(44, 102, 217,0.1);
  863.    }
  864.    .alert-danger {
  865.            background-color:rgba(44, 102, 217,0.7);
  866.        border-color:rgba(44, 102, 217,0.2);
  867.            color: rgba(255, 255, 255,0.9);
  868.    }
  869. .alert-danger-subtle, .label-danger-subtle, .badge-danger-subtle {
  870. background-color: #d5e0f7;
  871. border-color: #d5e0f7;
  872. color: rgb(44, 102, 217);
  873. }
  874.    .btn.dropdown-toggle.btn-danger *, .btn-danger a {
  875.        color: rgb(255, 255, 255);
  876.    }
  877.    .text-danger{
  878.        color: rgb(44, 102, 217);
  879.    }
  880.    .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 {
  881. background-color: rgb(238, 238, 238);
  882.        border-color: rgb(238, 238, 238);
  883.        color: rgb(85, 85, 85);
  884.    }
  885.    .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 {        
  886.        background-color: rgba(238, 238, 238,0.95);
  887.        border-color: rgb(238, 238, 238);
  888.        color: rgb(85, 85, 85);
  889.    }
  890.    .sidemenu_panel .panel-default .panel_heading {
  891.        background-color: rgb(238, 238, 238)!important;
  892.        border-color: rgb(238, 238, 238)!important;
  893.        color: rgb(85, 85, 85)!important;
  894.    }
  895.    .panel-default, .member_accounts .panel-default {
  896. background-color: rgba(238, 238, 238,0.1);
  897. border-color: rgb(238, 238, 238);
  898. }
  899. .member_admin_sidemenu .panel-default {
  900. background-color: transparent;
  901. }
  902.    .bg-default,.progress-bar-default,.module p.bg-default,.label-default,.badge-default,.pricing_menu .title.bg-default {
  903.        background-color: rgb(238, 238, 238);
  904.        color: rgb(85, 85, 85);
  905.    }
  906.    .bg-default .badge {
  907.        background-color: rgb(85, 85, 85);
  908.        color: rgb(238, 238, 238);
  909.    }
  910.    .btn-default.btn-outline {
  911.        background: transparent;
  912.        color: rgb(238, 238, 238);
  913.        box-shadow: 0 0 0px 1px rgb(238, 238, 238) inset;
  914.        font-weight: bold;
  915.        transition: all 250ms ease-in-out 0ms;
  916.    }
  917.    .btn-default.btn-outline:hover {
  918.            background: rgba(238, 238, 238,0.1);
  919.    }
  920. .alert-default {
  921. background-color:rgb(238, 238, 238);
  922. border-color:rgb(238, 238, 238);
  923. color: rgb(85, 85, 85);
  924. }
  925. .alert-default-subtle, .label-default-subtle, .badge-default-subtle {
  926. background-color:rgba(238, 238, 238,0.5);
  927. border-color: rgba(238, 238, 238,0.5);
  928. color: rgb(85, 85, 85);
  929. }
  930.    .btn.dropdown-toggle.btn-default *, .btn-default a {
  931.        color: rgb(85, 85, 85);
  932.    }
  933.    .text-default{
  934.        color: rgb(238, 238, 238);
  935.    }
  936.    .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 {
  937. background-color: rgb(41, 41, 41);
  938.        border: 1px solid rgb(41, 41, 41);
  939.        color: rgb(255, 255, 255);
  940.    }
  941.    .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 {        
  942.        background-color: rgba(41, 41, 41,0.95);
  943.        border: 1px solid rgb(41, 41, 41);
  944.        color: rgb(255, 255, 255);
  945.    }
  946.    .bg-secondary,.progress-bar-secondary,.module p.bg-secondary,.module p.bg-secondary:not(.fr-box.fr-basic .fr-element p),.label-secondary,.badge-secondary,.pricing_menu .title.bg-secondary {
  947.        background-color: rgb(41, 41, 41);
  948.        color: rgb(255, 255, 255);
  949.    }
  950.    .bg-secondary .badge {
  951.        background-color:rgb(255, 255, 255);
  952.        color: rgb(41, 41, 41);
  953.    }
  954.    .btn-secondary.btn-outline {
  955.        background: transparent;
  956.        color: rgb(41, 41, 41);
  957.        box-shadow: 0 0 0px 1px rgb(41, 41, 41) inset;
  958.        font-weight: bold;
  959.        transition: all 250ms ease-in-out 0ms;
  960.    }
  961.    .btn-secondary.btn-outline:hover {
  962.            background: rgba(41, 41, 41,0.1);
  963.    }
  964. .panel-secondary {
  965.        background-color: rgba(41, 41, 41,0.1);
  966. border-color: rgb(41, 41, 41);
  967. }
  968. .alert-secondary {
  969. background-color:rgb(41, 41, 41);
  970. border-color:rgb(41, 41, 41);
  971. color: rgb(255, 255, 255);
  972. }
  973. .alert-secondary-subtle, .label-secondary-subtle, .badge-secondary-subtle {
  974. background-color:rgba(41, 41, 41,0.8);
  975. border-color: rgba(41, 41, 41,0.5);
  976. color: rgb(255, 255, 255);
  977. }
  978.    .bg-body {
  979.        background: rgb(255, 255, 255);
  980.        color: rgb(41, 41, 41);
  981.    }
  982.    .bg-content-box {
  983.        background: rgb(250, 250, 250);
  984.        color: rgb(41, 41, 41);
  985.    }
  986.    .bg-content-box-border {
  987.        background: rgb(238, 238, 238);
  988.    }
  989.    .btn.dropdown-toggle.btn-secondary *, .btn-secondary a {
  990.        color: rgb(255, 255, 255);
  991.    }
  992.    .text-secondary {
  993.        color: rgb(41, 41, 41);
  994.    }
  995.    .feature-post #post-content .alert-secondary.btn-block, .feature-search .img_section .alert-secondary.btn-block, .search_result .img_section  .alert-secondary {
  996.        background-color: rgba(41, 41, 41,0.2);
  997.    }
  998.  
  999.    /* Footer Newsletter Row */
  1000.    .newsletter_row .alert {
  1001.        color: rgb(255, 255, 255);
  1002.    }
  1003.    .newsletter_row {
  1004.        background-color: rgb(208, 29, 21);
  1005.        color: rgb(255, 255, 255);
  1006.    }
  1007.    .newsletter_row input[type="submit"],.newsletter_footer_button {
  1008.            background-color: rgba(180, 15, 7,0.97);
  1009.        color: rgb(255, 255, 255);
  1010.        border-color: rgb(180, 15, 7);
  1011.    }
  1012.    .newsletter_row input[type="submit"]:hover,.newsletter_row input[type="submit"]:focus,.newsletter_footer_button:hover,.newsletter_footer_button:focus {
  1013.        background-color: rgb(180, 15, 7);
  1014.        color: rgb(255, 255, 255);
  1015.    }
  1016.    .newsletter_button_left {
  1017.            border-right: 1px solid rgba(255, 255, 255,0.2);
  1018.    }
  1019.    .newsletter_button_right {
  1020.        border-left: 1px solid rgba(255, 255, 255,0.2);
  1021.    }
  1022.    .newsletter_row small.help-block {
  1023.        background: rgb(255, 255, 255);
  1024.        margin-top: -5px;
  1025.        float: left;
  1026.        padding: 8px;
  1027.        border-radius: 1px;
  1028.        color: rgb(208, 29, 21);
  1029.        text-transform: capitalize;
  1030.    }
  1031.    .newsletter_row .has-success .checkbox,.newsletter_row .has-error .checkbox{
  1032.        color: rgb(255, 255, 255);
  1033.    }
  1034.    @media only screen and (max-width: 767px) {
  1035.        .newsletter_button_right,.newsletter_button_left{
  1036.            border: none;
  1037.            margin: 5px 0;
  1038.        }
  1039.    }
  1040.  
  1041.    /* Font Sizes */
  1042.  
  1043.    .navbar-default .navbar-nav > li > a, .navbar-default .navbar-nav > li > span {
  1044.        font-size: 24px;
  1045.    }
  1046.    .header .logo {
  1047.        font-size: 34px;
  1048.    }
  1049.    .homepage_title h1, .homepage_settings h1 {
  1050.        font-size: 60px;
  1051.    }
  1052.    .homepage_settings h2 {
  1053.        font-size: 28px;
  1054.    }
  1055.  
  1056.    .ui-rangeSlider-bar{
  1057.        background: rgb(208, 29, 21)!important;
  1058.    }
  1059.  
  1060.    
  1061.    
  1062.    @media only screen and (max-width: 1024px){
  1063.        .modal {margin-top: 40px;}
  1064.    }
  1065.    @media only screen and (max-width: 768px){
  1066.        .modal {margin-top: 60px;}
  1067.    }
  1068.  
  1069.    /* Calendar Styles */
  1070.  
  1071.    #cal-slide-content {
  1072.        color: rgb(85, 85, 85)!important;
  1073.        background-color: rgb(238, 238, 238)!important;
  1074.        -webkit-box-shadow: none!important;
  1075.        box-shadow: none!important;
  1076.    }
  1077.    #cal-slide-content a.event-item {
  1078.        color: rgb(85, 85, 85)!important;
  1079.        font-weight:bold!important;
  1080.    }
  1081.    #cal-slide-content a.event-item small {
  1082.        display: inline-block;
  1083.    }
  1084.    .cal-month-box, .cal-year-box, .cal-week-box {
  1085.        border: 1px solid rgb(238, 238, 238)!important;
  1086.    }
  1087.    .cal-year-box .row-fluid, .cal-month-box .cal-row-fluid {
  1088.        border-bottom: 1px solid rgb(238, 238, 238)!important;
  1089.    }
  1090.    .cal-year-box [class*="span"], .cal-month-box [class*="cal-cell"] {
  1091.        border-right: 1px solid rgb(238, 238, 238)!important;
  1092.    }
  1093.    .cal-year-box .row-fluid, .cal-row-fluid, #cal-day-box .cal-day-hour:nth-child(odd) {
  1094.        background-color: rgb(255, 255, 255)!important;
  1095.    }
  1096.    .cal-month-day span:not(.pull-right):not(.events-count-label):not(.events-label) {
  1097.        color: rgb(85, 85, 85)!important;
  1098.    }
  1099.    .cal-day-today span[data-cal-date] {
  1100.        color: rgb(41, 41, 41)!important;
  1101.    }
  1102.    .cal-year-box .row-fluid [class*="span"]:last-child, .cal-month-box .cal-row-fluid [class*="cal-cell"]:last-child {
  1103.        border: 0!important;
  1104.    }
  1105.    .cal-row-head {
  1106.        background: rgb(250, 250, 250)!important;
  1107.    }
  1108.    .day-highlight:hover, .day-highlight {
  1109.        background-color: rgb(238, 238, 238)!important;
  1110.    }
  1111.    .cal-event-list .event.pull-left {
  1112.        background-color: rgb(41, 41, 41)!important;
  1113.        opacity: 0.4;
  1114.        margin-top: 7px!important;
  1115.    }
  1116.    .cal-day-today {
  1117.        background-color: rgb(238, 238, 238)!important;
  1118.    }
  1119.    #cal-day-tick {
  1120.        border: 1px solid rgb(238, 238, 238)!important;
  1121.        background-color: rgb(238, 238, 238)!important;
  1122.    }
  1123.    .cal-day-weekend span[data-cal-date]{
  1124.        color: rgb(41, 41, 41)!important;
  1125.    }
  1126.        .rsDefault, .rsDefault .rsOverflow, .rsDefault .rsSlide, .rsDefault .rsVideoFrameHolder, .rsDefault .rsThumbs {
  1127.        background: #151515!important;
  1128.    }
  1129.    
  1130.    #first_container .favorite, #first_container .fa.favorite {
  1131.        color: rgb(170, 184, 194);
  1132.        background: rgb(238, 238, 238);
  1133.        border: 1px solid rgb(238, 238, 238);
  1134.        white-space:nowrap!important;
  1135.    }
  1136.    #first_container .favorite span, #first_container .fa.favorite span {
  1137.        font-family: 'Open Sans';
  1138.        white-space:nowrap!important;
  1139.    }
  1140.    #first_container .favoriteActive:not(.favorite.comments-count-badge), #first_container .fa.favoriteActive:not(.favorite.comments-count-badge .fa) {
  1141.        color: rgb(226, 38, 77);
  1142.    }
  1143.        #first_container .favorite::after, #first_container .fa.favorite::after {
  1144.        font-family: 'Open Sans';
  1145.        margin-left: 3px;
  1146.    }
  1147.    #first_container .favorite span, #first_container .fa.favorite span{
  1148.        padding-left: 3px;
  1149.        font-family: 'Open Sans';
  1150.        font-size: 11px;
  1151.    }
  1152.    #first_container .favorite .bookmark-number, #first_container .fa.favorite .bookmark-number {
  1153.        background: rgb(170, 184, 194);
  1154.        color:rgb(238, 238, 238);
  1155.        padding: 0 5px;
  1156.        border-radius: 100px;
  1157.        display: inline-block;
  1158.        font-weight:bold;
  1159.    }
  1160.    #first_container .favorite.favoriteActive .bookmark-number:not(.comments-count-badge .bookmark-number), #first_container .fa.favorite.favoriteActive .bookmark-number {
  1161.        background: rgb(226, 38, 77);
  1162.    }
  1163.    
  1164.    span.checkbox_value::after {
  1165.        content: ', ';
  1166.    }
  1167.  
  1168.    span.checkbox_value:last-child::after {
  1169.        content: '';
  1170.    }
  1171.    
  1172.    .member_results .grid_element{
  1173. position:relative;
  1174. overflow:hidden;
  1175. display: inline-block;
  1176. width:100%;
  1177. }
  1178. .member_results .grid_element::before {
  1179. position: absolute;
  1180. top: 24px;
  1181. text-align: center;
  1182. width: 200px;
  1183. left: -62px;
  1184. transform: rotate(-45deg);
  1185. -webkit-transform: rotate(-45deg);
  1186. z-index: 1;
  1187. line-height: 1.2em;
  1188. padding: 6px 0;
  1189. font-weight: bold;
  1190. letter-spacing: 1px;
  1191. }
  1192. @media only screen and (max-width: 767px) {
  1193. .member_results .grid-container > hr {
  1194. border-color: transparent;
  1195. }
  1196. .member_results .grid_element{
  1197. overflow:visible;
  1198. }
  1199. .member_results .grid_element::before {
  1200. top: -19px!important;
  1201. transform: rotate(0deg);
  1202. -webkit-transform: rotate(0deg);
  1203. font-size: 10px !important;
  1204. letter-spacing: 0;
  1205. width: auto;
  1206. padding: 3px 6px;
  1207. }
  1208. }
  1209.  
  1210.  
  1211.  
  1212.                .member_results.level_1 .grid_element {
  1213.                    border-style: solid;
  1214.                    border-radius:6px;border-width:10px;border-color:rgb(235, 17, 17); }
  1215.                .member_results.level_1 .grid_element::before {
  1216. border-bottom-left-radius:0!important;
  1217.                    border-radius:6px;color: #fff ;background-color:rgb(235, 17, 17);font-size:16px;content:'TOP RATED';
  1218.                }
  1219. .member_results.level_1 .grid_element {
  1220. padding:10px;
  1221. }
  1222.                @media only screen and (max-width: 767px) {
  1223.                    .member_results.level_1 .grid_element::before {
  1224.                    left:-10px;}}
  1225.                    .member_results .grid-container {
  1226.                        margin-top: 30px;
  1227.                    }
  1228.                    .member_results .grid-container > hr {
  1229.                        border-color: transparent;
  1230. background: transparent;
  1231.                    }
  1232.                    .member_results.level_1 .grid_element{
  1233.                        overflow:visible;
  1234.                    }
  1235.                    .member_results.level_1 .grid_element::before {
  1236.                        top: calc(-10px - 16px);
  1237.                        transform: rotate(0deg);
  1238.                        -webkit-transform: rotate(0deg);
  1239.                        letter-spacing: 0;
  1240.                        width: auto;
  1241.                        padding: 3px 8px;
  1242.                        left: calc(-10px + 0.5px);
  1243.                    }
  1244.                
  1245.    
  1246.  
  1247.    /*  Homepage Sections Background Color Logic */
  1248.  
  1249.    
  1250.    .homepage-section-1 {
  1251.        padding: 40px 0 40px;
  1252.    }
  1253.  
  1254.    
  1255.    .homepage-section-1 {
  1256.        background: rgb(208, 29, 21);
  1257.    }
  1258.  
  1259.    
  1260.    .homepage-section-2 {
  1261.        padding: 40px 0 40px;
  1262.    }
  1263.  
  1264.    
  1265.    .homepage-section-3 {
  1266.        padding: 40px 0 40px;
  1267.    }
  1268.  
  1269.    
  1270.    .homepage-section-4 {
  1271.        padding: 40px 0 40px;
  1272.    }
  1273.  
  1274.    
  1275.    .homepage-section-5 {
  1276.        padding: 40px 0 40px;
  1277.    }
  1278.  
  1279.    
  1280.    .homepage-section-6 {
  1281.        padding: 40px 0 40px;
  1282.    }
  1283.  
  1284.    
  1285.    .homepage-section-7 {
  1286.        padding: 40px 0 40px;
  1287.    }
  1288.  
  1289.    
  1290.    .homepage-section-8 {
  1291.        padding: 40px 0 40px;
  1292.    }
  1293.  
  1294.    
  1295.    .homepage-section-9 {
  1296.        padding: 40px 0 40px;
  1297.    }
  1298.  
  1299.    
  1300.    .homepage-section-10 {
  1301.        padding: 40px 0 40px;
  1302.    }
  1303.  
  1304.    
  1305.    .homepage-section-11 {
  1306.        padding: 40px 0 40px;
  1307.    }
  1308.  
  1309.    
  1310.    .homepage-section-12 {
  1311.        padding: 40px 0 40px;
  1312.    }
  1313.  
  1314.    
  1315.    .homepage-section-13 {
  1316.        padding: 40px 0 40px;
  1317.    }
  1318.  
  1319.    
  1320.    .homepage-section-14 {
  1321.        padding: 40px 0 40px;
  1322.    }
  1323.  
  1324.    
  1325.    .homepage-section-15 {
  1326.        padding: 40px 0 40px;
  1327.    }
  1328.  
  1329.    
  1330.    /* Additional Settings */
  1331.  
  1332.    
  1333.    /* Streaming Widgets Title Settings */
  1334.  
  1335.    .streaming-title {
  1336.        text-align: left;
  1337.        font-size: 30px;
  1338.            font-weight: 600;
  1339.                font-family: 'Open Sans';
  1340.            padding-bottom: 0px;
  1341.    }
  1342.  
  1343.        
  1344.    .homepage-join-module .module h2:first-of-type {
  1345.        color: rgb(0, 0, 0);
  1346.    }
  1347.  
  1348.    .homepage-join-module .module{
  1349.        background: rgb(250, 250, 250);
  1350.        border-color: rgb(238, 238, 238);
  1351.    }
  1352.  
  1353.    .homepage-about-module .module h2:first-of-type {
  1354.        color: rgb(0, 0, 0);
  1355.    }
  1356.  
  1357.    .homepage-about-module .module{
  1358.        background: rgb(250, 250, 250);
  1359.        border-color: rgb(238, 238, 238);
  1360.  
  1361.    }
  1362.  
  1363.    
  1364.    
  1365.    .img-circle, .img-circle img{
  1366.        border-radius:1000px!important;
  1367.    }
  1368.  
  1369.    .img-rounded img, img.fr-dib.img-rounded{
  1370.        border-radius: 6px!important;
  1371.    }
  1372.    
  1373.    /* Google Translate Module */
  1374.        .skiptranslate{font-size:0}
  1375.    .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}
  1376.    .skiptranslate.goog-te-gadget span,img.goog-te-gadget-icon{display:none!important}
  1377.    .goog-te-gadget .goog-te-combo{margin-bottom:-4px}
  1378.    .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)}
  1379.    @media only screen and (max-width: 1100px) {
  1380.        .skiptranslate:not(.skiptranslate[style="display: none;"]){height:39px}
  1381.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header{margin-top:10px!important}
  1382.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar{margin-top:10px}
  1383.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar ~ .header{margin-top:0!important}
  1384.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .mobile-main-menu{top:89px!important;height:calc(100% - 90px)!important}
  1385.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .header .navbar{top:39px}
  1386.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ #first_container .member_sidebar.open{top: 89px;}
  1387.    }
  1388.    @media only screen and (max-width: 767px) {
  1389.        .skiptranslate:not(.skiptranslate[style="display: none;"]) ~ .announcement-bar.hidden-xs ~ .header{margin-top:10px!important}
  1390.    }
  1391.  
  1392. </style>
  1393.  
  1394. <!--GOOGLE TAG MANAGER CODE--><div class="header">
  1395. <div class="container">
  1396. <div class="row vmargin">
  1397.          <div id="website_logo" class="col-md-5 tpad xs-nopad xs-hpad sm-text-center xs-bmargin header-left-container">
  1398. <a href="https://www.whatsyourhours.com" title="WhatsYourHours.com">
  1399. <img width="900" height="140" src="/images/wyh-logo-horizontal_1.png" alt="WhatsYourHours.com">
  1400. </a>
  1401. <div class="clearfix"></div>
  1402. </div>
  1403.                     <style type='text/css'> body input.tt-hint,body input.form-control.normal-autosuggest-input.tt-query {
  1404.   background-color: white !important;
  1405. } </style><div class="col-md-7 text-right sm-text-center header-right-container nolpad xs-hpad">
  1406.            <ul class="mini-nav nobmargin list-inline xs-nopad xs-tmargin tpad">
  1407.             <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>
  1408.            <div class="clearfix"></div>
  1409.                <form action="/search_results" name="frm1" class="form-inline website-search">
  1410.                                    <div class="input-group input-group-sm bmargin sm-autosuggest">
  1411.                        <span class="input-group-addon hidden-md"><i class="fa fa-search"></i></span>
  1412.                        <input type="text"
  1413.                               placeholder="Name or Keyword" value="" name="q"
  1414.                               class="member_search form-control input-sm" autocomplete="off">
  1415.                    </div>
  1416.                                        <div class="input-group input-group-sm bmargin">
  1417.                        <span class="input-group-addon hidden-md"><i class="fa fa-location-arrow"></i></span>
  1418.                        <input type="text" autocomplete="off" placeholder="City or Post Code"
  1419.                               value="" id="location_google_maps_header" name="location_value"
  1420.                               class="googleSuggest googleLocation form-control">
  1421.                    </div>
  1422.                                    <input type="submit" value="Search" class="btn btn-sm btn_search bmargin xs-btn-block bold">
  1423.            </form>
  1424.            </div>
  1425.                 </div>
  1426.   </div>
  1427.         <style type='text/css'> .mobile-main-menu .hasChildren span a {
  1428. padding: 0px;
  1429. }
  1430.  
  1431. .user_sidebar > img {
  1432. width: 32px;
  1433. height: 32px;
  1434. position: absolute;
  1435. z-index: 10;
  1436. border-radius: 100px;
  1437. top: -1px;
  1438. object-fit: cover;
  1439. left: -10px;
  1440. background: rgb(238, 238, 238);
  1441. }
  1442. #member_sidebar_toggle img+.fa {
  1443. display: none;
  1444. }
  1445. .main_menu, .user_sidebar, .compact-mobile-search {
  1446. padding: 5px 8px;
  1447. margin-right:0;
  1448. min-height: 33.0333px;
  1449. min-width: 38.116px;
  1450. }
  1451. .main_menu i, .user_sidebar i {
  1452. font-size: 16px;
  1453. }
  1454. .navbar-nav li {
  1455. float: none!Important;
  1456. }
  1457. .navbar-default{
  1458. -webkit-transition: all .6s ease-in-out;
  1459. -moz-transition: all .6s ease-in-out;
  1460. -o-transition: all .6s ease-in-out;
  1461. transition: all .6s ease-in-out;
  1462. }
  1463. .transparent_menu {
  1464. background-color: rgba(217, 83, 79,0.95)!important;
  1465. }
  1466. @media only screen and (max-width: 991px) {
  1467. #popover {display: none}
  1468. }
  1469. @media only screen and (max-width: 1100px){
  1470. .mobile-main-menu{display:block!important}
  1471. .navbar-toggle {display: block}
  1472. #bs-main_menu .nav {display: none!important}
  1473. }
  1474. .mobile-main-menu {
  1475. position: fixed;
  1476. height: calc(100% - 50px)!important;
  1477. width: 250px;
  1478. background: rgb(217, 83, 79);
  1479. z-index: 99999;
  1480. right: -250px;
  1481. top: 50px;
  1482. display: none;
  1483. -webkit-transition: all .6s ease-in-out;
  1484. -moz-transition: all .6s ease-in-out;
  1485. -o-transition: all .6s ease-in-out;
  1486. transition: all .6s ease-in-out;
  1487. overflow-y: auto!important;
  1488. overflow-x: hidden!important;
  1489. }
  1490. .mobile-main-menu ul li i {
  1491. color: rgb(253, 253, 253);
  1492. cursor: pointer;
  1493. float: right;
  1494. padding: 13px;
  1495. }
  1496. .mobile-main-menu.opened{
  1497. right: 0px!important;
  1498. }
  1499. .mobile-main-menu ul li a, .mobile-main-menu ul li span {
  1500. display: inline-block;
  1501. float: left;
  1502. -webkit-touch-callout: none;
  1503. -webkit-user-select: none;
  1504. -khtml-user-select: none;
  1505. -moz-user-select: none;
  1506. -ms-user-select: none;
  1507. user-select: none;
  1508. padding: 10px 0px;
  1509. width: 80%;
  1510. width: calc(100% - 40px);
  1511. }
  1512. .mobile-main-menu .sidebar-nav li ul {
  1513. height: 0px;
  1514. overflow: hidden;
  1515. list-style: none;
  1516. color: rgb(253, 253, 253);
  1517. padding-left: 10px;
  1518. }
  1519. .mobile-main-menu .sidebar-nav li.sub_open > ul{
  1520. height: 100%;
  1521. }
  1522. .mobile-main-menu ul.sidebar-nav {
  1523. position: absolute;
  1524. width: 250px;
  1525. margin: 0;
  1526. padding: 0;
  1527. list-style: none;
  1528. font-size: 14px;
  1529. }
  1530. .mobile-main-menu .sidebar-nav > li {
  1531. display: block;
  1532. line-height: 20px;
  1533. padding: 0 15px 0 20px;
  1534. }
  1535. .mobile-main-menu .sidebar-nav li a, .mobile-main-menu .sidebar-nav li span {
  1536. text-decoration: none;
  1537. color: rgb(253, 253, 253);
  1538. padding-left:10px;
  1539. }
  1540. .mobile-main-menu .sidebar-nav li a i, .mobile-main-menu .sidebar-nav li span i {
  1541. display: none;
  1542. }
  1543.  
  1544. </style><div class="mobile-main-menu">
  1545. <ul class="sidebar-nav">
  1546. <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>
  1547. </div>
  1548. <nav class="navbar navbar-default ">
  1549. <div class="container container-fluid">
  1550.  
  1551.  <div class="navbar-header">
  1552.  <button type="button" class="navbar-toggle collapsed main_menu" data-toggle="collapse" aria-label="main_menu">
  1553.    <i class="fa fa-bars fa-fw"></i>
  1554.    </button>
  1555.  
  1556.    
  1557.  </div>
  1558.  
  1559.  <div class="tablet-menu collapse navbar-collapse nopad" id="bs-main_menu">
  1560. <ul class="tablet-menu-ul nav navbar-nav nav-justified">
  1561.   <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>
  1562.  </div>
  1563. </div>
  1564. </nav>
  1565. <!--CSS IF MENU IS FIXED TOP-->
  1566.  
  1567. </div><div class="clearfix"></div>
  1568. <!-- Begin  Content -->
  1569. <div id="first_container" class="content-container fr-view">
  1570.        <div class="container">
  1571.                <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="/professional-services" title="PROFESSIONAL SERVICES"><span itemprop="name">PROFESSIONAL SERVICES</span><meta itemprop="position" content="2" /></a></li><li class='breadcrumb-current'><span>Colchester Window and Door Repairs</span></li></ol>        <div class="clearfix body-content"></div>
  1572.        <style type='text/css'> a.btn.btn-warning.pull-right.bmargin.xs-nomargin {
  1573. position: relative;
  1574. z-index: 999;
  1575. } </style>
  1576. <div class="row content_w_sidebar member_profile level_3">
  1577.  
  1578.    <div class='col-md-9'><style type='text/css'> @media only screen and (max-width: 767px) {
  1579. .profile-header-write-review {
  1580. margin-top: 10px !important;
  1581. }
  1582. }
  1583. </style>
  1584. <div class="row member-profile-header">
  1585.    <div class="col-xs-12 col-sm-3 norpad text-center xs-nopad xs-bmargin profile-image">
  1586.            <a href="/england/colchester/professional-services/colchester-window-and-door-repairs/connect" title="Contact Free Online Business Listings Colchester Window and Door Repairs">
  1587.                <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">
  1588.            </a>
  1589.            </div>
  1590.    <div class="xs-text-center col-xs-12 col-sm-9 the-header-member-main-info">
  1591.        <div class="row the-header-member-name">
  1592.            <div class="col-sm-10 norpad xs-hpad header-member-name notranslate">
  1593.                <h1 class="bold inline-block">
  1594.                    Colchester Window and Door Repairs                </h1>
  1595. </div>
  1596. <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' class='weight-bold-xxl'>SAVE</span> <span class='' id='number-0'></span></button></div>        </div>
  1597.        <div class="row the-header-member-details">
  1598.            <div class="col-sm-6 tmargin xs-nomargin">
  1599.                <p class="line-height-xl nomargin">
  1600.                    <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>
  1601.            </div>
  1602.  
  1603.                            <div class="clearfix"></div>
  1604.            
  1605.  
  1606.                            <div class="col-sm-6 tmargin profile-header-send-message">
  1607.                    <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">
  1608.                                            <i aria-hidden="true" class="fa fa-comments-o fa-fw"></i> Send Message
  1609.                                        </a>
  1610.                </div>
  1611.            
  1612.                            <div class="col-sm-6 tmargin">
  1613.                     <span class="nobmargin btn btn-block btn-lg alert-info-subtle author-phone click-to-call-button view_phone_number_header" title="See Phone Number">
  1614. <i class="fa fa-phone fa-fw"></i> See Phone Number
  1615. </span>
  1616. <span style="display:none;padding:10px 16px;" class="well nobmargin text-center btn-lg author-phone click-to-call-button phone_number_header">
  1617. <i class="fa fa-phone fa-fw"></i> 01206 205445 </span>
  1618.                    </div>
  1619.            
  1620.            
  1621.            
  1622.        </div>
  1623.    </div>
  1624.    </div>
  1625. <div class="clearfix"></div>        <div class="clearfix"></div>
  1626.            
  1627.                
  1628.            
  1629. <div class="well  tmargin  bmargin fpad make-connection">
  1630. <span class="h3 nobmargin">
  1631. <i class="fa fa-comments-o fa-fw" aria-hidden="true"></i>
  1632. </span>
  1633. <b>MAKE A CONNECTION</b>
  1634. Colchester Window and Door Repairs
  1635. is accepting messages:
  1636. <a class="inline-block" href="/england/colchester/professional-services/colchester-window-and-door-repairs/connect">
  1637. Send Message
  1638. </a>
  1639. </div>
  1640. <div class="clearfix"></div><div role="tabpanel"
  1641.     class="tmargin  member-profile-tabs ">
  1642.                        <ul class="nav nav-tabs fpad nobpad profile-tabs-nav" role="tablist" aria-label="Profile Tabs">
  1643.                                            <li class="active hideMyTab" role="presentation">
  1644.                                <a href="#div1" rel=" nofollow" aria-controls="t1" aria-label="Overview" role="tab" data-toggle="tab" aria-selected="false">
  1645.                                    Overview                                                                                                        </a>
  1646.                            </li>
  1647.                            <style>.hideMyTab{ display:none !important;}.profile-tabs-nav{height: 1px;padding:0;}</style>            </ul>
  1648.                            <div class="tab-content">
  1649.                
  1650.                                <div id="div1" role="tabpanel" aria-labelledby="t1 div1"
  1651.                                     class="tab-pane active">
  1652.                                    <style type='text/css'> ul.table-view.list-inline.xs-center-block > h2.tmargin.tpad.xs-text-center.xs-center-block.clearfix:last-child {
  1653. display:none;
  1654. } </style>        
  1655.        <div class="clearfix"></div>
  1656. <div class="module nomargin bg-secondary no-radius-bottom" style="padding:7px 0;">
  1657. <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">
  1658. Get Directions <small><i class='fa fa-external-link' aria-hidden='true'></i></small>
  1659. </a>
  1660. <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">
  1661. View Larger Map
  1662. </a>
  1663. <div class="clearfix"></div>
  1664. </div>
  1665.        <div class="clearfix"></div>
  1666. <div id="map-canvas" class="no-radius-top"></div>
  1667. <div class="clearfix bmargin"></div>
  1668.            <div class="clearfix"></div>
  1669.        <div class="well bmargin tmargin quote_box">
  1670.            Window and Door Repairs </div>
  1671. <div class="clearfix"></div>
  1672.                                <div class="table-view list-inline xs-center-block bmargin">
  1673.                                                <div class="clearfix"></div>
  1674.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1675.                                    Enter Contact Information Below                                </h2>
  1676.                                                                                    <div class="table-view-group clearfix table-display-additional_fields">
  1677.                                                                                <div class="col-sm-4 bold">
  1678.                                            How did you hear about us?                                        </div>
  1679.                                        <div class="col-sm-8">
  1680.                                            <span class="select select-additional_fields">Google</span>                                        </div>
  1681.                                                                            </div>
  1682.                                                                                            <div class="table-view-group clearfix table-display-listing_type">
  1683.                                                                                <div class="col-sm-4 bold">
  1684.                                            Listing Represents                                        </div>
  1685.                                        <div class="col-sm-8">
  1686.                                            <span class="radio radio-listing_type">Company</span>                                        </div>
  1687.                                                                            </div>
  1688.                                                                                            <div class="table-view-group clearfix table-display-first_name">
  1689.                                                                                <div class="col-sm-4 bold">
  1690.                                            First Name                                        </div>
  1691.                                        <div class="col-sm-8">
  1692.                                            <span class="textbox textbox-first_name">Rob</span>                                        </div>
  1693.                                                                            </div>
  1694.                                                                                            <div class="table-view-group clearfix table-display-last_name">
  1695.                                                                                <div class="col-sm-4 bold">
  1696.                                            Last Name                                        </div>
  1697.                                        <div class="col-sm-8">
  1698.                                            <span class="textbox textbox-last_name">Harris</span>                                        </div>
  1699.                                                                            </div>
  1700.                                                                                            <div class="table-view-group clearfix table-display-company">
  1701.                                                                                <div class="col-sm-4 bold">
  1702.                                            Company Name                                        </div>
  1703.                                        <div class="col-sm-8">
  1704.                                            <span class="textbox textbox-company">Colchester Window and Door Repairs</span>                                        </div>
  1705.                                                                            </div>
  1706.                                                                                            <div class="table-view-group clearfix table-display-position">
  1707.                                                                                <div class="col-sm-4 bold">
  1708.                                            Your Position                                        </div>
  1709.                                        <div class="col-sm-8">
  1710.                                            <span class="select select-position">Business Owner</span>                                        </div>
  1711.                                                                            </div>
  1712.                                                                                            <div class="table-view-group clearfix table-display-profession_id">
  1713.                                                                                <div class="col-sm-4 bold">
  1714.                                            Best Describes You                                        </div>
  1715.                                        <div class="col-sm-8">
  1716.                                            <span class="category category-profession_id">PROFESSIONAL SERVICES</span>                                        </div>
  1717.                                                                            </div>
  1718.                                                                                            <div class="table-view-group clearfix table-display-phone_number">
  1719.                                                                                <div class="col-sm-4 bold">
  1720.                                            Phone Number                                        </div>
  1721.                                        <div class="col-sm-8">
  1722.                                            <span class="phone phone-phone_number">01206 205445</span>                                        </div>
  1723.                                                                            </div>
  1724.                                                                                            <div class="table-view-group clearfix table-display-email">
  1725.                                                                                <div class="col-sm-4 bold">
  1726.                                            Emails Sent To                                        </div>
  1727.                                        <div class="col-sm-8">
  1728.                                            <span class="email email-email">colchester@repairmywindowsanddoors.co.uk</span>                                        </div>
  1729.                                                                            </div>
  1730.                                                                                        <div class="clearfix"></div>
  1731.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1732.                                    Where Are You Located?                                </h2>
  1733.                                                                        <tr>
  1734.                            <th colspan="2">
  1735.                                <div class="well">
  1736.    <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">
  1737.            <div id="map-canvas"></div>
  1738.                    <label class="fill-location-check">
  1739.                <input type="checkbox" class="fill-change-marker">
  1740.                Fill in the location fields below based on where I move the marker on the map above
  1741.            </label>
  1742.                <div class="clearfix"></div>
  1743. </div>
  1744. <input type="hidden" name="country_sn" value="">
  1745. <input type="hidden" name="state_sn" value="">
  1746.                            </th>
  1747.                        </tr>
  1748.                                                        <div class="table-view-group clearfix table-display-address1">
  1749.                                                                                <div class="col-sm-4 bold">
  1750.                                            Address Line 1                                        </div>
  1751.                                        <div class="col-sm-8">
  1752.                                            <span class="textbox textbox-address1">Commerce Way</span>                                        </div>
  1753.                                                                            </div>
  1754.                                                                                            <div class="table-view-group clearfix table-display-lat">
  1755.                                                                                <div class="col-sm-4 bold">
  1756.                                                                                    </div>
  1757.                                        <div class="col-sm-8">
  1758.                                            <span class="hidden hidden-lat">0.00000000</span>                                        </div>
  1759.                                                                            </div>
  1760.                                                                                            <div class="table-view-group clearfix table-display-lon">
  1761.                                                                                <div class="col-sm-4 bold">
  1762.                                                                                    </div>
  1763.                                        <div class="col-sm-8">
  1764.                                            <span class="hidden hidden-lon">0.00000000</span>                                        </div>
  1765.                                                                            </div>
  1766.                                                                                            <div class="table-view-group clearfix table-display-address2">
  1767.                                                                                <div class="col-sm-4 bold">
  1768.                                            Address Line 2                                        </div>
  1769.                                        <div class="col-sm-8">
  1770.                                            <span class="textbox textbox-address2">Commerce Park</span>                                        </div>
  1771.                                                                            </div>
  1772.                                                                                            <div class="table-view-group clearfix table-display-city">
  1773.                                                                                <div class="col-sm-4 bold">
  1774.                                            City                                        </div>
  1775.                                        <div class="col-sm-8">
  1776.                                            <span class="textbox textbox-city">Colchester</span>                                        </div>
  1777.                                                                            </div>
  1778.                                                                                            <div class="table-view-group clearfix table-display-state_ln">
  1779.                                                                                <div class="col-sm-4 bold">
  1780.                                            State                                        </div>
  1781.                                        <div class="col-sm-8">
  1782.                                            <span class="textbox textbox-state_ln">England</span>                                        </div>
  1783.                                                                            </div>
  1784.                                                                                            <div class="table-view-group clearfix table-display-country_ln">
  1785.                                                                                <div class="col-sm-4 bold">
  1786.                                            Country                                        </div>
  1787.                                        <div class="col-sm-8">
  1788.                                            <span class="textbox textbox-country_ln">United Kingdom</span>                                        </div>
  1789.                                                                            </div>
  1790.                                                                                            <div class="table-view-group clearfix table-display-country_code">
  1791.                                                                                <div class="col-sm-4 bold">
  1792.                                                                                    </div>
  1793.                                        <div class="col-sm-8">
  1794.                                            <span class="hidden hidden-country_code">AU</span>                                        </div>
  1795.                                                                            </div>
  1796.                                                                                            <div class="table-view-group clearfix table-display-zip_code">
  1797.                                                                                <div class="col-sm-4 bold">
  1798.                                            Enter Postal Code                                        </div>
  1799.                                        <div class="col-sm-8">
  1800.                                            <span class="textbox textbox-zip_code">CO2 8HX</span>                                        </div>
  1801.                                                                            </div>
  1802.                                                                                        <div class="clearfix"></div>
  1803.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1804.                                    Enter Website Links                                </h2>
  1805.                                                                                    <div class="table-view-group clearfix table-display-website">
  1806.                                                                                <div class="col-sm-4 bold">
  1807.                                            Your Website
  1808.    <img src="/images/homepage.png" style="vertical-align:middle;margin-left:8px;">                                        </div>
  1809.                                        <div class="col-sm-8">
  1810.                                            <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>
  1811.                                                                            </div>
  1812.                                                        
  1813.                            </div>
  1814.            
  1815.                                                    <div class="table-view list-inline xs-center-block bmargin">
  1816.                                                    <div class="table-view-group clearfix table-display-mon_hours">
  1817.                                                                                <div class="col-sm-4 bold">
  1818.                                            Monday                                        </div>
  1819.                                        <div class="col-sm-8">
  1820.                                            <span class="textbox textbox-mon_hours">08:00 – 18:00</span>                                        </div>
  1821.                                                                            </div>
  1822.                                                                                            <div class="table-view-group clearfix table-display-tue_hours">
  1823.                                                                                <div class="col-sm-4 bold">
  1824.                                            Tuesday                                        </div>
  1825.                                        <div class="col-sm-8">
  1826.                                            <span class="textbox textbox-tue_hours">08:00 – 18:00</span>                                        </div>
  1827.                                                                            </div>
  1828.                                                                                            <div class="table-view-group clearfix table-display-wed_hours">
  1829.                                                                                <div class="col-sm-4 bold">
  1830.                                            Wednesday                                        </div>
  1831.                                        <div class="col-sm-8">
  1832.                                            <span class="textbox textbox-wed_hours">08:00 – 18:00</span>                                        </div>
  1833.                                                                            </div>
  1834.                                                                                            <div class="table-view-group clearfix table-display-thu_hours">
  1835.                                                                                <div class="col-sm-4 bold">
  1836.                                            Thursday                                        </div>
  1837.                                        <div class="col-sm-8">
  1838.                                            <span class="textbox textbox-thu_hours">08:00 – 18:00</span>                                        </div>
  1839.                                                                            </div>
  1840.                                                                                            <div class="table-view-group clearfix table-display-fri_hours">
  1841.                                                                                <div class="col-sm-4 bold">
  1842.                                            Friday                                        </div>
  1843.                                        <div class="col-sm-8">
  1844.                                            <span class="textbox textbox-fri_hours">08:00 – 18:00</span>                                        </div>
  1845.                                                                            </div>
  1846.                                                                                            <div class="table-view-group clearfix table-display-sat_hours">
  1847.                                                                                <div class="col-sm-4 bold">
  1848.                                            Saturday                                        </div>
  1849.                                        <div class="col-sm-8">
  1850.                                            <span class="textbox textbox-sat_hours">09:00 – 15:00</span>                                        </div>
  1851.                                                                            </div>
  1852.                                                                                            <div class="table-view-group clearfix table-display-sun_hours">
  1853.                                                                                <div class="col-sm-4 bold">
  1854.                                            Sunday                                        </div>
  1855.                                        <div class="col-sm-8">
  1856.                                            <span class="textbox textbox-sun_hours">Closed</span>                                        </div>
  1857.                                                                            </div>
  1858.                                                                                            <div class="table-view-group clearfix table-display-affiliation">
  1859.                                                                                <div class="col-sm-4 bold">
  1860.                                            Accepted Forms of Payments                                        </div>
  1861.                                        <div class="col-sm-8">
  1862.                                            <span class="textarea textarea-affiliation">Cash<br />
  1863. Bank Transfer<br />
  1864. PayPal</span>                                        </div>
  1865.                                                                            </div>
  1866.                                                        
  1867.                            </div>
  1868.            
  1869.                    <div class="overview-tab-about-me">                    <div class="table-view list-inline xs-center-block bmargin">
  1870.                                                <div class="clearfix"></div>
  1871.                                <h2 class="tmargin tpad xs-center-block clearfix">
  1872.                                    Write About You And Your Company                                </h2>
  1873.                                                                        <tr>
  1874.                            <th colspan="2">
  1875.                                <div class="clearfix"></div>                            </th>
  1876.                        </tr>
  1877.                                                        <div class="table-view-group clearfix table-display-about_me">
  1878.                                                                                <div class="col-sm-4 bold">
  1879.                                            <style type='text/css'> i.fa.fa-trash.fr-delete-img {
  1880.    display: none!important;
  1881. }
  1882. body .fr-modal .fr-modal-wrapper div.fr-scroller div.fr-image-list div.fr-image-container .fr-insert-img {
  1883.    left: 70%;
  1884. }
  1885. .account-form-box > div > table > tbody > tr > td {
  1886.    border: 0;
  1887. }
  1888. .bootstrap-datetimepicker-widget *:not(.active) {
  1889.    background-color: white!important;
  1890. }
  1891.  
  1892. .bootstrap-datetimepicker-widget * {
  1893.    border: 0!Important;
  1894. }
  1895.  
  1896. .bootstrap-datetimepicker-widget table td:not(.active):hover {
  1897.    background:#eee!important;
  1898. }
  1899.  
  1900. .bootstrap-datetimepicker-widget table th.day:hover {
  1901.    background:white!important;
  1902. }
  1903. .fr-popup.fr-desktop {
  1904.    z-index: 10000!important;
  1905. }
  1906.  
  1907. #dropdown-menu-linkStyle-1 [data-param1*="btn"]::before {
  1908.    content: '';
  1909.    width: 14px;
  1910.    height: 14px;
  1911.    border-radius: 20px;
  1912.    position: relative;
  1913.    top: 8px;
  1914.    left: -8px;
  1915. }
  1916.  
  1917. [data-param1*="btn-danger"]::before {
  1918.    background: rgb(44, 102, 217);
  1919. }
  1920. [data-param1*="btn-default"]::before {
  1921.    background: rgb(238, 238, 238);
  1922. }
  1923. [data-param1*="btn-info"]::before {
  1924.    background: rgb(219, 71, 5);
  1925. }
  1926. [data-param1*="btn-primary"]::before {
  1927.    background: rgb(208, 29, 21);
  1928. }
  1929. [data-param1*="btn-success"]::before {
  1930.    background: rgb(42, 178, 123);
  1931. }
  1932. [data-param1*="btn-warning"]::before {
  1933.    background: rgb(247, 202, 24);
  1934. }
  1935. .content_blocks_popup.show {
  1936.    right: 20px;
  1937.    box-shadow: -3px 3px 15px rgba(0, 0, 0, 0.25);
  1938. }
  1939. .content_blocks_popup{
  1940.    position: fixed;
  1941.    right: -300px;
  1942.    top: 50%;
  1943.    transform: translate(0%, -50%);
  1944.    z-index: 10000000;
  1945.    width: 290px;
  1946.    border: 1px solid #d7d7d7;
  1947.    background: #f5f7fa;
  1948.    border-width: 0 1px 1px;
  1949.    transition-timing-function: ease-in;
  1950.    transition: 1s;
  1951. }
  1952. .sidebar_body_open.content_blocks {
  1953.    height: 450px;
  1954.    overflow-y: auto;
  1955. }
  1956. .sidebar_section_toggle #table-header-module, .sidebar_section_toggle #table-header-module h2 {
  1957.    height: 40px;
  1958.    box-sizing: border-box;
  1959.    width: 100%;
  1960.    line-height: 40px;
  1961.    padding: 0 7px;
  1962.    font-size: 16px;
  1963.    color: #fff;
  1964. min-height: 0;
  1965. background:#253342;
  1966. }
  1967. .content_blocks .alert {
  1968.    margin: 10px 5px -5px;
  1969.    display: block;
  1970.    min-height: 30px;
  1971.    padding: 5px;
  1972. }
  1973. .draggable_blocks_container {
  1974.    padding: 15px 0;
  1975. }
  1976. .draggable_blocks_container .content-block {
  1977.    padding: 20px 10px;
  1978.    border: 1px solid #ccc;
  1979.    margin: 0 0px 10px;
  1980.    width: 100%;
  1981.    box-sizing: border-box;
  1982.    text-align: center;
  1983.    background: #fff;
  1984.    cursor: grab;
  1985.    transition: all 250ms ease-in-out;
  1986.    border-radius: 4px;
  1987.    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  1988. }
  1989. .draggable_blocks_container .content-block:hover {
  1990.    box-shadow: 0 0 10px 0px rgba(0, 111, 187, 0.25);
  1991. }
  1992. .draggable_blocks_container .content-block-single-elements .content-block {
  1993.    width: 45%;
  1994.    display: inline-block;
  1995.    vertical-align: top;
  1996.    padding: 5px 10px 10px;
  1997. }
  1998. .draggable_blocks_container .content-block-single-elements .content-block img {
  1999.    max-height: 37px;
  2000.    box-sizing: border-box;
  2001.    width: auto;
  2002.    padding:0;
  2003. }
  2004. .draggable_blocks_container .content-block-single-elements .content-block p {
  2005.    margin: 0 0 5px;
  2006. }
  2007. .draggable_blocks_container p {
  2008.    margin: 0 0 13px;
  2009.    font-weight: bold;
  2010.    font-size: 14px;
  2011.    color: #7f8185;
  2012. }
  2013. .draggable_blocks_container .content-block-single-elements .content-block p {
  2014.    font-size: 12px;
  2015. }
  2016. .draggable_blocks_container .content-block img {
  2017.    width: 100%;
  2018. }
  2019. .draggable_blocks_container .setting_holder.accordion > ul {
  2020.    padding: 0;
  2021.    list-style: none;
  2022. }
  2023. .draggable_blocks_container .setting_holder {
  2024.    display: block;
  2025.    margin: 0;
  2026.    padding: 5px;
  2027.    vertical-align: top;
  2028.    width: 100%;
  2029.    transition: all 300ms ease 0ms;
  2030.    -moz-transition: all 300ms ease 0ms;
  2031.    -webkit-transition: all 300ms ease 0ms;
  2032.    -o-transition: all 300ms ease 0ms;
  2033.    box-sizing: border-box;
  2034. }
  2035. .draggable_blocks_container .setting_holder h2 {
  2036.    border-bottom: 1px solid #dadee2;
  2037.    font-size: 16px;
  2038.    font-weight: 600;
  2039.    margin: 0;
  2040.    padding: 5px 5px 10px;
  2041.    width: 100%;
  2042.    cursor: pointer;
  2043.    cursor: hand;
  2044.    display: block;
  2045.    box-sizing: border-box;
  2046.    outline: none;
  2047.    color: #636f7c;
  2048. }
  2049.  
  2050. .draggable_blocks_container .setting_holder h2 .fa {
  2051.    float: right;
  2052.    position: relative;
  2053.    top: 3px;
  2054. }
  2055.  
  2056. .fr-toolbar button.fr-command[data-cmd="Pre-Made Elements"] {
  2057.    background: #0091ae;
  2058.    color: #fff;
  2059.    padding: 0 12px;
  2060.    height: 26px;
  2061.    top: 5px;
  2062.    font-size: 13px;
  2063. }
  2064. .fr-toolbar button.fr-command[data-cmd="Pre-Made Elements"]:hover{
  2065.    opacity: 0.9;
  2066.    background: #0091ae;
  2067. }
  2068. button.fr-command[data-cmd="Pre-Made Elements"]:before {
  2069.    content: "\f00a";
  2070.    font-family: FontAwesome;
  2071.    margin-right: 5px;
  2072. }
  2073. .sidebar_body_open.content_blocks {
  2074.    height: 600px;
  2075.    overflow-y: auto;
  2076. }
  2077. .sidebar_section_toggle #table-header-module, .sidebar_section_toggle #table-header-module h2 {
  2078.    height: 40px;
  2079.    box-sizing: border-box;
  2080.    width: 100%;
  2081.    line-height: 40px;
  2082.    padding: 0 7px;
  2083.    font-size: 16px;
  2084.    background: #264966;
  2085. }
  2086. .content_blocks .alert {
  2087.    margin: 10px 5px -5px;
  2088.    display: block;
  2089.    min-height: 30px;
  2090.    padding: 5px;
  2091. }
  2092. .draggable_blocks_container {
  2093.    padding: 15px 0;
  2094. }
  2095. .draggable_blocks_container .content-block {
  2096.    padding: 20px 10px;
  2097.    border: 1px solid #ccc;
  2098.    margin: 0 0px 10px;
  2099.    width: 100%;
  2100.    box-sizing: border-box;
  2101.    text-align: center;
  2102.    background: #fff;
  2103.    cursor: grab;
  2104.    transition: all 250ms ease-in-out;
  2105.    border-radius: 4px;
  2106.    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  2107. }
  2108. .draggable_blocks_container .content-block:hover {
  2109.    box-shadow: 0 0 10px 0px rgba(0, 111, 187, 0.25);
  2110. }
  2111. .draggable_blocks_container .content-block-single-elements .content-block {
  2112.    width: 45%;
  2113.    display: inline-block;
  2114.    vertical-align: top;
  2115.    padding: 5px 10px 10px;
  2116. }
  2117. .draggable_blocks_container .content-block-single-elements .content-block img {
  2118.    max-height: 37px;
  2119.    box-sizing: border-box;
  2120.    width: auto;
  2121.    padding:0;
  2122. }
  2123. .draggable_blocks_container .content-block-single-elements .content-block p {
  2124.    margin: 0 0 5px;
  2125. }
  2126. .draggable_blocks_container p {
  2127.    margin: 0 0 13px;
  2128.    font-weight: bold;
  2129.    font-size: 14px;
  2130.    color: #7f8185;
  2131. }
  2132. .draggable_blocks_container .content-block-single-elements .content-block p {
  2133.    font-size: 12px;
  2134. }
  2135. .draggable_blocks_container .content-block img {
  2136.    width: 100%;
  2137. }
  2138. .draggable_blocks_container .setting_holder.accordion > ul {
  2139.    padding: 0;
  2140.    list-style: none;
  2141. }
  2142. .draggable_blocks_container .setting_holder {
  2143.    display: block;
  2144.    margin: 0;
  2145.    padding: 5px;
  2146.    vertical-align: top;
  2147.    width: 100%;
  2148.    transition: all 300ms ease 0ms;
  2149.    -moz-transition: all 300ms ease 0ms;
  2150.    -webkit-transition: all 300ms ease 0ms;
  2151.    -o-transition: all 300ms ease 0ms;
  2152.    box-sizing: border-box;
  2153. }
  2154. .draggable_blocks_container .setting_holder h2 {
  2155.    border-bottom: 1px solid #dadee2;
  2156.    font-size: 16px;
  2157.    font-weight: 600;
  2158.    margin: 0;
  2159.    padding: 5px 5px 10px;
  2160.    width: 100%;
  2161.    cursor: pointer;
  2162.    cursor: hand;
  2163.    display: block;
  2164.    box-sizing: border-box;
  2165.    outline: none;
  2166.    color: #636f7c;
  2167. }
  2168. .draggable_blocks_container .setting_holder h2 .fa {
  2169.    float: right;
  2170.    position: relative;
  2171.    top: 3px;
  2172. }
  2173. .chat_messages #bd-chat-pmb-table_wrapper table tr th {
  2174.    white-space: nowrap !important;
  2175. } </style><style>
  2176.    /* Image styling */
  2177.    .fr-command.fr-insert-image-pexels img {
  2178.        height: 24px;
  2179.        border: none;
  2180.        margin: 8px 8px;
  2181.        background: transparent;
  2182.        vertical-align: unset;
  2183.    }
  2184.  
  2185.    /* Button styling */
  2186.    .fr-command.fr-insert-image-pexels {
  2187.        border: none;
  2188.        background: none;
  2189.        cursor: pointer;
  2190.    }
  2191.  
  2192.    .pexel .pexel-search-button[disabled],.pexel .pexel-search-button[disabled]:hover{
  2193.        cursor: not-allowed;
  2194.        color: #fff;
  2195.        background-image: none;
  2196.        opacity: .65;
  2197.        filter: alpha(opacity=65);
  2198.        -webkit-box-shadow: none;
  2199.        -moz-box-shadow: none;
  2200.        box-shadow: none;
  2201.    }
  2202.  
  2203.    /* Modal styling */
  2204.    #pexel-modal-holder .modal-header .close{
  2205.        margin-top: 5px;
  2206.        margin-right: 10px;
  2207.    }
  2208.  
  2209.    #pexel-modal-holder #pexel-image-preview > li {
  2210.        width: 18.9%;
  2211.    }
  2212.  
  2213.    #pexel-modal-holder .select-image-size{
  2214.        width:100%;
  2215.        padding:5px;
  2216.    }
  2217.  
  2218.    #pexel-modal-holder .select-image-size .btn{
  2219.        margin-top:2px;
  2220.    }
  2221.  
  2222.    #pexel-modal-holder .pexel{
  2223.        padding-bottom:60px;
  2224.    }
  2225.  
  2226.    .pexel-modal {
  2227.        overflow: hidden;
  2228.    }
  2229.  
  2230.    /* Close button styling */
  2231.    #pexelClose-1 {
  2232.        float: right;
  2233.    }
  2234.  
  2235.    /* Form element styling */
  2236.    .pexel-search-form button,
  2237.    .pexel-search-form input,
  2238.    .pexel-search-form select {
  2239.        float: left;
  2240.        font-size: 14px !important;
  2241.        height: 40px;
  2242.        line-height: 40px;
  2243.        margin-bottom: 0;
  2244.        margin-right: 10px;
  2245.        padding: 0 10px !important;
  2246.        width: 20%;
  2247.        border-radius: 4px !important;
  2248.    }
  2249.  
  2250.    /* Image container styling */
  2251.    .img-container {
  2252.        display: inline-block;
  2253.        height: 100%;
  2254.        margin: auto;
  2255.        margin-bottom: 5px;
  2256.        max-width: 100%;
  2257.        position: relative;
  2258.        vertical-align: top;
  2259.        width: 100%;
  2260.        padding: 0;
  2261.        border: none;
  2262.        overflow: hidden;
  2263.    }
  2264.  
  2265.    .img-container img {
  2266.        height: auto;
  2267.        max-width: 100%;
  2268.        vertical-align: middle;
  2269.        border: 0;
  2270.        transition: all .25s ease-in-out 0s;
  2271.    }
  2272.  
  2273.    .img-container:hover img {
  2274.        transform: scale(1.02);
  2275.    }
  2276.  
  2277.    /* Primary button styling */
  2278.    .pexel .btn-primary {
  2279.        background-color: #006fbb !important;
  2280.        border: 1px solid #006fbb !important;
  2281.        color: #fff !important;
  2282.        cursor: pointer;
  2283.    }
  2284.  
  2285.    .pexel .btn-primary:hover {
  2286.        opacity: .9;
  2287.    }
  2288.  
  2289.    /* Pexel container styling */
  2290.    .pexel {
  2291.        padding: 15px;
  2292.        position: relative;
  2293.        font-weight: 200;
  2294.        background: #e9eced;
  2295.    }
  2296.  
  2297.    /* Tabbable container styling */
  2298.    .pexel .tabbable {
  2299.        position: relative;
  2300.    }
  2301.  
  2302.    /* Image grid styling */
  2303.    #pexel-image-preview {
  2304.        overflow-y: auto;
  2305.        padding: 0;
  2306.        margin: 0 auto;
  2307.        list-style: none;
  2308.        height: calc(100vh - 215px);
  2309.    }
  2310.  
  2311.    #pexel-image-preview > li {
  2312.        background: rgba(255,255,255,.75);
  2313.        border-radius: 4px;
  2314.        padding: 7px;
  2315.        text-align: center;
  2316.        transition: all .25s ease-in-out 0s;
  2317.        vertical-align: top;
  2318.        width: 19%;
  2319.        margin: 4px 4px 8px;
  2320.        border: none;
  2321.        display: inline-block;
  2322.        line-height: 20px;
  2323.        box-sizing: border-box;
  2324.    }
  2325.  
  2326.    #pexel-image-preview > li:hover {
  2327.        background: rgba(255, 255, 255, 1);
  2328.        box-shadow: 0px 15px 30px 0px rgba(0, 0, 0, 0.1);
  2329.    }
  2330.  
  2331.    /* Alert styling */
  2332.    .alert.size-chart {
  2333.        line-height: 1.8em !important;
  2334.        margin: 0;
  2335.        border-radius: 0 !important;
  2336.        border: none;
  2337.        background: #f5f5f5;
  2338.        padding-left: 15px;
  2339.        display: inline-block;
  2340.        padding-top: 5px;
  2341.        padding-bottom: 0px;
  2342.    }
  2343.  
  2344.    .alert.size-chart span {
  2345.        background: #fff;
  2346.        border-radius: 100px;
  2347.        margin-left: 2px;
  2348.        padding: 4px 10px;
  2349.        text-shadow: none;
  2350.        border: 1px solid #ccc;
  2351.        font-size: 11px;
  2352.    }
  2353.  
  2354.    /* Select image size styling */
  2355.    .select-image-size {
  2356.        background: rgba(0, 0, 0, .5);
  2357.        color: #fff;
  2358.        padding: 10px;
  2359.        position: absolute;
  2360.        bottom: 0;
  2361.        left: 0;
  2362.        width: calc(100% - 20px);
  2363.    }
  2364.  
  2365.    .select-image-size .btn {
  2366.        font-weight: bold;
  2367.        height: 26px;
  2368.        line-height: 26px;
  2369.        line-height: 24px !important;
  2370.        margin: 0;
  2371.        padding: 0 !important;
  2372.        width: 26px;
  2373.    }
  2374.  
  2375.    .select-image-size select {
  2376.        font-size: 11px !important;
  2377.        height: 30px;
  2378.        margin: 0;
  2379.        width: 75%;
  2380.        width: calc(100% - 36px);
  2381.        min-height: auto;
  2382.        line-height: 15px;
  2383.    }
  2384.  
  2385.    .select-image-size .btn .fa {
  2386.        line-height: inherit;
  2387.    }
  2388.  
  2389.    /* Loading spinner styling */
  2390.    .loading {
  2391.        padding: 5px 8px;
  2392.        border-radius: 2px;
  2393.        position: relative;
  2394.        top: 1px;
  2395.        left: 4px;
  2396.        opacity: 0;
  2397.        transition: opacity .25s ease-in-out;
  2398.        -moz-transition: opacity .25s ease-in-out;
  2399.        -webkit-transition: opacity .25s ease-in-out;
  2400.    }
  2401.  
  2402.    /* Loading overlay styling */
  2403.    .loading-pexel {
  2404.        position: absolute;
  2405.        height: calc(100vh - 215px);
  2406.        width: 100%;
  2407.        display: none;
  2408.        background: rgb(92 88 88);
  2409.        opacity: 0.7;
  2410.        z-index: 99;
  2411.    }
  2412.  
  2413.    /* Remove focus outline on specific elements */
  2414.    select:focus,
  2415.    input[type="file"]:focus,
  2416.    input[type="radio"]:focus,
  2417.    input[type="checkbox"]:focus {
  2418.        outline: none !important;
  2419.    }
  2420.  
  2421.    /* Common button and alert styling */
  2422.    #pexel_template .btn,
  2423.    #pexel_template .btn-primary {
  2424.        font-size: 12px !important;
  2425.        border-radius: 4px !important;
  2426.        line-height: 1.4em !important;
  2427.    }
  2428.    #pexel_template .btn-dark{
  2429.        color: #fff;
  2430.        background-color: #343a40;
  2431.        border-color: #343a40;
  2432.    }
  2433.    #pexel_template .btn-dark:hover{
  2434.        color: #fff;
  2435.        background-color: #23272b;
  2436.        border-color: #1d2124;
  2437.    }
  2438.  
  2439.    /* Disabled search button styling */
  2440.    #pexel-search-button[disabled] {
  2441.        cursor: not-allowed;
  2442.    }
  2443.  
  2444.    /* Horizontal rule margin */
  2445.    .pexel hr {
  2446.        margin: 15px 0;
  2447.    }
  2448.  
  2449.    /* Footer styling */
  2450.    .media-manager-footer.pexels-footer {
  2451.        position: absolute;
  2452.        bottom: 0px;
  2453.        width: 100%;
  2454.        border: 1px solid #ddd;
  2455.        margin-top: 10px;
  2456.        padding: 10px 15px;
  2457.        background: #fff;
  2458.        font-size: 14px;
  2459.        left: 0;
  2460.        box-sizing: border-box;
  2461.        display: block;
  2462.    }
  2463.  
  2464.    .fr-popup .fr-command.fr-btn.fr-insert-image-pexels {
  2465.        border: none;
  2466.        cursor: pointer;
  2467.        padding: 0;
  2468.        width: auto !important;
  2469.    }
  2470.    .fr-popup .fr-command.fr-btn.fr-insert-image-pexels img {
  2471.        border: none;
  2472.        background: transparent;
  2473.        vertical-align: unset;
  2474.        width: auto !important;
  2475.    }
  2476.  
  2477.    /* Responsive styles */
  2478.    @media only screen and (max-width: 1268px) {
  2479.        #pexel-image-preview > li {
  2480.            width: 23%;
  2481.            width: calc(23% + 5px);
  2482.        }
  2483.    }
  2484.  
  2485.    @media only screen and (max-width: 942px) {
  2486.        #pexel-image-preview > li {
  2487.            width: 31%;
  2488.            width: calc(31% + 5px);
  2489.        }
  2490.    }
  2491.  
  2492.    @media (min-width: 1200px) {
  2493.        .pexel .row-fluid {
  2494.            width: 100%;
  2495.            *zoom: 1;
  2496.        }
  2497.    }
  2498.    .author-credit {
  2499.        font-size: 10px;
  2500.    }
  2501. </style><div id="pexel_template" style="display: none;">
  2502. <div class="pexel">
  2503.    <div class="tabbable upload-tabbable">
  2504.        <div class="pexel-search-form">
  2505.  
  2506.            <input autocomplete="off" placeholder="Find Photos by Keyword" required class="form-control" value="City" type="text" id="pexel_keyword" name="pexel_keyword"/>
  2507.                            <select class="form-control"  id="pexel_orientantion" name="pexel_orientantion">
  2508.                    <option value="all">All Orientations</option>
  2509.                    <option selected value="landscape">Horizontal</option>
  2510.                    <option value="portrait">Vertical</option>
  2511.                    <option value="square">Square</option>
  2512.                </select>
  2513.                
  2514.            
  2515.                            <select class="form-control"  id="stock_library" name="stock_library">
  2516.  
  2517.                                            <option value="pexel">Pexels Library</option>
  2518.                                                                <option value="pixbay">Pixabay Library</option>
  2519.                                                                <option value="giphy">Giphy Library</option>
  2520.                                                                <option value="unsplash">Unsplash Library</option>
  2521.                                        
  2522.                </select>
  2523.                                    <input class="btn btn-primary pexel-search-button" onclick="executeSearch(this)" value="Search Photos">
  2524.                            <input type="hidden" name="sub_folder_pexel" id="sub_folder_pexel" value="member_uploads/member_/"/>
  2525.                        <div class="clear clearfix"></div>
  2526.        </div>
  2527.        <span class="help-block" id="help-text-noun" style="display:none; font-size: 12px; font-weight: bold; color: #000; margin: 5px 0 0;">
  2528.            Fewer icons available when colors are applied. <a href="javascript:void(false);" onclick="colorReset()" style="color: #006fbb; font-weight: bold; margin-left: 5px;">
  2529.            <i class="fa fa-refresh" aria-hidden="true"></i> Reset to Black for Full Options</a>
  2530.        </span>
  2531.        <div class="clear clearfix"></div>
  2532.        <hr>
  2533.        <div class="clear clearfix"></div>
  2534.        <div class="row-fluid ff-container">
  2535.            <div class="loading-pexel grid cs-style-2 list-view0">
  2536.                <span class="loading" style="opacity: 10;display: table;top: 45%;margin: 0 auto;color: white;">
  2537.                    <span class="loading-text">Loading...</span> <i class="fa fa-circle-o-notch fa-spin fa-3x fa-fw" style="font-size: 20px;"></i>
  2538.                </span>
  2539.            </div>
  2540.            <ul class="pexel-grid" id="pexel-image-preview"></ul>
  2541.        </div>
  2542.    </div>
  2543. </div>
  2544. <div class="media-manager-footer pexels-footer" style="display:none;">
  2545.    <button id="pexel-load-more" class="sbuttonwiz7" onclick="return false;"> Load More </button>
  2546.    <a id="pexel-refeer" target="_blank" href="https://www.pexels.com" style="float:right;" class="stock_image_refeer sbuttonwiz5"> Photos Provided by Pexels <small><i class="fa fa-external-link fa-fw" aria-hidden="true"></i></small></a>
  2547.    <a id="pixbay-refeer" target="_blank" href="https://pixabay.com/" style="float:right; display:none;" class="stock_image_refeer sbuttonwiz5">Photos Provided by Pixabay <small><i class="fa fa-external-link fa-fw" aria-hidden="true"></i></small></a>
  2548.    <a id="giphy-refeer" target="_blank" href="https://giphy.com/" style="float:right; display:none;" class="stock_image_refeer sbuttonwiz5">Photos Provided by Giphy <i class="fa fa-external-link fa-fw" aria-hidden="true"></i></small></a>
  2549.    <a id="unplash-refeer" target="_blank" href="https://unplash.com/" style="float:right; display:none;" class="stock_image_refeer sbuttonwiz5"> <small><i class="fa fa-external-link fa-fw" aria-hidden="true"></i></small></a>
  2550. </div></div><script id="image-pexel-preview-template"type="text/x-handlebars-template">
  2551.    <li>
  2552.        <div class="img-container">
  2553.            <span></span>
  2554.            <img alt="bg thumbnails" class="" src="{{thumbnail}}">
  2555.            {{#if (eq library "noun")}}
  2556.            <div class="select-image-size">
  2557.                <select class="form-control pull-left" style="display:none;" id="type-options-{{id}}">
  2558.                    <option selected id="option-small-{{id}}" value="small">Small<</option>
  2559.                </select>
  2560.                <span class="icon-download-color" style="color:{{color}};background-color:{{bgColor}}">ICON COLOR</span>
  2561.                <a class="btn btn-primary pull-right" onclick="downloadImage(this)" data-id="{{id}}"> <i aria-hidden="true" class="fa fa-download fa-fw"></i></a>
  2562.                <input type="hidden" id="small-type-{{id}}" value="{{file_smalll}}">
  2563.            </div>
  2564.            {{else}}
  2565.            {{#if (eq library "giphy")}}
  2566.            <div class="select-image-size">
  2567.                <select class="form-control pull-left" style="display:none;" id="type-options-{{id}}">
  2568.                    <option selected id="option-small-{{id}}" value="small">Small</option>
  2569.                </select>
  2570.                <span class="icon-download-color" style="color:#fff;background-color:#000000"> </span>
  2571.                <a class="btn btn-primary pull-right" onclick="downloadImage(this)" data-id="{{id}}"> <i aria-hidden="true" class="fa fa-download fa-fw"></i></a>
  2572.                <input type="hidden" id="small-type-{{id}}" value="{{file_smalll}}">
  2573.            </div>
  2574.            {{else}}
  2575.            <div class="select-image-size">
  2576.                <select class="form-control pull-left" id="type-options-{{id}}">
  2577.                    <option value="">Select Size:</option>
  2578.                    <option id="option-small-{{id}}" value="small">Small</option>
  2579.                    <option id="option-medium-{{id}}" value="medium">Medium</option>
  2580.                    <option id="option-large-{{id}}" value="large">Large</option>
  2581.                </select>
  2582.                <a class="btn btn-primary pull-right" onclick="downloadImage(this)" data-id="{{id}}"> <i aria-hidden="true" class="fa fa-download fa-fw"></i></a>
  2583.                <input type="hidden" id="large-type-{{id}}" value="{{file_large}}">
  2584.                <input type="hidden" id="medium-type-{{id}}" value="{{file_medium}}">
  2585.                <input type="hidden" id="small-type-{{id}}" value="{{file_smalll}}">
  2586.            </div>
  2587.            {{/if}}
  2588.            {{/if}}
  2589.            <input type="hidden" id="color-{{id}}" value="{{bgColor}}">
  2590.            <input type="hidden" id="library-{{id}}" value="{{library}}">
  2591.        </div>
  2592.        <div class="author-credit" style="display:none;">
  2593.            Photo By <a target="_blank" href="{{author_link}}?utm_source=Brilliant%20Directories&amp;utm_medium=referral">{{author_name}}</a> on <a target="_blank" href="https://unsplash.com/?utm_source=Brilliant%20Directories&amp;utm_medium=referral">Unsplash</a>
  2594.        </div>
  2595.    </li>
  2596. </script>
  2597. <link rel='stylesheet' href='/directory/cdn/admin/js/color_picker/spectrum.css' />
  2598. <link href="/directory/cdn/admin/css/fontawesome-iconpicker.min.css" rel="stylesheet">
  2599. <script src="/directory/cdn/admin/js/fontawesome-iconpicker.js"></script>
  2600. <script type="text/javascript" src="/directory/cdn/admin/js/color_picker/spectrum.js"></script>
  2601. <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/example1/colorbox.min.css">
  2602. <script src="//cdnjs.cloudflare.com/ajax/libs/jquery.colorbox/1.4.33/jquery.colorbox-min.js"></script>
  2603. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.11/handlebars.js"></script>
  2604. <script>
  2605.    // Register the 'eq' helper
  2606.    Handlebars.registerHelper('eq', function (v1, v2) {
  2607.        return v1 === v2;
  2608.    });
  2609. </script>
  2610. <script type="text/javascript">
  2611.    var nextPage            = "";
  2612.    var parameters          = {};
  2613.    var currentPage         = 1;
  2614.    var currentKeyword      = "";
  2615.    var currentOrientation  = "";
  2616.    var modalParent         = {};
  2617.    var currentStockLibrary = "";
  2618.    var isSinglePost        = '';
  2619.    var currentColor        = "";
  2620.  
  2621.    function getContrastTextColor(r, g, b) {
  2622.        // Calculate the luminance of the color
  2623.        const luminance = 0.299 * r + 0.587 * g + 0.114 * b;
  2624.        // If the luminance is greater than 186, return black; otherwise, return white
  2625.        return luminance > 186 ? '#000' : '#fff';
  2626.    }
  2627.  
  2628.    function hexToRgb(hex) {
  2629.        // Check if hex is a valid string and is not null or undefined
  2630.        if (typeof hex !== 'string' || !hex) {
  2631.          console.error("Invalid hex value:", hex);
  2632.          return [0,0,0]; // Return a default black color, or handle it differently
  2633.        }
  2634.  
  2635.        // Remove the hash symbol if it's there
  2636.        hex = hex.replace(/^#/, '');
  2637.  
  2638.        // Parse the r, g, b values
  2639.        const bigint = parseInt(hex, 16);
  2640.        const r = (bigint >> 16) & 255;
  2641.        const g = (bigint >> 8) & 255;
  2642.        const b = bigint & 255;
  2643.  
  2644.        return [r, g, b];
  2645.    }
  2646.  
  2647.    function getContrastTextColorFromHex(hex) {
  2648.       // console.log("hex param value",hex) // Check what value is passed as parameter to this function
  2649.        const [r, g, b] = hexToRgb(hex);
  2650.        return getContrastTextColor(r, g, b);
  2651.    }
  2652.  
  2653.    function colorReset() {
  2654.        $("#color-picker").spectrum("set", "#000000");
  2655.        $("#pexel-search-button").prop("disabled","");
  2656.    }
  2657.  
  2658.    function increaseSweetAlertZindex(){
  2659.        $(".sweet-overlay").css('z-index','251000000');
  2660.        $(".sweet-alert").css('z-index','261000000');
  2661.        $(".swal2-container").css('z-index','261000000');
  2662.    }
  2663.  
  2664.    function loaderImagesShow(message){
  2665.        $(modalParent).find(".loading-text").html(message);
  2666.        $(modalParent).find(".loading-pexel").css("display","block");
  2667.    }
  2668.  
  2669.    function loaderImagesHide(){
  2670.        $(modalParent).find(".loading-pexel").css("display","none");
  2671.    }
  2672.  
  2673.    function pexelSearch(parameters){
  2674.        loaderImagesShow("Loading Images...");
  2675.  
  2676.        var url = (parameters.is_admin === true)?"/admin/pexel/search":"/pexel/search";
  2677.  
  2678.        $.ajax({
  2679.            url: url,
  2680.            dataType: "json",
  2681.            type: "GET",
  2682.            data: parameters,
  2683.            success: function(result){
  2684.                if(result.search.status == "success"){
  2685.                    var pexelResult = JSON.parse(result.search.message);
  2686.                    if(pexelResult.total_results > 0){
  2687.                        parameters["buttonColor"] = getContrastTextColorFromHex(parameters.color);
  2688.                        displayPexelResult(pexelResult,parameters);
  2689.                    }else{
  2690.                        swal({
  2691.                            title: "No Results Found",
  2692.                            text: "Try searching with another keyword.",
  2693.                            type: "",
  2694.                            showCancelButton: false,
  2695.                            confirmButtonColor: "#3085d6",
  2696.                            cancelButtonColor: "#d33",
  2697.                            confirmButtonText: "Ok",
  2698.                            cancelButtonText: "No, cancel",
  2699.                            closeOnConfirm: false,
  2700.                            closeOnCancel: true
  2701.                        });
  2702.                        increaseSweetAlertZindex();
  2703.                        $(".pexels-footer").css("display","none");
  2704.                        loaderImagesHide();
  2705.                    }
  2706.  
  2707.                }else{//no records found show error
  2708.                    swal({
  2709.                        title: "No Results Found",
  2710.                        text: "Try searching with another keyword.",
  2711.                        type: "",
  2712.                        showCancelButton: false,
  2713.                        confirmButtonColor: "#3085d6",
  2714.                        cancelButtonColor: "#d33",
  2715.                        confirmButtonText: "Ok",
  2716.                        cancelButtonText: "No, cancel",
  2717.                        closeOnConfirm: false,
  2718.                        closeOnCancel: true
  2719.                    });
  2720.                    increaseSweetAlertZindex();
  2721.                    $(".pexels-footer").css("display","none");
  2722.                    loaderImagesHide();
  2723.                }
  2724.  
  2725.                if(currentKeyword == ""){
  2726.                    currentKeyword = parameters.pexel_keyword;
  2727.                }
  2728.  
  2729.                if(currentOrientation == ""){
  2730.                    currentOrientation = parameters.pexel_orientantion;
  2731.                }
  2732.  
  2733.                currentColor        = parameters.color;
  2734.                currentStockLibrary = parameters.stock_libray
  2735.            },
  2736.            error: function(){
  2737.  
  2738.            }
  2739.        });
  2740.    }
  2741.  
  2742.    function displayPexelResult(pexelResult,parameters){
  2743.        var source      = document.getElementById("image-pexel-preview-template").innerHTML;
  2744.        var template    = Handlebars.compile(source);
  2745.        var authorFound = false;
  2746.        $.each(pexelResult.photos,function(index,image){
  2747.  
  2748.            if(parameters.stock_library != "noun"){
  2749.                if(parameters.pexel_orientantion == "square" && image.height != image.width){//no square photo
  2750.                    return true;//we skip image
  2751.                }else if(parameters.pexel_orientantion == "portrait" && image.height <= image.width){//is not horizontal
  2752.                    return true;//we skip image
  2753.                }else if(parameters.pexel_orientantion == "landscape" && image.height >= image.width){//is not vertical
  2754.                    return true;//we skip image
  2755.                }
  2756.            }
  2757.  
  2758.            var options = {
  2759.                file_large:image.src.large,
  2760.                file_smalll:image.src.medium,
  2761.                file_medium:image.src.large,
  2762.                id:image.id,
  2763.                author_link:"",
  2764.                author_name:"",
  2765.                download_link:"",
  2766.                thumbnail:image.src.thumbnail,
  2767.                library: $("#stock_library").val(),
  2768.                color:parameters.buttonColor,
  2769.                bgColor:parameters.color
  2770.            }
  2771.  
  2772.            if(options.bgColor == ""){
  2773.                options.bgColor = "#000000";
  2774.            }
  2775.  
  2776.            if(image.author){
  2777.                options.author_link = image.author.link;
  2778.                options.author_name = image.author.name;
  2779.                authorFound = true;
  2780.            }
  2781.  
  2782.            if(image.download_link){
  2783.                options.download_link = image.download_link;
  2784.            }
  2785.  
  2786.            if(image.height == image.width){
  2787.                options.file_large = image.src.large2x;
  2788.            }else if(image.height < image.width){
  2789.                options.file_large = image.src.landscape;
  2790.            }else{
  2791.                options.file_large = image.src.portrait;
  2792.            }
  2793.  
  2794.            var html = template(options);
  2795.            $(modalParent).find("#pexel-image-preview").append(html);
  2796.        });
  2797.  
  2798.        if(authorFound === true){
  2799.            $(".author-credit").css("display","block");
  2800.        }else{
  2801.            $(".author-credit").css("display","none");
  2802.        }
  2803.  
  2804.        loaderImagesHide();
  2805.  
  2806.        if(typeof pexelResult.next_page == "string"){
  2807.            nextPage = pexelResult.next_page;
  2808.            if(pexelResult.next_page_number){
  2809.                currentPage = pexelResult.next_page_number;
  2810.            }else{
  2811.                currentPage++;
  2812.            }
  2813.            $(modalParent).find(".pexels-footer").css("display","block");
  2814.        }else{
  2815.            nextPage = "";
  2816.            $(modalParent).find(".pexels-footer").css("display","none");
  2817.        }
  2818.    }
  2819.  
  2820.    function downloadImage(node){
  2821.        loaderImagesShow("Adding Image...");
  2822.        var imageId             = $(node).data('id');
  2823.        var imageType           = $(modalParent).find("#type-options-"+imageId).val();
  2824.  
  2825.        if(imageType === ""){
  2826.            swal({
  2827.                title: "Error",
  2828.                text: "You must select an image size",
  2829.                type: "error",
  2830.                showCancelButton: false,
  2831.                confirmButtonColor: "#3085d6",
  2832.                cancelButtonColor: "#d33",
  2833.                confirmButtonText: "Ok",
  2834.                closeOnCancel: true
  2835.            });
  2836.            increaseSweetAlertZindex();
  2837.            loaderImagesHide();
  2838.            return true;
  2839.        }else if($(modalParent).find("#option-"+imageType+"-"+imageId).prop("disabled") === "disabled" || typeof imageType == "object" ){
  2840.            swal({
  2841.                title: "Image Already Added",
  2842.                text: "",
  2843.                type: "",
  2844.                showCancelButton: false,
  2845.                confirmButtonColor: "#3085d6",
  2846.                cancelButtonColor: "#d33",
  2847.                confirmButtonText: "Ok",
  2848.                closeOnCancel: true
  2849.            });
  2850.            increaseSweetAlertZindex();
  2851.            loaderImagesHide();
  2852.            return true;
  2853.        }
  2854.  
  2855.        var imageFile           = $(modalParent).find("#"+imageType+"-type-"+imageId).val();
  2856.        params                  = {};
  2857.        params['widget_name']   = 'Admin - Feature - Pexel Import';
  2858.        params['request_type']  = "GET";
  2859.        params['header_type']   = "json";
  2860.        params['image']         = imageFile;
  2861.        if($("#library-"+imageId).val() != "noun"){
  2862.            params['image_name']    = $("#library-"+imageId).val().toLowerCase()+'-photo-'+imageId+'-'+imageType;
  2863.        }else{
  2864.            params['image_name']    = $("#library-"+imageId).val().toLowerCase()+'-'+$("#color-"+imageId).val().replace("#","")+'-photo-'+imageId+'-'+imageType;
  2865.        }
  2866.        params['sub_folder']    = $("#sub_folder_pexel").val();
  2867.        params['image_id']      = imageId;
  2868.        params['library']       = $("#library-"+imageId).val();
  2869.        params['color']         = $("#color-"+imageId).val();
  2870.  
  2871.  
  2872.        $.ajax({
  2873.            url: "https://www.whatsyourhours.com/wapi/widget",
  2874.            dataType: "json",
  2875.            type: "GET",
  2876.            data: params,
  2877.            success: function(result){
  2878.                if(result.status == "success"){
  2879.                    if($("#stock_library").val() == "unsplash"){
  2880.                        fetch($("#download-link-"+imageId).val());
  2881.                    }
  2882.                    var swalOpen = true;
  2883.                    increaseSweetAlertZindex();
  2884.                    $(modalParent).find("#option-"+imageType+"-"+imageId).prop("disabled","disabled");
  2885.                    var text = $("#option-"+imageType+"-"+imageId).text();
  2886.                    $(modalParent).find("#option-"+imageType+"-"+imageId).text("✓ Added - "+text);
  2887.                    if(currentPexelFroala && currentPexelFroala.pexelPlugin){
  2888.                        currentPexelFroala.pexelPlugin.insertImage(result.image_path_absolute);
  2889.                    }
  2890.  
  2891.                    if(currentPexelFroala === false){
  2892.                        $('#preview_img').attr('src', result.image_path_absolute);
  2893.                        $('#stock_temp_path').val(result.image_path_relative);
  2894.                        $('.emptyphoto').css("display","none");
  2895.                        $('#preview_img').css("display","block");
  2896.                        
  2897.                        // Check if file input exists before fetching
  2898.                        const fileInput = document.querySelector('input[name="userfile[]"]');
  2899.                        if (fileInput) {
  2900.                            // Create a file object from the image URL and set it to the file input
  2901.                            fetch(result.image_path_absolute)
  2902.                                .then(response => response.blob())
  2903.                                .then(blob => {
  2904.                                    const file = new File([blob], params['image_name'] + '.jpg', {type: 'image/jpeg'});
  2905.                                    const dataTransfer = new DataTransfer();
  2906.                                    dataTransfer.items.add(file);
  2907.                                    fileInput.files = dataTransfer.files;
  2908.                                    // Remove required attribute since we now have a file
  2909.                                    fileInput.removeAttribute('required');
  2910.                                    // Trigger change event for any listeners
  2911.                                    $(fileInput).trigger('change');
  2912.                                });
  2913.                        }
  2914.                            
  2915.                        $('#pexel-modal-holder').modal('hide');
  2916.                        $("#pexel_template").html("");
  2917.                    }
  2918.                }else{//import image error
  2919.                    swal({
  2920.                        title: "Error",
  2921.                        text: result.message,
  2922.                        type: "error",
  2923.                        showCancelButton: false,
  2924.                        confirmButtonColor: "#3085d6",
  2925.                        cancelButtonColor: "#d33",
  2926.                        confirmButtonText: "Ok",
  2927.                        closeOnCancel: true
  2928.                    });
  2929.                    increaseSweetAlertZindex();
  2930.                }
  2931.                loaderImagesHide();
  2932.            }
  2933.        });
  2934.    }
  2935.  
  2936.    function isnewSearch(pexelKeyword,pexelOrientation,stockLibrary,color){
  2937.  
  2938.        if(currentKeyword != pexelKeyword || currentOrientation != pexelOrientation || currentStockLibrary != stockLibrary || currentColor != color){
  2939.            return true;
  2940.        }
  2941.  
  2942.        return false;
  2943.    }
  2944.  
  2945.    function switchStockLibrary(node){
  2946.        $(".pexel-search-button").prop("disabled","");
  2947.        $("#pexel_keyword").prop("title","");
  2948.        $("#"+$(node).val()+"-refeer").css('display','inline-block');
  2949.        executeSearch(this);
  2950.    }
  2951.  
  2952.    function executeSearch(node){
  2953.        var parent              = $(node).closest('.pexel-modal');
  2954.        modalParent             = parent;
  2955.        var pexelKeyword        = $(parent).find("#pexel_keyword").val();
  2956.        pexelKeyword            = pexelKeyword.replace(/ /g, "+");
  2957.        var pexelOrientation    = $(parent).find("#pexel_orientantion").val();
  2958.        var stockLibrary        = $(parent).find("#stock_library").val();
  2959.        var color               = $(parent).find("#color-picker").val();
  2960.  
  2961.        $(parent).find(".pexel-search-button").prop("disabled","");
  2962.        $(parent).find("#pexel_keyword").prop("title","");
  2963.        $(parent).find('.stock_image_refeer').css('display','none');
  2964.        $(parent).find("#"+stockLibrary+"-refeer").css('display','inline-block');
  2965.  
  2966.        if(pexelKeyword == ""){
  2967.            swal({
  2968.                title: "Field Required",
  2969.                text: "The keyword field cannot be empty.",
  2970.                type: "",
  2971.                showCancelButton: false,
  2972.                confirmButtonColor: "#3085d6",
  2973.                cancelButtonColor: "#d33",
  2974.                confirmButtonText: "Ok",
  2975.                cancelButtonText: "No, cancel",
  2976.                closeOnConfirm: false,
  2977.                closeOnCancel: true
  2978.            });
  2979.            increaseSweetAlertZindex();
  2980.            return false;
  2981.        }
  2982.  
  2983.        if(isnewSearch(pexelKeyword,pexelOrientation,stockLibrary,color)){
  2984.            currentKeyword      = "";
  2985.            currentOrientation  = "";
  2986.            currentPage         = 1;
  2987.            currentStockLibrary = "";
  2988.            $(parent).find("#pexel-image-preview").html("");
  2989.        }else if(!isnewSearch(pexelKeyword,pexelOrientation,stockLibrary,color) && nextPage === ""){
  2990.            swal({
  2991.                title: "No Results Found",
  2992.                text: "Try searching with another keyword.",
  2993.                type: "",
  2994.                showCancelButton: false,
  2995.                confirmButtonColor: "#3085d6",
  2996.                cancelButtonColor: "#d33",
  2997.                confirmButtonText: "Ok",
  2998.                cancelButtonText: "No, cancel",
  2999.                closeOnConfirm: false,
  3000.                closeOnCancel: true
  3001.            });
  3002.            increaseSweetAlertZindex();
  3003.            return false;
  3004.        }
  3005.  
  3006.        var isAdmin = false;
  3007.  
  3008.        if($(parent).find("#is_admin").val() === "yes"){
  3009.            isAdmin = true;
  3010.        }
  3011.  
  3012.        parameters          = {
  3013.            pexel_keyword: pexelKeyword,
  3014.            pexel_orientantion: pexelOrientation,
  3015.            pexel_page:currentPage,
  3016.            stock_library:stockLibrary,
  3017.            is_admin:isAdmin,
  3018.            color:color
  3019.        };
  3020.  
  3021.        $(parent).find(".pexels-footer").css("display","none");
  3022.        $(parent).find(".pexel-search-button").prop("disabled","disabled");
  3023.        $(parent).find(".pexel-search-button").prop("title","Update Filters to Search Again");
  3024.        pexelSearch(parameters);
  3025.    }
  3026.  
  3027.    $(document).ready(function(){
  3028.        $("#color-picker").spectrum({
  3029.            preferredFormat: "hex",
  3030.            showInput: true,
  3031.            showPalette: true,
  3032.            clickoutFiresChange: true,
  3033.            palette: [["#FFFFFF","#000000","#D9534F"],["#D01D15","#2AB27B","#DB4705"],["#F7CA18","#2C66D9","#EEEEEE"]],
  3034.            change: function(color) {
  3035.                color = color.toRgbString();
  3036.                $("#pexel-search-button").prop("disabled","");
  3037.            },
  3038.            hide: function(color) {
  3039.                color = color.toRgbString();
  3040.            },
  3041.            move: function(color) {
  3042.                color = color.toRgbString();
  3043.            }
  3044.        });
  3045.        $(".pexel .sp-replacer").css("display","none");
  3046.  
  3047.        $(modalParent).find("#pexel-load-more").click(function(){
  3048.            if(nextPage != ""){
  3049.                loaderImagesShow("Loading Images...");
  3050.                parameters.pexel_page = currentPage;
  3051.                pexelSearch(parameters);
  3052.            }
  3053.        });
  3054.  
  3055.        $(modalParent).find("#pexel_orientantion").on("change",function(){
  3056.            $("#pexel-search-button").prop("disabled","");
  3057.            $("#pexel_keyword").prop("title","");
  3058.        });
  3059.  
  3060.        $(modalParent).find("#stock_library").on("change",function(){
  3061.            if($(this).val() == "noun"){
  3062.                $(".pexel .sp-replacer").css("display","inline-block");
  3063.                $("#pexel_orientantion").css("display","none");
  3064.                $("#help-text-noun").css("display","block");
  3065.            }else{
  3066.                $(".pexel .sp-replacer").css("display","none");
  3067.                $("#pexel_orientantion").css("display","inline-block");
  3068.                $("#help-text-noun").css("display","none");
  3069.            }
  3070.            executeSearch($("#pexel-search-button"));
  3071.        });
  3072.  
  3073.        $(modalParent).find("#pexel_keyword").on("keyup",function(){
  3074.            $("#pexel-search-button").prop("disabled","");
  3075.            $("#pexel_keyword").prop("title","");
  3076.        });
  3077.    });
  3078. </script>                                        </div>
  3079.                                        <div class="col-sm-8">
  3080.                                            <span class="textarea textarea-about_me"><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></span>                                        </div>
  3081.                                                                            </div>
  3082.                                                        
  3083.                            </div>
  3084.            
  3085.            <div class="clearfix"></div></div>    <div class="tmargin tpad overview-tab-service-areas"><style type='text/css'> .additional_service_areas button {
  3086.    cursor: text;
  3087. }
  3088. .additional_service_areas button:active {
  3089.    box-shadow: none;
  3090. } </style><div class="clearfix"></div></div><div class="clearfix"></div> <style>
  3091.      #map-canvas {
  3092.        height: 200px;
  3093.        width: 100%;
  3094.        margin: 0px;
  3095.        padding: 0px;
  3096.        border-radius:5px;
  3097.        overflow:hidden;
  3098.      }
  3099.    </style>
  3100. <script>
  3101.  
  3102. $(document).ready(function(){
  3103.    var map;
  3104.    function initialize() {
  3105.                      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}]}];
  3106.            var styledMap = new google.maps.StyledMapType(styles,{name: "Styled Map"});
  3107.            var myLatlng = new google.maps.LatLng(parseFloat(0.00000000),parseFloat(0.00000000));
  3108.      var iconImage = '';
  3109.      var mapOptions = {
  3110.        zoom: 15,
  3111.        center: myLatlng,
  3112. scrollwheel: false
  3113.      }
  3114.      map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  3115.              map.mapTypes.set('map_style', styledMap);
  3116.        map.setMapTypeId('map_style');
  3117.            var marker = new google.maps.Marker({
  3118.      position: myLatlng,
  3119.      map: map,
  3120.      icon: iconImage
  3121.  });
  3122.    }
  3123.    google.maps.event.addDomListener(window, 'load', initialize);
  3124.    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  3125.     var currentCenter = map.getCenter();
  3126.     google.maps.event.trigger(map, "resize");
  3127.     map.setCenter(currentCenter);
  3128. });
  3129. });
  3130. </script>                                   </div>
  3131.                             <div class="clearfix"></div>
  3132.            </div>
  3133.            </div>
  3134.    </div>
  3135.    <div class="col-sm-12 col-md-3 sidebar-section">        <section id='id' class=''><!--
  3136.  
  3137. 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.
  3138.  
  3139. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  3140.  
  3141. -->
  3142. <a href="https://websecuritypro.com.au?ref=11&utm_source=brent-whatsyourhours" target="_blank">
  3143. <img src="/images/Websecuritypro-remarketingads-300x600-1.png">
  3144. </a>
  3145. <div class="clearfix clearfix-lg"></div>
  3146. <style type='text/css'> #captchaContainer {
  3147. transform:scale(0.77);
  3148. -webkit-transform:scale(0.77);
  3149. transform-origin:0 0;
  3150. -webkit-transform-origin:0 0;
  3151. } </style>        <div class="module member-contact-form">
  3152.             <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|3" id="bootstrap_get_match_255-element-5"/><input type="hidden" name="answerqmatch" value="5" 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>
  3153.        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{
  3154.            display: inline-block;
  3155.            margin-right: 15px;
  3156.        }
  3157.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group label {
  3158.            display: none;
  3159.        }
  3160. form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group label.btn{
  3161. display: block;
  3162. }
  3163.  
  3164.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group div.bootstrap-filestyle ,
  3165.        form[action="/api/widget/json/get/Bootstrap%20Theme%20-%20Function%20-%20Save%20Form"] .form-group div.bootstrap-filestyle label.btn{
  3166.            width: 100%;
  3167.        }
  3168.  
  3169.        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)  {
  3170.            margin: 0px !important;
  3171.        }
  3172.  
  3173.        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  {
  3174.            margin-top: 10px;
  3175.        }
  3176.    </style>
  3177.    
  3178. <script>
  3179.    $(document).ready(function(){
  3180.        $('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(){
  3181.            if($(this).parents('.form-group').find('.required:hidden').length > 0){
  3182.  
  3183.                let placeholderAttr = $(this).attr('placeholder');
  3184.                let optionRequired = $(this).find('option[value=""]').html();
  3185.                                    if (typeof placeholderAttr !== 'undefined' && placeholderAttr.indexOf(`(Required)`) < 1) {
  3186.                        $(this).attr('placeholder', $(this).attr('placeholder') + ` (Required)`);
  3187.                    }
  3188.  
  3189. if (typeof optionRequired !== 'undefined' && optionRequired.indexOf(`(Required)`) < 1) {
  3190. $(this).find('option[value=""]').html($(this).find('option[value=""]').html() + ` (Required)`);
  3191. }
  3192.            }
  3193.        })
  3194.    })
  3195. </script> <h3 class="nomargin">
  3196. Contact <span class='inline-block'>Colchester Window and Door Repairs</span>
  3197. </h3>
  3198. <hr>
  3199. <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">
  3200. <label class="vertical-label" for="myform-element-1543">
  3201.     Preferred Reply Day
  3202. </label>
  3203. <select aria-label="Preferred Reply Day" name="lead_preferred_day" autocomplete="off" class="form-control control-group " id="myform-element-1543">
  3204. <option value="">Preferred Reply Day</option>
  3205. <option value="As soon as possible">As soon as possible</option>
  3206.                    <option value="Sunday">Sunday</option>
  3207.            <option value="Monday">Monday</option>
  3208.            <option value="Tuesday">Tuesday</option>
  3209.            <option value="Wednesday">Wednesday</option>
  3210.            <option value="Thursday">Thursday</option>
  3211.            <option value="Friday">Friday</option>
  3212.            <option value="Saturday">Saturday</option>
  3213.                
  3214.        ?>
  3215. </select>
  3216. </div>
  3217. <div class="form-group">
  3218.    <label class="vertical-label" for="myform-element-1654">
  3219.                Preferred Reply Time</label>
  3220.    <select aria-label="Preferred Reply Time" name="lead_preferred_time" autocomplete="off" class="form-control control-group " id="myform-element-1654">
  3221.        <option value="">Preferred Reply Time</option>
  3222.        <option value="As soon as possible">As soon as possible</option>
  3223.                    <option value="12:00 am">12:00 am</option>
  3224.            <option value="1:00 am">1:00 am</option>
  3225.            <option value="2:00 am">2:00 am</option>
  3226.            <option value="3:00 am">3:00 am</option>
  3227.            <option value="4:00 am">4:00 am</option>
  3228.            <option value="5:00 am">5:00 am</option>
  3229.            <option value="6:00 am">6:00 am</option>
  3230.            <option value="7:00 am">7:00 am</option>
  3231.            <option value="8:00 am">8:00 am</option>
  3232.            <option value="9:00 am">9:00 am</option>
  3233.            <option value="10:00 am">10:00 am</option>
  3234.            <option value="11:00 am">11:00 am</option>
  3235.            <option value="12:00 pm">12:00 pm</option>
  3236.            <option value="1:00 pm">1:00 pm</option>
  3237.            <option value="2:00 pm">2:00 pm</option>
  3238.            <option value="3:00  pm">3:00  pm</option>
  3239.            <option value="4:00 pm">4:00 pm</option>
  3240.            <option value="5:00 pm">5:00 pm</option>
  3241.            <option value="6:00 pm">6:00 pm</option>
  3242.            <option value="7:00 pm">7:00 pm</option>
  3243.            <option value="8:00 pm">8:00 pm</option>
  3244.            <option value="9:00 pm">9:00 pm</option>
  3245.            <option value="10:00 pm">10:00 pm</option>
  3246.            <option value="11:00 pm">11:00 pm</option>
  3247.                
  3248.    </select>
  3249. </div>
  3250. <style type='text/css'> #map-canvas-contact-sidebar {
  3251.    display: block;
  3252.    width: 100%;
  3253.    height: 250px;
  3254.    float: right;
  3255. }
  3256. label.fill-location-check {
  3257.  display: block;
  3258.  width: 100%;
  3259.  float: left;
  3260.  margin: 6px 0 6px 9%;
  3261. }
  3262. #myform .google-writen-location {
  3263.  float: right;
  3264. }
  3265.  
  3266. #map-canvas-contact-sidebar {
  3267.    border-radius: 4px;
  3268. }
  3269. .pac-container {    
  3270. z-index: 1551;
  3271. } </style>    <input type="hidden" name="utoken" value="386682">
  3272.            <span class="location_status" id="location_status" data-state="only_input"></span>
  3273.            <span class="location_required" id="location_required" data-state="1"></span>
  3274.            <div class="form-group" style="overflow: auto;">
  3275.            <label for="myform-element-8"><span class="required">* </span>Location</label>
  3276.            <input id="pac-input" autocomplete="off" 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">
  3277.            <input type="hidden" name="lat" value="">
  3278.            <input type="hidden" name="lng" value="">
  3279.            <input type="hidden" name="swlat" value="">
  3280.            <input type="hidden" name="swlng" value="">
  3281.            <input type="hidden" name="nelat" value="">
  3282.            <input type="hidden" name="nelng" value="">
  3283.            <input type="hidden" name="location_type" value="">
  3284.            <input type="hidden" name="country_sn" value="">
  3285.            <input type="hidden" name="county_sn" value="">
  3286.            <input type="hidden" name="adm_lvl_1_sn" value="">
  3287.            <input type="hidden" name="city" value="">
  3288.            <input type="hidden" name="faddress" value="">
  3289.            
  3290.  
  3291.        </div>
  3292.                <span id="cat-page-type" data-type="profile"
  3293.                  data-user="386682"></span>
  3294.                        <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">
  3295. <input type="hidden" name="checkPageType" value="profile">
  3296.            <div class="form-group nomargin">
  3297.                <div class="checkbox nomargin">
  3298.                    <label style="display:block;" class="bmargin small">
  3299.                        <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"/>
  3300.                        <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>
  3301.                </div>
  3302.            </div>
  3303.        <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">
  3304.            <div id="bootstrap_get_match_255-captchaContainer" class="control-group">
  3305.        <div class="g-recaptcha"  id="bootstrap_get_match_255-google-recaptcha"></div>
  3306.    </div>
  3307.    <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>
  3308.    <div class="clearfix bmargin"></div>
  3309.    <input type="hidden" name="recaptcha" id="bootstrap_get_match_255-rcap">
  3310. </div>
  3311.    <style>
  3312.        .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 {
  3313.            transform: scale(0.77);
  3314.            -webkit-transform: scale(0.77);
  3315.            transform-origin: 0 0;
  3316.            -webkit-transform-origin: 0 0;
  3317.            margin-bottom: -15px;
  3318.        }
  3319.  
  3320.        .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 {
  3321.            transform: scale(0.77);
  3322.            -webkit-transform: scale(0.77);
  3323.            transform-origin: 0 0;
  3324.            -webkit-transform-origin: 0 0;
  3325.            margin-bottom: -15px;
  3326.        }
  3327.    </style>
  3328.    <script type="text/javascript">
  3329.        var formID          = '';
  3330.        var currentCaptcha  = {};
  3331.        var captchaHolders  = {};
  3332.        if(typeof formsFound == "undefined"){
  3333.            var formsFound      = {};
  3334.            window.addEventListener('load', () => {
  3335.                formID = document.querySelectorAll('[name="recaptcha"]');
  3336.                if (typeof formID != "undefined" && formID !== null) {
  3337.                    for (let i = 0; i < formID.length; i++) {
  3338.                        let formIDForm      = formID[i].closest('form');
  3339.                        let captchaHolder   = formIDForm.querySelector(".g-recaptcha");
  3340.  
  3341.                        if (typeof formsFound[formIDForm.id] != "undefined") {
  3342.                            formsFound[formIDForm.id]['counter']++;
  3343.                        }else{
  3344.                            formsFound[formIDForm.id] = {'counter' : 1};
  3345.                        }
  3346.  
  3347.                        formIDForm.setAttribute('data-counter', formsFound[formIDForm.id]['counter']);
  3348.                        captchaHolder.setAttribute('id',captchaHolder.id+'-'+formsFound[formIDForm.id]['counter']);
  3349.  
  3350.                        if (typeof formIDForm != "undefined" && formIDForm !== null) {
  3351.                            formIDForm.addEventListener('click', reCaptchaOnFormClick, false);
  3352.                        }
  3353.                    }
  3354.                }
  3355.            });
  3356.        }
  3357.  
  3358.        function reCaptchaOnFormClick(event) {
  3359.            currentCaptchaForm  = event.srcElement.closest('form');
  3360.            var head            = document.getElementsByTagName('head')[0];
  3361.            var script          = document.createElement('script');
  3362.            script.type         = 'text/javascript';
  3363.            script.src          = 'https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit&hl=en';
  3364.            head.appendChild(script);
  3365.            if (typeof currentCaptchaForm != "undefined" && currentCaptchaForm !== null) {
  3366.                currentCaptchaForm.removeEventListener('click', reCaptchaOnFormClick, false);
  3367.            }
  3368.        }
  3369.  
  3370.  
  3371.        var onloadCallback = function (event) {
  3372.            var captcha = currentCaptchaForm.querySelectorAll('div[class=g-recaptcha]');
  3373.            if(captcha[0].id){
  3374.                captchaHolders[captcha[0].id] = grecaptcha.render(captcha[0].id, {
  3375.                    'sitekey': '6Lf8GfsSAAAAAD85tCjd0qqFlafyPNWp-wFm9KX2'
  3376.                });
  3377.            }
  3378.        }
  3379.  
  3380.    </script>
  3381. <script>
  3382.    function respuesta() {
  3383.        var checkedTextArea = document.getElementsByClassName('g-recaptcha');
  3384.        var rcap = document.getElementsByTagName('recaptcha');
  3385.        for (var i = 0; i < checkedTextArea.length; i++) {
  3386.            if (checkedTextArea[i].value != '') {
  3387.                for (var index = 0; i < rcap.length; index++) {
  3388.                    rcap[index].setAttribute("value", "checked");
  3389.                }
  3390.            }
  3391.        }
  3392.    }
  3393.  
  3394.    $(document).ready(function(){
  3395.        $("#bootstrap_get_match_255 input[type=submit]").unbind('click');
  3396.        $("#bootstrap_get_match_255 input[type=submit]").click(function (event) {
  3397.  
  3398.            var formId = $(this.form).attr('id');
  3399.            var captchaHolderKey = formId + "-google-recaptcha-" +$(this.form).data('counter');
  3400.  
  3401.            if (typeof captchaHolders[captchaHolderKey] != "undefined") {
  3402.                event.preventDefault();
  3403.  
  3404.                if (grecaptcha.getResponse(captchaHolders[captchaHolderKey]) === "") {
  3405.                    $("#" + formId).formValidation('validate');
  3406.                    $("#" + formId + " .security_question_label").addClass("has-error");
  3407.                    $("#" + formId + " #recaptcha_error").css("display", "block");
  3408.                    return false;
  3409.                } else {
  3410.                    $("#" + formId + " .security_question_label").removeClass("has-error");
  3411.                    $("#" + formId + " #recaptcha_error").css("display", "none");
  3412.                    respuesta();
  3413.                    $("#" + formId).submit();
  3414.                }
  3415.            }
  3416.        });
  3417.    });
  3418. </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() {
  3419. });}); </script>         </div>
  3420.    
  3421.             <style type='text/css'> .col-md-3 .social_share_buttons .col-xs-3, .col-lg-3 .social_share_buttons .col-xs-3 {
  3422. transform: scale(.96);
  3423. }
  3424. .social_share_buttons .col-xs-4 {
  3425. padding: 0 5px;
  3426. }
  3427. .fbMobilePopUp {
  3428. color: #fff;
  3429. background-color: #3b5998;
  3430. padding: 2px 9px;
  3431. font-size: 11px;
  3432. font-weight: 500;
  3433. border-radius: 7%;
  3434. position: relative;
  3435. }
  3436.  
  3437. .fbMobilePopUp:hover {
  3438. color: #fff !important;
  3439. background-color: #354f87
  3440. }
  3441.  
  3442. .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 {
  3443. width: 100%!important;
  3444. display: block!important;
  3445. border-radius: 100px !important;
  3446. vertical-align:top!important;
  3447. margin:0 auto!important;
  3448. white-space:nowrap!important;
  3449. color: #fff!important;
  3450. } </style><aside>
  3451.    <div class="module social_share_buttons">
  3452.        <h2 class="nomargin">
  3453.            <i class="fa fa-share-square-o fa-fw"></i> Share This Page
  3454.        </h2>
  3455.        <hr>
  3456.        <div class="row hpad">
  3457.            <div class="col-xs-4 col-sm-4 col-md-6 col-lg-4 text-center bmargin facebook_social_share_button social_share_button">
  3458.  
  3459.                                    <div class="fb-share-button" style="display:none;">
  3460.                        <a href="#" title="Facebook Share Button" class="fbMobilePopUp" onclick='showFBShare();'>
  3461.                            <i class="fa fa-facebook "></i> Share
  3462.                        </a>
  3463.                    </div>
  3464.  <i class="fa fa-circle-o-notch fa-spin spin_remove_2"></i>
  3465.                            </div>
  3466.            <div class="col-xs-4 col-sm-4 col-md-6 col-lg-4 text-center bmargin twitter_social_share_button social_share_button">
  3467.                <a title="Twitter Share Button" href="//twitter.com/share" class="twitter-share-button" data-count="vertical"></a>
  3468.                <i class="fa fa-circle-o-notch fa-spin spin_remove_2"></i>
  3469.            </div>
  3470.            <div class="col-xs-4 col-sm-4 col-md-6 col-lg-4 text-center bmargin linkedin_social_share_button social_share_button">
  3471.                <script type="IN/Share" data-counter="top" defer></script>
  3472.                <i class="fa fa-circle-o-notch fa-spin spin_remove_2"></i>
  3473.            </div>
  3474.            <div class="clear"></div>
  3475.        </div>
  3476.        <div class="clear"></div>
  3477.    </div>
  3478. </aside><style type='text/css'> .related-searches-ul {
  3479. max-height: 200px;
  3480. overflow-y: auto;
  3481. }
  3482. .related-searches-ul li > a {
  3483. margin:1px 0 2px;
  3484. display:inline-block;
  3485. } </style>    <div class="module related-members-links">
  3486.        <h3 class="nomargin">
  3487. Related Searches
  3488. </h3>
  3489. <hr>
  3490.        <ul class="list-unstyled font-sm line-height-xl related-searches-ul">
  3491.            <li class="xs-bmargin"><a href="https://www.whatsyourhours.com/professional-services" title="PROFESSIONAL SERVICES">All PROFESSIONAL SERVICES</a>
  3492.            <br/>
  3493.            <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>
  3494.    </div>
  3495.  
  3496.  
  3497.    <div class="module post_location_map nopad">
  3498.        <p class="btn-sm bg-secondary text-center nomargin line-height-xl bold no-radius-bottom">
  3499.            <i class="fa fa-map-marker fa-fw text-danger"></i>
  3500.            Commerce Way Commerce Park, Colchester, England CO2 8HX        </p>
  3501.        <div class="clearfix"></div>
  3502.        <div id="map-canvas_sidebar"></div>
  3503.        <div class="clearfix"></div>
  3504.        <a href="#" data-toggle="modal" data-target="#sidebarlocationModal" class="popup btn btn-primary btn-block no-radius-top" title="Click for Directions">
  3505.            View Larger Map
  3506.        </a>
  3507.        <script>
  3508.            function setJsMapSidebar() {
  3509.                var map, map2;
  3510.                        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}]}];
  3511.                    var styledMap = new google.maps.StyledMapType(styles, {name: "Styled Map"});
  3512.                                var myLatlng = new google.maps.LatLng(parseFloat(0.00000000), parseFloat(0.00000000));
  3513.                var iconImage = '';
  3514.                var mapOptions = {
  3515.                    zoom: 15,
  3516.                    center: myLatlng,
  3517.                    controlSize: 26,
  3518.                    mapTypeControl: false,
  3519.                    streetViewControl: false,
  3520.                    scrollwheel: false
  3521.                }
  3522.                map_sidebar = new google.maps.Map(document.getElementById('map-canvas_sidebar'), mapOptions);
  3523.                map2 = new google.maps.Map(document.getElementById('sidebar-map-canvas'), mapOptions);
  3524.                                map_sidebar.mapTypes.set('map_style', styledMap);
  3525.                map_sidebar.setMapTypeId('map_style');
  3526.                map2.mapTypes.set('map_style', styledMap);
  3527.                map2.setMapTypeId('map_style');
  3528.                                var marker = new google.maps.Marker({
  3529.                    position: myLatlng,
  3530.                    map: map_sidebar,
  3531.                    icon: iconImage
  3532.                });
  3533.                var marker2 = new google.maps.Marker({
  3534.                    position: myLatlng,
  3535.                    map: map2,
  3536.                    icon: iconImage
  3537.                });
  3538.                // google.maps.event.addDomListener(window, 'load', initialize);
  3539.                $('#sidebarlocationModal').on('shown.bs.modal', function () {
  3540.                    var currentCenter = map2.getCenter();
  3541.                    google.maps.event.trigger(map2, "resize");
  3542.                    map2.setCenter(currentCenter);
  3543.                });
  3544.            }
  3545. </script>
  3546. </div>
  3547. <div class="modal fade" id="sidebarlocationModal" tabindex="-1" role="dialog" aria-labelledby="sidebarlocationModal" aria-hidden="true">
  3548.    <div class="modal-dialog modal-lg">
  3549.        <div class="modal-content">
  3550.            <div class="modal-header">
  3551.                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  3552.                <h4 class="modal-title">Map View</h4>
  3553.            </div>
  3554.            <div class="modal-body" style="height: 350px;">
  3555.                <div id="sidebar-map-canvas"></div>
  3556.            </div>
  3557.            <div class="modal-footer">
  3558.  
  3559.                
  3560.                
  3561.                                    <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>
  3562.                
  3563.                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
  3564.            </div>
  3565.        </div>
  3566.    </div>
  3567. </div>
  3568. <style>
  3569.    #sidebar-map-canvas {
  3570.        height: 100%;
  3571.        margin-bottom: 5px;
  3572.        width: 100%;
  3573.    }
  3574. </style><!--
  3575.  
  3576. 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.
  3577.  
  3578. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  3579.  
  3580. -->
  3581. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  3582. <!-- Responsive -->
  3583. <ins class="adsbygoogle"
  3584.     style="display:block"
  3585.     data-ad-client="ca-pub-8264287386440187"
  3586.     data-ad-slot="5914336557"
  3587.     data-ad-format="auto"></ins>
  3588. <script>
  3589. (adsbygoogle = window.adsbygoogle || []).push({});
  3590. </script>
  3591. <div class="clearfix clearfix-lg"></div>
  3592. <!--
  3593.  
  3594. 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.
  3595.  
  3596. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  3597.  
  3598. -->
  3599. <a href="https://websecuritypro.com.au?ref=11&utm_source=brent-whatsyourhours" target="_blank">
  3600. <img src="/images/Websecuritypro-remarketingads-300x600-1.png">
  3601. </a>
  3602. <div class="clearfix clearfix-lg"></div>
  3603. </section>        </div>
  3604.    
  3605. </div>
  3606. <div class="clearfix"></div>
  3607.        <div class="clearfix"></div>
  3608.    </div>
  3609. </div>
  3610. <!-- End Content -->
  3611. <div class="clearfix footer-clear-element clearfix-lg"></div>
  3612. <!--
  3613.  
  3614. 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.
  3615.  
  3616. Please see this article for more information: http://support.brilliantdirectories.com/solution/articles/5000558894-how-to-add-a-google-adsense-banner-ad
  3617.  
  3618. -->
  3619. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  3620. <script>
  3621.  (adsbygoogle = window.adsbygoogle || []).push({
  3622.    google_ad_client: "ca-pub-8264287386440187",
  3623.    enable_page_level_ads: true
  3624.  });
  3625. </script>
  3626.  
  3627. <div class="clearfix clearfix-lg"></div>
  3628.  
  3629. <div class="footer">
  3630.    <div class="container">
  3631.        <div class="row">
  3632.            <ul class="footer_menu sm-text-center">
  3633.                 <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 </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 class="list-social-links">
  3634. <a class="network-icon contact" href="/about/contact" title="Contact Us WhatsYourHours.com">
  3635. <i class="fa fa-envelope"></i>
  3636. </a>
  3637. <a class="network-icon facebook" href="https://www.facebook.com/whatsyourhours" target="_blank" title="WhatsYourHours.com Facebook">
  3638. <i class="fa fa-facebook"></i>
  3639. </a>
  3640. <a class="network-icon googleplus" rel="publisher" href="https://goo.gl/maps/NvhnWcvNf342" target="_blank" title="WhatsYourHours.com Google"  rel="publisher">
  3641. <i class="fa fa-google-plus"></i>
  3642. </a>
  3643. <a class="network-icon image-icon twitter" href="https://twitter.com/whatsyourhours" target="_blank" title="WhatsYourHours.com X">
  3644. <img alt="WhatsYourHours.com X" loading="lazy" class="talign img-circle" src="/images/twitterX.png" width="40" height="40">
  3645. </a>
  3646.    
  3647.      
  3648. <a class="network-icon linkedin" href="https://www.linkedin.com/company/whatsyourhours-com" target="_blank" title="WhatsYourHours.com LinkedIn">
  3649. <i class="fa fa-linkedin"></i>
  3650. </a>
  3651. <div class="clearfix"></div>
  3652. </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>
  3653.        </div>
  3654. <div class="col-md-12 fpad fmargin small text-center footer_terms">
  3655. &copy; 2025 <a title="WhatsYourHours.com" href="/">
  3656. WhatsYourHours.com </a>
  3657. All Rights Reserved.
  3658. <div class="inline-block">
  3659. <a title="Terms of Use - WhatsYourHours.com" href="/about/terms">
  3660. Terms of Use
  3661. </a>
  3662. |
  3663. <a title="Privacy Policy - WhatsYourHours.com" href="/about/privacy">
  3664. Privacy Policy
  3665. </a>
  3666. </div>
  3667. </div>
  3668.    </div>
  3669. </div><style type='text/css'> .scrollup {
  3670.  border-radius: 3px;
  3671.  width: 40px;
  3672.  height: 40px;
  3673.  opacity: 0.4;
  3674.  position: fixed;
  3675.  bottom: 30px;
  3676.  right: 30px;
  3677.  display: none;
  3678.  background: rgba(119, 119, 119, 0.8);
  3679.  z-index: 1000000;
  3680. }
  3681. .scrollup i {
  3682.  font-size: 36px;
  3683.  color: white;
  3684.  position: relative;
  3685.  top: 0px;
  3686.  left: 10px;
  3687. } </style>            <div class="myModal modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel"
  3688.                 data-backdrop="static" data-keyboard="false">
  3689.                <div class="modal-dialog" role="document">
  3690.                    <div class="modal-content">
  3691.                        <div class="modal-body nohpad nobpad">
  3692.                            <button type="button" style="z-index:10;position:absolute;right:15px;" class="close hmargin"
  3693.                                    data-dismiss="modal">&times;
  3694.                            </button>
  3695.                                <style>
  3696.        .member-login-container:not(.modal .module) {
  3697.            width: 555px;
  3698.            max-width: 100%;
  3699.            margin-left: auto;
  3700.            margin-right: auto;
  3701.            margin-bottom:0;
  3702.            background-color: rgb(250, 250, 250)!important;
  3703.            border-color: rgb(238, 238, 238)!important;
  3704.            color: rgb(41, 41, 41)!important;
  3705.        }
  3706.        .login-register-tabs, .login-register-content {
  3707.            width: 555px!important;
  3708.            max-width: 100%;
  3709.            margin-left: auto!important;
  3710.            margin-right: auto!important;
  3711.            background-color: rgb(238, 238, 238);
  3712.        }
  3713.        .login-register-content {
  3714.            background: transparent;
  3715.            padding: 0;
  3716.            border: none;
  3717.        }
  3718.        .login-register-content h2, .login-register-content h2+hr, .login-register-content .account-menu-title {
  3719.            display: none!important;
  3720.        }
  3721.        .express_login_create_account_prefix hr {
  3722.            margin: 15px 0 10px;
  3723.        }
  3724.        .modal-content #containerFBLogin, .modal-content #containerGoogleLogin {
  3725.            margin:15px 0;
  3726.        }
  3727.  
  3728.        /* CSS When Login Form and Express Registration Rendered in Sidebar */
  3729.        .col-md-3 .bd-chat-well-container,.col-md-4 .bd-chat-well-container {
  3730.            padding: 15px 10px;
  3731.        }
  3732.        .col-md-3 .bd-chat-center-text,.col-md-4 .bd-chat-center-text {
  3733.            margin: 0;
  3734.            font-size: 20px;
  3735.            padding: 0 15px;
  3736.        }
  3737.        .col-md-3 .member-login-page-container .login-register-tabs *, .col-md-4 .member-login-page-container .login-register-tabs * {
  3738.            font-size: 12px;
  3739.            line-height: 1.2em;
  3740.            vertical-align: bottom;
  3741.        }
  3742.        .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a {
  3743.            padding: 5px !important;
  3744.            height: 50px;
  3745.            vertical-align: middle;
  3746.            display: table-cell !important;
  3747.            width: 1%;
  3748.        }
  3749.        .col-md-3 .member-login-page-container .login-register-content, .col-md-4  .member-login-page-container .login-register-content {
  3750.            padding: 0;
  3751.        }
  3752.        .col-md-3 .member-login-container, .col-md-4 .member-login-container {
  3753.            padding: 15px !important;
  3754.            font-size: 13px;
  3755.        }
  3756.        .col-md-3 .member-login-page-container .input-lg, .col-md-4 .member-login-page-container .input-lg {
  3757.            height: 34px;
  3758.            padding: 6px 12px;
  3759.            font-size: 14px;
  3760.        }
  3761.        .col-md-3 .member-login-page-container .security_question_label, .col-md-4 .member-login-page-container .security_question_label {
  3762.            transform: scale(.85);
  3763.            margin: -1.15em -1.15em 0;
  3764.        }
  3765.        .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 {
  3766.            width: 100%;
  3767.            display: block;
  3768.            margin-top:5px;
  3769.        }
  3770.        .col-md-3 .login-cta-buttons li, .col-md-4 .login-cta-buttons li {
  3771.            padding:0
  3772.        }
  3773.        .col-md-3 .login-cta-buttons ul.nav, .col-md-4 .login-cta-buttons ul.nav {
  3774.            margin-top: -10px;
  3775.        }
  3776.        .col-md-3 #googleAction, .col-md-3 #facebookAction, .col-md-4 #googleAction, .col-md-4 #facebookAction {
  3777.            padding: 0;
  3778.            min-height: 0;
  3779.            font-size: 14px;
  3780.            margin: 0;
  3781.        }
  3782.        .col-md-3 #googleAction img, .col-md-3 #facebookAction img, .col-md-4 #googleAction img, .col-md-4 #facebookAction img {
  3783.            height: 36px !important;
  3784.            margin-right: 5px;
  3785.            position: relative!important;
  3786.            display: inline-block;
  3787.        }
  3788.        @media only screen and (max-width: 767px) {
  3789.            .col-md-3 .member-login-page-container .login-register-tabs a, .col-md-4 .member-login-page-container .login-register-tabs a {
  3790.                display: block !important;
  3791.                width: 100%;
  3792.                line-height: 40px;
  3793.            }
  3794.  
  3795.            #containerGoogleLogin {
  3796.                text-align: center;
  3797.                margin-top: 10px;
  3798.            }
  3799.            #containerGoogleLogin #gBtn {
  3800.                display: inline-block;
  3801.            }
  3802.        }
  3803.    </style>
  3804.    <div class="row member-login-page-container">
  3805.        <div class="fpad-lg novpad">
  3806.  
  3807.            
  3808.                                    <div class="module fpad-xl member-login-container">
  3809.                         <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|3" id="member_login_190-element-5"/><input type="hidden" name="answerqmatch" value="5" 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>
  3810.                    <style>
  3811.                        #togglePassword {
  3812.                            background: none;
  3813.                            border: none;
  3814.                            cursor: pointer;
  3815.                            font-weight: bold;
  3816.                            font-size: .85em;
  3817.                            position: absolute;
  3818.                            right: 5px;
  3819.                            top: 0;
  3820.                        }
  3821.                    </style><button type="button" tabindex="-1" id="togglePassword" onclick="showPassword(this);"> <i class="fa fa-lock" aria-hidden="true"></i></button>
  3822.                <script>
  3823.                    function showPassword(node){
  3824.                        const parent = node.closest('.form-group');
  3825.                        const passwordField = parent.querySelector(`input[type='password'], input[type='text']`);
  3826.                        const isPassword = passwordField.getAttribute('type') === 'password';
  3827.                        passwordField.setAttribute('type', isPassword ? 'text' : 'password');
  3828.                        const iconHTML = isPassword ? `<i class="fa fa-unlock" aria-hidden="true"></i>` : `<i class="fa fa-lock" aria-hidden="true"></i>`;
  3829.                        node.innerHTML = iconHTML;
  3830.                    }      
  3831.               </script><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() {
  3832. });}); </script>                         <div class="clearfix"></div>
  3833.                    </div>
  3834.                
  3835.            
  3836.        </div>
  3837.    </div>
  3838.                        </div>
  3839.                    </div>
  3840.                </div>
  3841.            </div>
  3842.            
  3843.  
  3844.  
  3845.    <link rel="stylesheet" type="text/css" href="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.css">
  3846. <script src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/limonte-sweetalert2/6.11.2/sweetalert2.min.js"></script>
  3847.  
  3848. <script>
  3849.    function clearContent(thisObj){
  3850.        var size;
  3851.        if(thisObj.hasClass('input-sm') || thisObj.parents('.input-group').hasClass('input-group-sm')){
  3852.            size = "small";
  3853.        } else if (thisObj.hasClass('input-lg') || thisObj.parents('.input-group').hasClass('large-autosuggest')){
  3854.            size = "large";
  3855.        } else {
  3856.            size = "medium";
  3857.        }
  3858.        if(!thisObj.parent().hasClass('input_wrapper')){
  3859.            if(thisObj.parent().hasClass('input-group-sm')){
  3860.                thisObj.wrap('<span class="input-group-sm input_wrapper"></span>');
  3861.            } else if (thisObj.parent().hasClass('input-group-lg')){
  3862.                thisObj.wrap('<span class="input-group-lg input_wrapper"></span>');
  3863.            } else {
  3864.                thisObj.wrap('<span class="input_wrapper"></span>');
  3865.            }
  3866.        }
  3867.        if(thisObj.val() != ""){
  3868.            if(thisObj.hasClass('googleSuggest')){
  3869.                thisObj.parent().find('.fill_location').remove();
  3870.            }
  3871.            if (!thisObj.parent().find('.clear_content').length){
  3872.                thisObj.parent().append(`<span class="clear_content ${size}"><i class="fa fa-times-circle" aria-hidden="true"></i></span>`);
  3873.                if (thisObj.hasClass("tt-input")) {
  3874.             thisObj.focus();
  3875.         }
  3876.  
  3877.            }
  3878.        }
  3879.                if (thisObj.hasClass('googleSuggest') && thisObj.val().length == 0) {
  3880.            thisObj.parent().append(`<span class="fill_location ${size}"><i class="fa fa-crosshairs" title="Use Current Location" aria-hidden="true"></i></span>`);
  3881.        }
  3882.        if (thisObj.val() == "" && thisObj.parent().find('.clear_content').length){
  3883.            thisObj.parent().find('.clear_content').remove();
  3884.        }
  3885.            }
  3886.  
  3887.    $(document).on('click', '.drp-buttons .applyBtn', function(){
  3888.        clearContent($(".dateRange input"));
  3889.    });
  3890.  
  3891.    $('.sm-autosuggest input, .googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').keyup(function(){
  3892.        clearContent($(this));
  3893.    });
  3894.  
  3895.    $(document).ready(function(){
  3896.        $('.sm-autosuggest input, input.googleSuggest, .large-autosuggest input, .md-autosuggest input, .normal-autosuggest input, .google-writen-location, .dateRange input').each(function(){
  3897.            clearContent($(this));
  3898.        })
  3899.    })
  3900.  
  3901.    $(document).on('click', '.clear_content', function(){
  3902.        $(this).parent().find('input').val('');
  3903.        //tt-input its a class for typeahead auto-suggest
  3904.        if ($(this).parent().find('input').hasClass("tt-input")) {
  3905.            $(this).parent().find('input').typeahead('val','');
  3906.        }
  3907.        clearContent($(this).parent().find('input'));
  3908.        $(this).remove();
  3909.    });
  3910.  
  3911. $(window).on('load', function () {
  3912. setTimeout(function() {
  3913. // add missing href attribute to multi-category options in search modules
  3914. $('.bootstrap-select.show-tick .dropdown-menu a').attr('href', '#');
  3915. }, 2000);
  3916.         });
  3917. </script>
  3918.  
  3919.  
  3920.  
  3921. <a href="#" class="scrollup" title="scrollup">
  3922.    <i class="fa fa-caret-up" aria-hidden="true"></i>
  3923. </a>
  3924. <script>
  3925.        $(document).ready(function(){
  3926.        $('.progress .progress-bar').progressbar({
  3927.            display_text: 'fill'
  3928.        });
  3929.        $(window).scroll(function(){
  3930.  
  3931.            if ($(this).scrollTop() > 600) {
  3932.                $('.scrollup').fadeIn();
  3933.  
  3934.            } else {
  3935.                $('.scrollup').fadeOut();
  3936.            }
  3937.        });
  3938.        $('.scrollup').click(function(){
  3939.            $("html, body").animate({
  3940.                scrollTop: 0
  3941.            }, 600);
  3942.            return false;
  3943.        });
  3944.        $('#cropButton').click(function(){
  3945.            var iframe = $("#cropiFrame");
  3946.            iframe.attr("src", iframe.data("src"));
  3947.        });
  3948.    });
  3949. </script>
  3950. <script>
  3951. $(document).ready(function() {
  3952. // 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
  3953. $('.table-view.list-inline').each(function() {
  3954. var $parentDiv = $(this);
  3955. // Check if the parent div contains exactly two children: div.clearfix and h2.tmargin.tpad.xs-center-block.clearfix
  3956. if ($parentDiv.children('div.clearfix').length === 1 && $parentDiv.children('h2.tmargin.tpad.xs-center-block.clearfix').length === 1 && $parentDiv.children().length === 2) {
  3957. $parentDiv.children('h2.tmargin.tpad.xs-center-block.clearfix').attr('style', 'display: none !important;');
  3958. }
  3959. });
  3960. });
  3961. </script><script>
  3962.    var localizedMainCountry = '';
  3963.    //the mapping array to know what address component types are link to which inputs on the contact details form
  3964.    var inputsArray = {
  3965.        "country_code" : {
  3966.            "country" : "short_name"
  3967.        },
  3968.        "state_code" : {
  3969.            "administrative_area_level_1" : "short_name",
  3970.            "administrative_area_level_2" : "short_name"
  3971.        },
  3972.        "state_sn":{
  3973.            "administrative_area_level_1" : "short_name",
  3974.            "administrative_area_level_2" : "short_name"
  3975.        },
  3976.        "country_sn":{
  3977.            "country" : "short_name"
  3978.        },
  3979.        "city" : {
  3980.            "locality" : "long_name",
  3981.            "colloquial_area" : "long_name",
  3982.            "sublocality" : "long_name",
  3983.            "sublocality_level_1" : "long_name",
  3984.            "sublocality_level_2" : "long_name",
  3985.            "sublocality_level_3" : "long_name",
  3986.            "sublocality_level_4" : "long_name",
  3987.            "sublocality_level_5" : "long_name",
  3988.            "neighborhood" : "long_name",
  3989.            "political" : "long_name",
  3990.            "ward" : "long_name",
  3991.            "postal_town" : "long_name"
  3992.        },
  3993.        "zip_code" : {
  3994.            "postal_code" : "short_name",
  3995.            "postal_prefix" : "short_name"
  3996.        },
  3997.        "address1" : {
  3998.            "first_grouping" : {
  3999.                "street_number" : "short_name",
  4000.                "route" : "short_name"
  4001.            },
  4002.            "route" : "short_name",
  4003.            "premise" : "long_name",
  4004.            "subpremise" : "long_name",
  4005.            "intersection" : "long_name",
  4006.            "park" : "long_name",
  4007.            "point_of_interest" : "long_name"
  4008.        },
  4009.        "country_ln" : {
  4010.            "country" : "long_name"
  4011.        },
  4012.        "state_ln" : {
  4013.            "administrative_area_level_1" : "long_name",
  4014.            "administrative_area_level_2" : "long_name"
  4015.        }
  4016.  
  4017.    };
  4018.    var saveLocationParams = {};
  4019.    //make an array with all the read only inputs based on their names
  4020.    var readOnlyInputs = [
  4021.        "country_code",
  4022.        "state_code",
  4023.        "state_ln",
  4024.        "country_ln"
  4025.    ]
  4026.    //function that triggers those read only inputs
  4027.    $.each(readOnlyInputs, function(indexes, names){
  4028.        $('input[name="'+names+'"]').prop("readonly", true);
  4029.    });
  4030.    var mapZoom = 16;
  4031.    var map,inputOptions, autocomplete,geo,uLat,uLng,markerInitLatLng;
  4032.    //important variables
  4033.    async function setJsMap() {
  4034.        let urlWapi = '/wapi/widget?widget_name=Bootstrap%20Theme%20-%20Google%20Maps%20-%20Get%20Center%20Coordinates&request_type=GET&header_type=json&action=getCenterMap';
  4035.        geo = new google.maps.Geocoder(),
  4036.            uLat = "",
  4037.            uLng = "";
  4038.  
  4039. //if uLat and uLong are empty load the map in the center of the world
  4040.        if (isNaN(uLat) || uLat == '' || uLng == '' || isNaN(uLng)) {
  4041.            uLat = 0;
  4042.            uLng = 0;
  4043.            mapZoom = 4;
  4044.            await getCenterMap(urlWapi)
  4045.                .then(response => response.json())
  4046.                .then(data => {
  4047.                    if(data.lat){
  4048.                        uLat = data.lat;
  4049.                    }
  4050.                    if(data.lon){
  4051.                        uLng = data.lon;
  4052.                    }
  4053.                });
  4054.        }
  4055.  
  4056.        markerInitLatLng = new google.maps.LatLng(parseFloat(uLat), parseFloat(uLng)),
  4057.            marker = new google.maps.Marker({
  4058.                draggable: true,
  4059.                position: markerInitLatLng,
  4060.                map: map,
  4061.                title: "Your current location"
  4062.            });
  4063.        initializeMap();
  4064.    }
  4065.    // fetch to obtain the centerOfMap
  4066.    function getCenterMap(urlWapi) {
  4067.        const response =  fetch(urlWapi, {
  4068.            method: 'GET',
  4069.            mode: 'same-origin',
  4070.            cache: 'default',
  4071.            credentials: 'same-origin',
  4072.            headers: {
  4073.                'Content-Type': 'application/json'
  4074.            },
  4075.        });
  4076.        return response // parses JSON response into native JavaScript objects
  4077.    }
  4078.        //function that initializes the Map
  4079.    function initializeMap() {
  4080.                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}]}];
  4081.            var styledMap = new google.maps.StyledMapType(styles,{name: "Styled Map"});
  4082.                map = new google.maps.Map(document.getElementById('map-canvas'), {
  4083.            zoom: mapZoom,
  4084.            center: {lat: parseFloat(uLat), lng: parseFloat(uLng)},
  4085.            controlSize: 26,
  4086.            mapTypeControl: false,
  4087.            streetViewControl: false,
  4088.            scrollwheel: false
  4089.        });
  4090.                map.mapTypes.set('map_style', styledMap);
  4091.        map.setMapTypeId('map_style');
  4092.                var input = /** @type {HTMLInputElement} */(
  4093.                document.getElementById('pac-input')),
  4094.            searchInput = $('#pac-input');
  4095.        //the init of the search locations input
  4096.        const mainCountry = '';
  4097.        const autocompleteOptions = {
  4098.            fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  4099.        }
  4100.        const language = "en";
  4101.  
  4102.        if (language) {
  4103.            autocompleteOptions.language = language;
  4104.        }
  4105.        if (mainCountry) {
  4106.            autocompleteOptions.componentRestrictions = {country: mainCountry};
  4107.            autocompleteOptions.region = mainCountry;
  4108.        }
  4109.        const autocomplete = new google.maps.places.Autocomplete(input, autocompleteOptions);
  4110.  
  4111.        //bind the change of the autocomplete to the make search function
  4112.        google.maps.event.addListener(autocomplete, 'place_changed', (e) => {
  4113.            if (searchInput.value != '') {
  4114.                const place = autocomplete.getPlace();
  4115.                makeSearch(place)
  4116.            } else {
  4117.                swal(`Error`, `You can not list an empty location!`, "error");
  4118.            }
  4119.        });
  4120.        //when hitting enter on the location search field prevent the submition of the form
  4121.        searchInput.keydown(function(e) {
  4122.            if (e.keyCode == 13) {
  4123.                e.preventDefault();
  4124.            }
  4125.        });
  4126.        //load marker on the map
  4127.        marker.setMap(map);
  4128.        //trigger the result when the marker has been dragged
  4129.        google.maps.event.addListener(marker, 'dragend', function (event) {
  4130.            const latlng = {
  4131.                lat: parseFloat(marker.position.lat()),
  4132.                lng: parseFloat(marker.position.lng()),
  4133.            };
  4134.            if ($(".fill-change-marker").is(':checked')) {
  4135.                fillDataByGeoCode(latlng, 'latLng');
  4136.            }
  4137.        });//END dragend event listener
  4138.        geo = new google.maps.Geocoder();
  4139.    }//END initialize function      
  4140.        function fillDataByGeoCode(info = '', type = 'address') {
  4141.        if(info){
  4142.            type = type.toLowerCase();
  4143.            let geocoderRequest = { address: info };
  4144.            if (type.toLowerCase() === 'latlng') {
  4145.                geocoderRequest = { location: info};
  4146.            }
  4147.            const language = "en";
  4148.            if (language) {
  4149.                geocoderRequest.language = language;
  4150.            }
  4151.            const mainCountry = '';
  4152.            if (mainCountry && type === 'address') {
  4153.                geocoderRequest.componentRestrictions = {country: mainCountry};
  4154.                geocoderRequest.region = mainCountry;
  4155.            }
  4156.            if (mainCountry && type === 'latlng') {
  4157.                geocoderRequest.region = mainCountry;
  4158.            }
  4159.  
  4160.            geo.geocode(geocoderRequest, function (results, status) {
  4161.  
  4162.                if (status == google.maps.GeocoderStatus.OK) {
  4163.  
  4164.                    if (results.length > 1) {
  4165.                        for (let i = 0; i < results.length; i++) {
  4166.                            if (results[i].types[0] === 'natural_feature' ||
  4167.                                results[i].types[0] === 'airport' ||
  4168.                                results[i].types[0] === 'point_of_interest' ||
  4169.                                results[i].types[0] === 'establishment' ||
  4170.                                results[i].types[0] === 'park') {
  4171.                                results.splice(i, 1);
  4172.                            }
  4173.                        }
  4174.                    }
  4175.                    map.panTo(results[0].geometry.location);
  4176.                    map.setZoom(16);
  4177.  
  4178.                    // Update mat and lon
  4179.  
  4180.                    $('input[name="lat"]').val(results[0].geometry.location.lat());
  4181.                    $('input[name="lon"]').val(results[0].geometry.location.lng());
  4182.                    marker.setPosition(results[0].geometry.location);
  4183.  
  4184.                    fillAddressFields(results[0]);
  4185.                } else {
  4186.                    alert(status);
  4187.                }
  4188.            });
  4189.        }
  4190.    }
  4191.  
  4192.    //this is the function that takes a google response and fills the input location fields basing itself in the mapping array
  4193.    function fillAddressFields(results) {
  4194.        saveLocationParams = {};
  4195.        let fullAddress={};
  4196.        var germanyFound = false;
  4197.  
  4198.        $.each(results.address_components,function(findex, fvalue){
  4199.            if(fvalue.types && fvalue.types.includes("country") && fvalue.short_name == "DE"){
  4200.                germanyFound = true;
  4201.            }
  4202.        });
  4203.  
  4204.        if(germanyFound === true){
  4205.            inputsArray.address1.first_grouping = {
  4206.                "route" : "short_name",
  4207.                "street_number" : "short_name"
  4208.            }
  4209.        }else{
  4210.            inputsArray.address1.first_grouping = {
  4211.                "street_number" : "short_name",
  4212.                "route" : "short_name"
  4213.            }
  4214.        }
  4215.        $( "textarea[name*='post_location']" ).val(results.formatted_address);
  4216.        if ($("textarea[name*='post_location']").attr('required')) {
  4217.            var form_name = $("textarea[name*='post_location']").closest("form").attr("id");
  4218.            $('#'+form_name).formValidation('revalidateField', "post_location");
  4219.        }
  4220. var formId = $('#pac-input').closest('form').attr("id");
  4221.  
  4222.        //loop through the mapping array to get all the values from the inputs that need to be filled with the new information
  4223.        $.each(inputsArray, function(findex, fvalue){
  4224.            //clean each field before setting new info
  4225.            $('input[name="'+findex+'"]').val("");
  4226.  
  4227.            //loop that checks the second level of the array
  4228.            $.each(fvalue, function(sindex, svalue){
  4229.                var flag = true;
  4230.  
  4231.                //check if svalue is an object
  4232.                if ($.type(svalue) == "object") {
  4233.                    var currentConcat = "",
  4234.                        //get length of the concat array
  4235.                        concatLength = Object.keys(svalue).length,
  4236.                        concatCounter = 0;
  4237.  
  4238.                    //loop on each element of the svalue elements for the address components concatenation
  4239.                    $.each(svalue, function(conkey, convalue){
  4240.  
  4241.                        //run a loop on the address components for each svalue elements
  4242.                        $.each(results.address_components, function(inskey, insvalue){
  4243.                            //if the element of the svalue match, concat the result to the array currentConcat
  4244.                            if (insvalue.types[0] == conkey) {
  4245.                                currentConcat += insvalue[convalue]+" ";
  4246.                                concatCounter++;
  4247.                            }
  4248.                        });//END each on address components
  4249.                    });//END each on svalue for the address components concatenation
  4250.                    //if all the elements matched then this new location with the concatenation of address components will be the one used
  4251.                    if (concatCounter == concatLength) {
  4252.                        $('input[name="'+findex+'"]').val(currentConcat);
  4253.         $('#'+formId).formValidation('revalidateField', findex);
  4254.                        saveLocationParams[findex] = currentConcat;
  4255.                        flag = false;
  4256.                        return false;
  4257.                    }
  4258.  
  4259.                    //if svalue is not an object the system will continue with the default computations
  4260.                } else {
  4261.                    //run a loop on the address components for the svalue being searched
  4262.                    $.each(results.address_components, function(key, value){
  4263.  
  4264.                        //if the svalue element matches it will be saved
  4265.                        if (value.types[0] == sindex) {
  4266.                            $('input[name="'+findex+'"]').val(value[svalue]);
  4267. $('#'+formId).formValidation('revalidateField', findex);
  4268.                            saveLocationParams[findex] = value[svalue];
  4269.                            flag = false;
  4270.                            return false;
  4271.                        }
  4272.                    });//END each on the address components
  4273.                }
  4274.  
  4275.  
  4276.                return flag;
  4277.            });//END each on the second level of the array
  4278.        });//END each on the first level of the array
  4279.  
  4280.        
  4281.    }//END fillAddressFields function
  4282.  
  4283.    //function that triggers when someone selects an option from the autocomplete
  4284.    function makeSearch(results) {
  4285.        if (results && results.address_components) {
  4286.            //the system will move the marker to the center of the new choosen location
  4287.            marker.setPosition(results.geometry.location);
  4288.                        map.panTo(results.geometry.location);
  4289.            map.setZoom(16);
  4290.                        const lat = typeof results.geometry.location.lat === 'function' ?
  4291.                results.geometry.location.lat() :
  4292.                results.geometry.location.lat;
  4293.            $('input[name="lat"]').val(lat);
  4294.            
  4295.            // Update Lng - handle both function and direct value cases
  4296.            const lng = typeof results.geometry.location.lng === 'function' ?
  4297.                results.geometry.location.lng() :
  4298.                results.geometry.location.lng;
  4299.            $('input[name="lon"]').val(lng);
  4300.            
  4301.            fillAddressFields(results);
  4302.        } else {
  4303.            fillDataByGeoCode(results.name,'address');
  4304.        }
  4305.    }//END make search function
  4306.  
  4307.    $('#pac-input').closest('form').submit(function(e){
  4308.        saveLocation(saveLocationParams);
  4309.    });
  4310.    var saveLocation = function(geoResponse) {
  4311.        $.ajax({
  4312.            url: '/api/data/html/get/data_widgets/widget_name',
  4313.            type: 'GET',
  4314.            dataType: 'json',
  4315.            data: {
  4316.                "name": 'website_save_location_system',
  4317.                "response" : geoResponse
  4318.            }
  4319.        })
  4320.            .done(function(data) {
  4321.             //   console.log(data);
  4322.            })
  4323.            .fail(function(data) {
  4324.              //  console.log(data);
  4325.            });
  4326.  
  4327.    }
  4328.  
  4329. </script>
  4330. <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.css">
  4331. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/codemirror.min.js"></script>
  4332. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.3.0/mode/xml/xml.min.js"></script>
  4333.  
  4334. <script type="text/javascript" src="/directory/cdn/assets/bootstrap/js/froala_editor.pkgd.min.js"></script>
  4335.  
  4336. <script>
  4337.    var max_text_editor_size = '10';
  4338.  
  4339.    if (!max_text_editor_size) {
  4340.        max_text_editor_size = 10;
  4341.    }
  4342.  
  4343.    var imageMaxSizeSetting = 1024 * 1024 * Number(max_text_editor_size);
  4344.  
  4345.    var imageMaxSizeSetting = 1024 * 1024 * max_text_editor_size;
  4346.    var widgetName = "Bootstrap Theme - Form - Froala Editor Actions";
  4347.    var chatFroala;
  4348.    var chatFileSizeBase   = '10';
  4349.    var chatFileSize       = chatFileSizeBase * 1000000;
  4350.    var dragCallback = function (e) {
  4351.        e.dataTransfer.setData('Text', this.id);
  4352.    };
  4353.  
  4354.    /****** PEXEL VARIABLES START ********/
  4355.    var pexelExecuted = false;
  4356.    var currentHideEvent;
  4357.    var currentPexelFroala;
  4358.    var pexelModalHtml = "";
  4359.    var nextPage            = "";
  4360.    var parameters          = {};
  4361.    var currentPage         = 1;
  4362.    var currentKeyword      = "";
  4363.    var currentSize         = "";
  4364.    var currentOrientation  = "";
  4365.    var modalParent         = {};
  4366.    var replaceImage        = null;
  4367.    var currentSelection    = {};
  4368.    /****** PEXEL VARIABLES START ********/
  4369.  
  4370.    /****** PEXEL DEFINITION START ********/
  4371.    if(pexelModalHtml == ""){
  4372.        pexelModalHtml = $("#pexel_template").html();
  4373.    }
  4374.  
  4375.    $.extend(FroalaEditor.POPUP_TEMPLATES, {
  4376.        "pexel.insert": "[_BUTTONS_][_CUSTOM_LAYER_]"
  4377.    });
  4378.  
  4379.    $.extend(FroalaEditor.DEFAULTS, {
  4380.        pexelButtons: ["pexelClose"]
  4381.    });
  4382.  
  4383.    // The custom popup is defined inside a plugin (new or existing).
  4384.    FroalaEditor.PLUGINS.pexelPlugin = function(editor) {
  4385.        // Create custom popup.
  4386.        function initPopup() {
  4387.            // Popup buttons.
  4388.            var popup_buttons = ``;
  4389.            // Create the list of buttons.
  4390.            if (editor.opts.pexelButtons.length > 0) {
  4391.                popup_buttons += `<div class="fr-buttons fr-tabs el-popup">`;
  4392.                popup_buttons += `<div class="alert alert_info size-chart"> <i class="fa fa-info-circle" style="margin: 0;"></i> <b>Image Sizes:</b> <span>Large: 1200 pixels</span> <span>Medium: 650 pixels</span> <span>Small: 350 pixels</span></div>`;
  4393.                popup_buttons += editor.button.buildList(editor.opts.pexelButtons);
  4394.                popup_buttons += `</div><div class="clearx"></div>`;
  4395.            }
  4396.  
  4397.            var template = {
  4398.                buttons: popup_buttons,
  4399.                custom_layer: `<div class="pexel-modal"></div>`
  4400.            };
  4401.  
  4402.            // Create popup.
  4403.            var $popup  = editor.popups.create("pexel.insert", template);
  4404.            let popup   = $popup[0];
  4405.            currentPexelFroala = editor;
  4406.            return $popup;
  4407.        }
  4408.        // Show the popup
  4409.        function showPopup() {
  4410.            // Get the popup object defined above.
  4411.            var $popup = editor.popups.get("pexel.insert");
  4412.            // To improve performance it is best to create the popup when it is first needed
  4413.            // and not when the editor is initialized.
  4414.            if (!$popup) $popup = initPopup();
  4415.  
  4416.  
  4417.            // This will trigger the refresh event assigned to the popup.
  4418.            // Get the buttons object in order to place the popup relative to it.
  4419.            var $btn    = editor.$tb.find(`.fr-command[data-cmd="insertImage"]`);
  4420.            editor.popups.show("pexel.insert", "25%", "50%", $btn.outerHeight());
  4421.        }
  4422.        // Hide the custom popup.
  4423.        function hidePopup() {
  4424.            $("body").css("overflow","");
  4425.            $(".sweet-overlay").css("z-index","1000");
  4426.            $(".show-sweet-alert").css("z-index","2000");
  4427.            $(".swal2-container").css(`z-index`,`2000`);
  4428.            pexelExecuted       = false;
  4429.            editor.popups.hide  = currentHideEvent;
  4430.            editor.popups.hide("pexel.insert");
  4431.        }
  4432.  
  4433.        function insertImage(imagePath){
  4434.            hidePopup();
  4435.            var currentImageDownloaded = `<img class="fr-fil fr-fic fr-dib fr-draggable" '.$imageWidthAttribute.' src="` + imagePath + `" data-url=" `+ imagePath +` " loading="lazy">`;
  4436.            if($(replaceImage).length > 0){
  4437.                $(replaceImage).attr("src",imagePath);
  4438.                replaceImage = null;
  4439.            }else{
  4440.                editor.selection.restore(currentSelection);
  4441.                editor.selection.get();
  4442.                editor.html.insert(currentImageDownloaded);
  4443.            }
  4444.        }
  4445.  
  4446.        // Methods visible outside the plugin.
  4447.        return {
  4448.            showPopup: showPopup,
  4449.            hidePopup: hidePopup,
  4450.            insertImage: insertImage
  4451.        }
  4452.    }
  4453.  
  4454.    // Define your custom image insert plugin
  4455.    FroalaEditor.DefineIcon("pexelInsert", { CLASS: "pexel-icon" }); // Define an icon for your custom button (you can use a different icon).
  4456.    FroalaEditor.RegisterCommand("pexelInsert", {
  4457.        title: "Insert Pexel Image",
  4458.        focus: false,
  4459.        undo: false,
  4460.        refreshAfterCallback: false,
  4461.        type: "button",
  4462.        callback: function () {
  4463.            if(pexelExecuted === false){
  4464.                this.pexelPlugin.showPopup();
  4465.            }
  4466.        },
  4467.    });
  4468.  
  4469.    FroalaEditor.DefineIcon("pexelClose", { NAME: "close", SVG_KEY: "close" });
  4470.    FroalaEditor.RegisterCommand("pexelClose", {
  4471.        title: "Close",
  4472.        undo: false,
  4473.        focus: false,
  4474.        callback: function() {
  4475.            this.pexelPlugin.hidePopup();
  4476.        }
  4477.    });
  4478.    /****** PEXEL DEFINITION END ********/
  4479.    $(document).ready(function () {
  4480.  
  4481.        // Adding custom linkOpen command to force target blank on all openLink clicks
  4482.        FroalaEditor.DefineIcon('linkOpen', {
  4483.            NAME: 'external-link',
  4484.            FA5NAME: 'external-link-alt',
  4485.            SVG_KEY: 'openLink'
  4486.        });
  4487.        FroalaEditor.RegisterCommand('linkOpen', {
  4488.            title: 'Open Link',
  4489.            undo: false,
  4490.            refresh: function refresh($btn) {
  4491.                var link = this.link.get();
  4492.  
  4493.                if (link) {
  4494.                    $btn.removeClass('fr-hidden');
  4495.                } else {
  4496.                    $btn.addClass('fr-hidden');
  4497.                }
  4498.            },
  4499.            callback: function callback() {
  4500.                var link = this.link.get();
  4501.  
  4502.                if (link) {
  4503.                    this.o_win.open(link.href, '_blank', 'noopener');
  4504.  
  4505.                    this.popups.hide('link.edit');
  4506.                }
  4507.            },
  4508.            plugin: 'link'
  4509.        });
  4510.  
  4511.        // Code for Additional Styles Dropdown
  4512.        FroalaEditor.DefineIcon('adv_styles', {NAME: 'magic', SVG_KEY: 'fullscreen'});
  4513.        FroalaEditor.RegisterCommand('adv_styles', {
  4514.            title: 'Advanced Styles',
  4515.            type: 'dropdown',
  4516.            focus: false,
  4517.            undo: false,
  4518.            refreshAfterCallback: true,
  4519.            options: {
  4520.                'btn-block': 'Toggle Full Width',
  4521.                'btn-sm': 'Small Button',
  4522.                'btn-rg': 'Normal Button',
  4523.                'btn-lg': 'Large Button',
  4524.  
  4525.            },
  4526.            callback: function (cmd, val) {
  4527.                this.link.applyStyle(val, true);
  4528.                var n = this.$;
  4529.                var thisButtonGet = this.link.get();
  4530.                var thisButton = n(thisButtonGet);
  4531.                if(val == "btn-sm"){
  4532.                    thisButton.removeClass('btn-lg');
  4533.                    thisButton.removeClass('btn-rg');
  4534.                }
  4535.                if(val == "btn-lg"){
  4536.                    thisButton.removeClass('btn-sm');
  4537.                    thisButton.removeClass('btn-rg');
  4538.                }
  4539.                if(val== "btn-rg"){
  4540.                    thisButton.removeClass('btn-sm');
  4541.                    thisButton.removeClass('btn-lg');
  4542.                }
  4543.            },
  4544.            // Callback on refresh.
  4545.            refresh: function ($btn) {
  4546.            },
  4547.            // Callback on dropdown show.
  4548.            refreshOnShow: function ($btn, $dropdown) {
  4549.                var n = this.$;
  4550.                var thisButtonGet = this.link.get();
  4551.                var thisButton = n(thisButtonGet);
  4552.                $dropdown.find('.fr-command').each(function(){
  4553.                    var thisDropdownValue = n(this).data("param1"),
  4554.                        testHasClass = thisButton.hasClass(thisDropdownValue);
  4555.                    n(this).toggleClass("fr-active", testHasClass).attr("aria-selected", testHasClass);
  4556.                })
  4557.            }
  4558.        });
  4559.        FroalaEditor.DefineIcon('contentBlocksPopup', {NAME: 'info', SVG_KEY: 'fullscreen'});
  4560.                new FroalaEditor('.froala', {
  4561.            events: {
  4562.                'table.inserted': function (table) {
  4563.                    $('table').addClass('froala-table');
  4564.                }
  4565.            },
  4566.                                    fontSize: ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44'],
  4567.            htmlAllowedAttrs: ['.*'],
  4568.            htmlAllowedTags: ['a', 'b', 'big', 'blockquote', 'br', 'caption', 'code', 'col', 'colgroup', 'div', 'em', 'embed', 'figure', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'iframe', 'img', 'li', 'ol', 'p', 'picture', 'pre', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'thread', 'tr', 'tt', 'u', 'ul', 'video', 's', 'a'],
  4569.            htmlRemoveTags: ['script', 'style', 'base'],
  4570.            linkAutoPrefix: '',
  4571.            tableInsertMaxSize: 6,
  4572.            imageDefaultWidth:0,
  4573.            linkInsertButtons: ['linkBack'],
  4574.            language: 'en',
  4575.            placeholderText: `Type Something`,
  4576.            toolbarInline: false,
  4577.            heightMin: '350',
  4578.            height: '350',
  4579.            attribution: false,
  4580.            linkAttributes: {
  4581.                title: 'Title'
  4582.            },
  4583.            linkStyles: {
  4584.                'btn btn-primary': 'Button Primary',
  4585.                'btn btn-info': 'Button Info',
  4586.                'btn btn-success': 'Button Success',
  4587.                'btn btn-warning': 'Button Warning',
  4588.                'btn btn-danger': 'Button Danger',
  4589.                'btn btn-default': 'Button Default'
  4590.            },
  4591.            imageMove: false,
  4592.            videoMove: false,
  4593.            linkMultipleStyles: false,
  4594.            quickInsertEnabled: false,
  4595.            iframeStyleFiles: ['/directory/cdn/assets/bootstrap/css/froala_style.min.css','/directory/cdn/assets/bootstrap/css/theme-styles.min.css?v=1.0.01'],
  4596.            imageEditButtons: ['imageAlign', 'imageRemove', 'imageCaption', '|', 'imageLink', 'linkOpen','linkEdit', 'linkRemove', '-', 'imageAlt', 'imageSize', 'imageStyle'],
  4597.            imageStyles: {
  4598.                'square': 'Square',
  4599.                'img-rounded': 'Rounded',
  4600.                'img-circle': 'Circle'
  4601.            },
  4602.            imageMultipleStyles: false,
  4603.            codeMirrorOptions: {
  4604.                indentWithTabs: true,
  4605.                lineNumbers: true,
  4606.                lineWrapping: true,
  4607.                mode: 'text/html',
  4608.                tabMode: 'indent',
  4609.                tabSize: 4
  4610.            },
  4611.                        htmlAllowedEmptyTags: ['textarea', 'a', 'iframe', 'object', 'video', 'style', 'script', '.fa', '.fr-emoticon', '.fr-inner', 'path', 'line', 'hr','i'],
  4612.                        linkEditButtons: ['linkOpen','linkStyle', 'linkEdit', 'linkRemove'],
  4613.            videoInsertButtons: ['videoBack', '|', 'videoByURL', 'videoEmbed'],
  4614.            videoEditButtons: ['videoReplace', 'videoRemove', '|', 'videoDisplay', 'videoAlign', 'videoSize'],
  4615.            key: '7MD3aD3G3B3B4B3C2xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3H2G3A15A11A12C5C1==',
  4616.            buttons: ['fullscreen', 'undo', 'redo', 'bold', 'italic', 'underline', 'fontSize', 'paragraphFormat', 'clearFormatting', 'lineHeight', 'textColor', 'backgroundColor', '|',  'align', 'formatOL', 'formatUL', 'insertTable', 'outdent', 'indent', 'insertHR', '|' , 'insertLink',  'html'],
  4617.            tableEditButtons: ['tableColumns','tableRows', 'tableCells', 'tableCellBackground','tableCellVerticalAlign', 'tableCellHorizontalAlign','tableRemove']
  4618.        });
  4619.        //default froala class backwards compatibility limited features
  4620.        new FroalaEditor('.froala-editor', {
  4621.            events: {
  4622.                'table.inserted': function (table) {
  4623.                    $('table').addClass('froala-table');
  4624.                }
  4625.            },
  4626.                                    fontSize: ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44'],
  4627.            linkAutoPrefix: '',
  4628.            tableInsertMaxSize: 6,
  4629.            linkInsertButtons: ['linkBack'],
  4630.            htmlAllowedAttrs: ['.*'],
  4631.            htmlAllowedTags: ['a', 'b', 'big', 'blockquote', 'br', 'caption', 'code', 'col', 'colgroup', 'div', 'em', 'embed', 'figure', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'iframe', 'img', 'li', 'ol', 'p', 'picture', 'pre', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'thread', 'tr', 'tt', 'u', 'ul', 'video', 's', 'a'],
  4632.            htmlRemoveTags: ['script', 'style', 'base'],
  4633.            language: 'en',
  4634.            placeholderText: `Type Something`,
  4635.            height: '350',
  4636.            heightMax: '355',
  4637.            iframeStyleFiles: ['/directory/cdn/assets/bootstrap/css/froala_style.min.css','/directory/cdn/assets/bootstrap/css/theme-styles.min.css?v=1.0.01'],
  4638.            imageEditButtons: ['imageAlign', 'imageRemove', 'imageCaption', '|', 'imageLink', 'linkOpen','linkEdit', 'linkRemove', '-', 'imageAlt', 'imageSize', 'imageStyle'],
  4639.            imageStyles: {
  4640.                'square': 'Square',
  4641.                'img-rounded': 'Rounded',
  4642.                'img-circle': 'Circle'
  4643.            },
  4644.                        htmlAllowedEmptyTags: ['textarea', 'a', 'iframe', 'object', 'video', 'style', 'script', '.fa', '.fr-emoticon', '.fr-inner', 'path', 'line', 'hr','i'],
  4645.                        imageMultipleStyles: false,
  4646.            key: '7MD3aD3G3B3B4B3C2xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3H2G3A15A11A12C5C1==',
  4647.            lineBreakerTags: ['p', 'hr', 'ul', 'ol'],
  4648.            attribution: false,
  4649.            toolbarSticky: false,
  4650.            linkAttributes: {
  4651.                title: 'Title'
  4652.            },
  4653.  
  4654.            paragraphFormat: {
  4655.                N: 'Normal',
  4656.                H1: 'Heading 1',
  4657.                H2: 'Heading 2',
  4658.                H3: 'Heading 3',
  4659.                H4: 'Heading 4'
  4660.            },
  4661.            imagePaste: false,
  4662.            linkStyles: {
  4663.                'btn btn-primary': 'Button Primary',
  4664.                'btn btn-info': 'Button Info',
  4665.                'btn btn-success': 'Button Success',
  4666.                'btn btn-warning': 'Button Warning',
  4667.                'btn btn-danger': 'Button Danger',
  4668.                'btn btn-default': 'Button Default'
  4669.            },
  4670.            linkEditButtons: ['linkOpen','linkStyle', 'linkEdit', 'linkRemove'],
  4671.            imageMove: false,
  4672.            videoMove: false,
  4673.            linkMultipleStyles: false,
  4674.            quickInsertEnabled: false,
  4675.            toolbarButtons: ['undo', 'redo', 'bold', 'italic', 'underline', 'fontSize', 'paragraphFormat', 'lineHeight', 'textColor', 'backgroundColor', 'clearFormatting', '|',  'align', 'formatOL', 'formatUL', 'insertHR', '|' , 'insertLink' ],
  4676.            toolbarButtonsMD: ['undo', 'redo', 'bold', 'italic', 'underline', 'fontSize', 'paragraphFormat', 'lineHeight', 'textColor',  'backgroundColor', 'clearFormatting', '|',  'align', 'formatOL', 'formatUL',  'insertHR', '|' , 'insertLink' ],
  4677.            toolbarButtonsSM: ['undo', 'redo', 'bold', 'italic', 'underline', 'fontSize', 'paragraphFormat', 'lineHeight', 'textColor',  'backgroundColor', 'clearFormatting', '|',  'align', 'formatOL', 'formatUL', 'insertHR', '|' , 'insertLink' ],
  4678.            toolbarButtonsXS: ['undo', 'redo', 'bold', 'italic', 'underline', 'fontSize', 'paragraphFormat', 'lineHeight', 'textColor', 'backgroundColor', 'clearFormatting', '|',  'align', 'formatOL', 'formatUL',  'insertHR', '|' , , 'insertLink' ],
  4679.            tableEditButtons: ['tableColumns','tableRows', 'tableCells', 'tableCellBackground','tableCellVerticalAlign', 'tableCellHorizontalAlign','tableRemove'],
  4680.            imageUpload: false,
  4681.            events: {
  4682.                'drop': function (dropEvent) {
  4683.                    return false;
  4684.                },
  4685.                'contentChanged': function () {
  4686.                    const item = $('.froala-editor');
  4687.                    if ($(item).attr("required")) {
  4688.                        var form_name = $(item).closest("form").attr("id");
  4689.                        var froala_field_name=$(item).attr("name");
  4690.                        $('#'+form_name).formValidation('revalidateField', froala_field_name);
  4691.                    }
  4692.                }
  4693.            }
  4694.        });
  4695.  
  4696.        /// If the froala editor is required, make it validate
  4697.        $(window).on('load', function() {
  4698.            $('textarea[class*="froala"]').each(function(index,item) {
  4699.                if ($(item).attr("required")) {
  4700.                    $(item).attr("style","display:block;width:0px;height:0px;border:0px;margin-top:-2px;visibility:hidden");
  4701.                }
  4702.            });
  4703.        })
  4704.        //froala editor code for the admin blog features, gives the functionality of upload images, browse the /images folder and add videos
  4705.  
  4706.        window['froala-editor-admin'] = new FroalaEditor('.froala-editor-admin', {
  4707.                                    fontSize: ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44'],
  4708.            fontFamily: { "Open Sans" : "Open Sans",'fontsSeparator2': '----',"Arial" : "Arial","Courier" : "Courier","Georgia" : "Georgia","Times New Roman" : "Times New Roman","Trebuchet MS" : "Trebuchet MS","Verdana" : "Verdana"},
  4709.            fontFamilySelection: true,
  4710.            linkAutoPrefix: '',
  4711.            imageDefaultWidth:0,
  4712.            tableInsertMaxSize: 6,
  4713.            linkInsertButtons: ['linkBack'],
  4714.            htmlAllowedAttrs: ['.*'],
  4715.            htmlAllowedTags: ['a', 'b', 'big', 'blockquote', 'br', 'caption', 'code', 'col', 'colgroup', 'div', 'em', 'embed', 'figure', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'iframe', 'img', 'li', 'ol', 'p', 'picture', 'pre', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'thread', 'tr', 'tt', 'u', 'ul', 'video', 's', 'a'],
  4716.            htmlRemoveTags: ['script', 'style', 'base'],
  4717.            language: 'en',
  4718.            placeholderText: `Type Something`,
  4719.            heightMin: '350',
  4720.            height: '350',
  4721.            attribution: false,
  4722.            iframeStyleFiles: ['/directory/cdn/assets/bootstrap/css/froala_style.min.css','/directory/cdn/assets/bootstrap/css/theme-styles.min.css?v=1.0.01'],
  4723.            imageEditButtons: ['imageReplace', 'imageAlign', 'imageRemove', 'imageCaption', '|', 'imageLink', 'linkOpen','linkEdit', 'linkRemove', '-', 'imageAlt', 'imageSize', 'imageStyle'],
  4724.            imageStyles: {
  4725.                'square': 'Square',
  4726.                'img-rounded': 'Rounded',
  4727.                'img-circle': 'Circle'
  4728.            },
  4729.                        htmlAllowedEmptyTags: ['textarea', 'a', 'iframe', 'object', 'video', 'style', 'script', '.fa', '.fr-emoticon', '.fr-inner', 'path', 'line', 'hr','i'],
  4730.                        imageMultipleStyles: false,
  4731.            key: '7MD3aD3G3B3B4B3C2xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3H2G3A15A11A12C5C1==',
  4732.            imageUploadParam: 'blog_image',
  4733.            imageUploadURL: '/wapi/widget?widget_name=' + widgetName + '&header_type=json&request_type=GET',
  4734.            imageUploadMethod: 'POST',
  4735.            imageUploadParams: {
  4736.                upload_scope: 'admin'
  4737.            },
  4738.            linkAttributes: {
  4739.                title: 'Title'
  4740.            },
  4741.            linkStyles: {
  4742.                'btn btn-primary': 'Button Primary',
  4743.                'btn btn-info': 'Button Info',
  4744.                'btn btn-success': 'Button Success',
  4745.                'btn btn-warning': 'Button Warning',
  4746.                'btn btn-danger': 'Button Danger',
  4747.                'btn btn-default': 'Button Default'
  4748.            },
  4749.            paragraphFormat: {
  4750.                N: 'Normal',
  4751.                H1: 'Heading 1',
  4752.                H2: 'Heading 2',
  4753.                H3: 'Heading 3',
  4754.                H4: 'Heading 4'
  4755.            },
  4756.            imageMove: false,
  4757.            toolbarSticky: false,
  4758.            videoMove: false,
  4759.            linkMultipleStyles: false,
  4760.            quickInsertEnabled: false,
  4761.            imageManagerPageSize: 20,
  4762.            imageAllowedTypes: ['jpeg', 'jpg', 'png','JPEG','JPG','PNG','webp'],
  4763.            linkEditButtons: ['linkOpen','linkStyle', 'linkEdit', 'adv_styles', 'linkRemove'],
  4764.            videoInsertButtons: ['videoBack', '|', 'videoByURL', 'videoEmbed'],
  4765.            videoEditButtons: ['videoReplace', 'videoRemove', '|', 'videoDisplay', 'videoAlign', 'videoSize'],
  4766.            toolbarButtons:{
  4767.                moreText: {
  4768.                    buttons: [ 'fontFamily', 'bold', 'italic', 'underline','strikeThrough', 'fontSize', 'textColor', 'backgroundColor', 'clearFormatting'],
  4769.                    align: 'left',
  4770.                    buttonsVisible: 9
  4771.                },
  4772.                moreParagraph: {
  4773.                    buttons: ['paragraphFormat', 'lineHeight', 'align', 'outdent', 'indent', 'formatOL', 'formatUL', 'insertTable', 'insertHR'],
  4774.                    align: 'left',
  4775.                    buttonsVisible: 9
  4776.                },
  4777.                moreRich: {
  4778.                    buttons: ['insertLink', 'insertImage', 'insertVideo', 'html'  , 'Pre-Made Elements'],
  4779.                    align: 'left',
  4780.                    buttonsVisible: 5
  4781.                },
  4782.                moreMisc:{
  4783.                    buttons: ['undo', 'redo'],
  4784.                    align: 'right'
  4785.                }
  4786.            },
  4787.            tableEditButtons: ['tableColumns','tableRows', 'tableCells', 'tableCellBackground','insertImage','tableCellVerticalAlign', 'tableCellHorizontalAlign','tableRemove'],
  4788.            imageManagerLoadURL: '/wapi/widget?widget_name=' + widgetName + '&header_type=json&request_type=GET&module_action=browse_images',
  4789.            imageManagerLoadMethod: "GET",
  4790.            imageManagerDeleteURL: false,
  4791.            imageMaxSize: imageMaxSizeSetting,
  4792.            events: {
  4793.                'table.inserted': function (table) {
  4794.                    $('table').addClass('froala-table');
  4795.                },
  4796.                'drop': function (dropEvent) {
  4797.  
  4798.                    return false;
  4799.                },
  4800.                'contentChanged': function () {
  4801.                    const item = $('.froala-editor-admin');
  4802.                    if ($(item).attr("required")) {
  4803.                        var form_name = $(item).closest("form").attr("id");
  4804.                        var froala_field_name=$(item).attr("name");
  4805.                        $('#'+form_name).formValidation('revalidateField', froala_field_name);
  4806.                    }
  4807.                }
  4808.            }
  4809.        }, function  () {
  4810.            let elementName ='froala-editor-admin'
  4811.            window[elementName].events.on('drop', function (dropEvent) {
  4812. // Focus at the current position.
  4813. window[elementName].markers.insertAtPoint(dropEvent.originalEvent);
  4814. var $marker = window[elementName].$el.find('.fr-marker');
  4815. $marker.replaceWith(FroalaEditor.MARKERS);
  4816. window[elementName].selection.restore();
  4817. // Save into undo stack the current position.
  4818. if (!window[elementName].undo.canDo()) window[elementName].undo.saveStep();
  4819. // Insert HTML.
  4820. if(dropEvent.originalEvent.dataTransfer.getData('Text')){
  4821. let randomNumber = Math.floor(Math.random() * 10000);
  4822. switch(dropEvent.originalEvent.dataTransfer.getData('Text')) {
  4823. case 'text-image-right':
  4824. insertHtml = `
  4825. <p><br></p>
  4826. <table class="froala-table" style="width: 100%;">
  4827. <tbody>
  4828. <tr>
  4829. <td style="width: 50%;">
  4830. <h2><strong>Section Title</strong></h2>
  4831. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui. Nulla at neque sapien. Nullam quis vestibulum dui.<br><br>
  4832. </p>
  4833. <p><a class="btn btn-lg btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4834. </td>
  4835. <td style="width: 50%;">
  4836. <img src="/images/image-placeholder.png" class="fr-dib" width="615" height="344">
  4837. </td>
  4838. </tr>
  4839. </tbody>
  4840. </table>
  4841. <p><br></p>
  4842. `;
  4843. window[elementName].html.insert(insertHtml);
  4844. break;
  4845. case 'text-image-left':
  4846. insertHtml = `
  4847. <p><br></p>
  4848. <table class="froala-table" style="width: 100%;">
  4849. <tbody>
  4850. <tr>
  4851. <td style="width: 50%;">
  4852. <img src="/images/image-placeholder.png" class="fr-dib" width="615" height="344">
  4853. </td>
  4854. <td style="width: 50%;">
  4855. <h2><strong>Section Title</strong></h2>
  4856. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui. Nulla at neque sapien. Nullam quis vestibulum dui.<br><br>
  4857. </p>
  4858. <p><a class="btn btn-lg btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4859. </td>
  4860. </tr>
  4861. </tbody>
  4862. </table>
  4863. <p><br></p>
  4864. `;
  4865. window[elementName].html.insert(insertHtml);
  4866. break;
  4867. case 'features-3-columns':
  4868. insertHtml = `
  4869. <p><br></p>
  4870. <table class="froala-table" style="width: 100%;">
  4871. <tbody>
  4872. <tr>
  4873. <td style="width: 33.3333%; text-align: center; vertical-align: top;">
  4874. <p><img src="/images/image-placeholder.png" class="fr-dib" width="400" height="223"></p>
  4875. <h3><strong>Section Title</strong></h3>
  4876. <p>Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue ultricies.</p>
  4877. <p><a class="btn btn-lg btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4878. </td>
  4879. <td style="width: 33.3333%; text-align: center; vertical-align: top;">
  4880. <p><img src="/images/image-placeholder.png" class="fr-dib" width="400" height="223"></p>
  4881. <h3><strong>Section Title</strong></h3>
  4882. <p>Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue ultricies.</p>
  4883. <p><a class="btn btn-lg btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4884. </td>
  4885. <td style="width: 33.3333%; text-align: center; vertical-align: top;">
  4886. <p><img src="/images/image-placeholder.png" class="fr-dib" width="400" height="223"></p>
  4887. <h3><strong>Section Title</strong></h3>
  4888. <p>Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue ultricies.</p>
  4889. <p><a class="btn btn-lg btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4890. </td>
  4891. </tr>
  4892. </tbody>
  4893. </table>
  4894. <p><br></p>
  4895. `;
  4896. window[elementName].html.insert(insertHtml);
  4897. break;
  4898. case 'features-4-columns':
  4899. insertHtml = `
  4900. <p><br></p>
  4901. <table class="froala-table" style="width: 100%;">
  4902. <tbody>
  4903. <tr>
  4904. <td style="width: 25%; text-align: center; vertical-align: top;">
  4905. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  4906. <h4><strong>Section Title</strong></h4>
  4907. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  4908. <p><a class="btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4909. </td>
  4910. <td style="width: 25%; text-align: center; vertical-align: top;">
  4911. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  4912. <h4><strong>Section Title</strong></h4>
  4913. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  4914. <p><a class="btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4915. </td>
  4916. <td style="width: 25%; text-align: center; vertical-align: top;">
  4917. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  4918. <h4><strong>Section Title</strong></h4>
  4919. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  4920. <p><a class="btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4921. </td>
  4922. <td style="width: 25%; text-align: center; vertical-align: top;">
  4923. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  4924. <h4><strong>Section Title</strong></h4>
  4925. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  4926. <p><a class="btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a></p>
  4927. </td>
  4928. </tr>
  4929. </tbody>
  4930. </table>
  4931. <p><br></p>
  4932. `;
  4933. window[elementName].html.insert(insertHtml);
  4934. break;
  4935. case 'pricing-plan-insert':
  4936. insertHtml = `
  4937. <p><br></p>
  4938. <table class="froala-table" style="width: 100%;">
  4939. <tbody>
  4940. <tr>
  4941. <td class="fpad-lg" style="width: 30%; vertical-align: top; text-align: center; background: rgb(235, 239, 243) none repeat scroll 0% 0%;">
  4942. <h2><span style="color: rgb(51, 51, 51);font-size: 36px;"><strong>Plan Name<br></strong></span></h2>
  4943. <p><span style="color: rgb(51, 51, 51);font-size: 24px;">$10/month</span></p><a class="btn btn-lg btn-primary" href="/checkout/1" rel="noopener noreferrer" target="_blank"><strong>SELECT PLAN</strong></a></td>
  4944. <td style="width: 70%; vertical-align: middle;">
  4945. <p style="line-height: 1.5;"><span style="font-size: 18px;"><span style="line-height: 1.5;">This is text about why you should join this membership plan.</span>
  4946. <br>There are many benefits and it&#39;s easy to become a member!</span></p>
  4947. <table class="froala-table" style="width: 100%;">
  4948. <tbody>
  4949. <tr>
  4950. <td class="nopad" style="width: 50%; vertical-align: top;">
  4951. <ul class="nomargin">
  4952. <li style="line-height: 2;"><strong><span style="font-size: 18px;">Feature or Benefit</span></strong></li>
  4953. <li style="line-height: 2;"><strong><span style="font-size: 18px;">Feature or Benefit</span></strong></li>
  4954. <li style="line-height: 2;"><strong><span style="font-size: 18px;">Feature or Benefit</span></strong></li>
  4955. </ul>
  4956. </td>
  4957. <td class="nopad" style="width: 50%; vertical-align: top;">
  4958. <ul class="nomargin">
  4959. <li style="line-height: 2;"><strong><span style="font-size: 18px;">Feature or Benefit</span></strong></li>
  4960. <li style="line-height: 2;"><strong><span style="font-size: 18px;">Feature or Benefit</span></strong></li>
  4961. <li style="line-height: 2;"><strong><span style="font-size: 18px;">Feature or Benefit</span></strong></li>
  4962. </ul>
  4963. </td>
  4964. </tr>
  4965. </tbody>
  4966. </table>
  4967. </td>
  4968. </tr>
  4969. </tbody>
  4970. </table>
  4971. <p><br></p>
  4972. `;
  4973. window[elementName].html.insert(insertHtml);
  4974. break;
  4975. case 'faq':
  4976. insertHtml = `
  4977. <p><br></p>
  4978. <h2 style="text-align: center;"><strong>Frequently Asked Questions</strong></h2>
  4979. <p><br></p>
  4980. <table class="froala-table" style="width: 100%;">
  4981. <tbody>
  4982. <tr>
  4983. <td style="width: 50%; vertical-align: top;">
  4984. <h3><strong>Frequently Asked Question</strong></h3>
  4985. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  4986. <p><br></p>
  4987. </td>
  4988. <td style="width: 50%; vertical-align: top;">
  4989. <h3><strong>Frequently Asked Question</strong></h3>
  4990. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  4991. <p><br></p>
  4992. </td>
  4993. </tr>
  4994. <tr>
  4995. <td style="width: 50%; vertical-align: top;">
  4996. <h3><strong>Frequently Asked Question</strong></h3>
  4997. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  4998. <p><br></p>
  4999. </td>
  5000. <td style="width: 50%; vertical-align: top;">
  5001. <h3><strong>Frequently Asked Question</strong></h3>
  5002. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  5003. <p><br></p>
  5004. </td>
  5005. </tr>
  5006. <tr>
  5007. <td style="width: 50%; vertical-align: top;">
  5008. <h3><strong>Frequently Asked Question</strong></h3>
  5009. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  5010. <p><br></p>
  5011. </td>
  5012. <td style="width: 50%; vertical-align: top;">
  5013. <h3><strong>Frequently Asked Question</strong></h3>
  5014. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  5015. <p><br></p>
  5016. </td>
  5017. </tr>
  5018. <tr>
  5019. <td style="width: 50%; vertical-align: top;">
  5020. <h3><strong>Frequently Asked Question</strong></h3>
  5021. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  5022. </td>
  5023. <td style="width: 50%; vertical-align: top;">
  5024. <h3><strong>Frequently Asked Question</strong></h3>
  5025. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Lorem ipsum dolor sit amet, consectetur adipiscing.</p>
  5026. </td>
  5027. </tr>
  5028. </tbody>
  5029. </table>
  5030. <p><br></p>
  5031. `;
  5032. window[elementName].html.insert(insertHtml);
  5033. break;
  5034. case 'image-insert':
  5035. insertHtml = `
  5036. <img src="/images/image-placeholder.png" class="fr-dib insert`+randomNumber+`" style="width:320px;">
  5037. `;
  5038. window[elementName].html.insert(insertHtml);
  5039. $('.insert'+randomNumber).click();
  5040. break;
  5041. case 'video-insert':
  5042. insertHtml = `
  5043. <p><span class="fr-video fr-deletable fr-fvc fr-dvi fr-draggable insert`+randomNumber+`" contenteditable="false" draggable="true"><iframe src="https://www.youtube.com/embed/8tPnX7OPo0Q?&wmode=opaque" allowfullscreen="" class="fr-draggable" width="320" height="180" frameborder="0"></iframe></span></p>
  5044. `;
  5045. window[elementName].html.insert(insertHtml);
  5046. $('.insert'+randomNumber).click();
  5047. break;
  5048. case 'button-link-insert':
  5049. insertHtml = `
  5050. <a class="btn btn-lg btn-primary insert`+randomNumber+`" href="#" rel="noopener noreferrer">Button Link</a>
  5051. `;
  5052. window[elementName].link.insert('#', 'Button Link', {'target': '_blank', 'class': 'btn btn-primary btn-lg'});
  5053. break;
  5054. case 'section-title-insert':
  5055. insertHtml = `
  5056. <h2 style="text-align: center;"><strong>Section Title</strong></h2>
  5057. `;
  5058. window[elementName].html.insert(insertHtml);
  5059. break;
  5060. case 'text-block-insert':
  5061. insertHtml = `
  5062. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui. Nulla at neque sapien. Nullam quis vestibulum dui.<br><br>
  5063. </p>
  5064. `;
  5065. window[elementName].html.insert(insertHtml);
  5066. break;
  5067. case 'form-insert':
  5068. insertHtml = `
  5069. <p><br></p>
  5070. <table class="froala-table" style="width: 100%;">
  5071. <tbody>
  5072. <tr>
  5073. <td class="fpad-lg" style="width: 100%;background-color: rgb(239, 239, 239);">
  5074. <h2><strong>Contact Form</strong></h2>
  5075. <p>&lbrack;form=contact_form&rbrack;</p>
  5076. </td>
  5077. </tr>
  5078. </tbody>
  5079. </table>
  5080. <p><br></p>
  5081. `;
  5082. window[elementName].html.insert(insertHtml);
  5083. break;
  5084. case 'divider-insert':
  5085. insertHtml = `
  5086. <p style="height:0;margin:0;"><br></p>
  5087. <hr>
  5088. <p style="height:0;margin:0;"><br></p>
  5089. `;
  5090. window[elementName].html.insert(insertHtml);
  5091. break;
  5092. case 'line-break-insert':
  5093. insertHtml = `
  5094. <p style="margin:15px 0;width:100%;display:block;"><br></p>
  5095. `;
  5096. window[elementName].html.insert(insertHtml);
  5097. break;
  5098. case 'cta-bonus-block-1':
  5099. insertHtml = `
  5100. <p><br></p>
  5101. <table class="froala-table" style="width: 100%;">
  5102. <tbody>
  5103. <tr>
  5104. <td style="width: 70%; vertical-align:top;">
  5105. <h2><strong><span style="font-size: 44px;">Write a Powerful Title to Share a Message with Your Audience</span></strong></h2>
  5106. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui.</p>
  5107. <p><br></p>
  5108. <table class="froala-table" style="width: 100%;">
  5109. <tbody>
  5110. <tr>
  5111. <td class="nopad" style="width: 48%;">
  5112. <p>
  5113. <a class="btn-lg btn-block btn btn-primary" href="#" rel="noopener noreferrer" target="_blank">
  5114. Button Link 1
  5115. </a>
  5116. </p>
  5117. </td>
  5118. <td class="hidden-xs" style="width: 4%;">
  5119. <br>
  5120. </td>
  5121. <td class="nopad" style="width: 48%;">
  5122. <p>
  5123. <a class="btn-lg btn-block btn btn-default" href="#" rel="noopener noreferrer" target="_blank">
  5124. Button Link 2
  5125. </a>
  5126. </p>
  5127. </td>
  5128. </tr>
  5129. </tbody>
  5130. </table>
  5131. <p><br></p>
  5132. </td>
  5133. <td style="width: 30%; vertical-align: top;"><img src="/images/graphic-placeholder-3.png" class="fr-dib" width="356" height="252"></td>
  5134. </tr>
  5135. </tbody>
  5136. </table>
  5137. <p><br></p>
  5138. `;
  5139. window[elementName].html.insert(insertHtml);
  5140. break;
  5141. case 'cta-bonus-block-2':
  5142. insertHtml = `
  5143. <p><br></p>
  5144. <table class="froala-table" style="width: 100%;">
  5145. <tbody>
  5146. <tr>
  5147. <td style="width: 30%; vertical-align: top;"><img src="/images/graphic-placeholder-3.png" class="fr-dib" width="356" height="252"></td>
  5148. <td style="width: 70%; vertical-align:top;">
  5149. <h2><strong><span style="font-size: 44px;">Write a Powerful Title to Share a Message with Your Audience</span></strong></h2>
  5150. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui.</p>
  5151. <p><br></p>
  5152. <table class="froala-table" style="width: 100%;">
  5153. <tbody>
  5154. <tr>
  5155. <td class="nopad" style="width: 48%;">
  5156. <p>
  5157. <a class="btn-lg btn-block btn btn-primary" href="#" rel="noopener noreferrer" target="_blank">
  5158. Button Link 1
  5159. </a>
  5160. </p>
  5161. </td>
  5162. <td class="hidden-xs" style="width: 4%;">
  5163. <br>
  5164. </td>
  5165. <td class="nopad" style="width: 48%;">
  5166. <p>
  5167. <a class="btn-lg btn-block btn btn-default" href="#" rel="noopener noreferrer" target="_blank">
  5168. Button Link 2
  5169. </a>
  5170. </p>
  5171. </td>
  5172. </tr>
  5173. </tbody>
  5174. </table>
  5175. <p><br></p>
  5176. </td>
  5177. </tr>
  5178. </tbody>
  5179. </table>
  5180. <p><br></p>
  5181. `;
  5182. window[elementName].html.insert(insertHtml);
  5183. break;
  5184. case 'cta-bonus-block-3':
  5185. insertHtml = `
  5186. <p><br></p>
  5187. <table class="froala-table" style="width: 100%;">
  5188. <tbody>
  5189. <tr>
  5190. <td class="hidden-xs" style="width: 20%;">
  5191. <br>
  5192. </td>
  5193. <td style="width: 60%; text-align: center;">
  5194. <p><br></p>
  5195. <h2><span style="font-size: 36px;text-align: center;"><strong>Write a Powerful Title to Share a Message with Your Audience</strong></span></h2>
  5196. <p style="text-align: center;"><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui. Nulla at neque sapien. Nullam quis vestibulum dui.<br></p>
  5197. <p><br></p>
  5198. <p style="text-align: center;">
  5199. <a class="btn-lg btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a>
  5200. </p>
  5201. <p><br></p>
  5202. </td>
  5203. <td class="hidden-xs" style="width: 20%;">
  5204. <br>
  5205. </td>
  5206. </tr>
  5207. </tbody>
  5208. </table>
  5209. <p><br></p>
  5210. `;
  5211. window[elementName].html.insert(insertHtml);
  5212. break;
  5213. case 'cta-bonus-block-4':
  5214. insertHtml = `
  5215. <p><br></p>
  5216. <table class="froala-table" style="width: 100%;">
  5217. <tbody>
  5218. <tr>
  5219. <td class="hidden-xs" style="width: 20%;">
  5220. <br>
  5221. </td>
  5222. <td style="width: 60%; text-align: center;">
  5223. <p><br></p>
  5224. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui. Nulla at neque sapien. Nullam quis vestibulum dui.<br></p>
  5225. <p><br></p>
  5226. <p style="text-align: center;">
  5227. <a class="btn-lg btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a>
  5228. </p>
  5229. <p><br></p>
  5230. </td>
  5231. <td class="hidden-xs" style="width: 20%;">
  5232. <br>
  5233. </td>
  5234. </tr>
  5235. </tbody>
  5236. </table>
  5237. <p><br></p>
  5238. `;
  5239. window[elementName].html.insert(insertHtml);
  5240. break;
  5241. case 'cta-bonus-block-5':
  5242. insertHtml = `
  5243. <p><br></p>
  5244. <table class="froala-table" style="width: 100%;">
  5245. <tbody>
  5246. <tr>
  5247. <td class="hidden-xs" style="width: 20%;">
  5248. <br>
  5249. </td>
  5250. <td style="width: 60%; text-align:center;">
  5251. <p><br></p>
  5252. <h2><span style="font-size: 36px;text-align: center;"><strong>Write a Powerful Title to Share a Message with Your Audience</strong></span></h2>
  5253. <p><br></p>
  5254. <p style="text-align: center;">
  5255. <a class="btn-lg btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a>
  5256. </p>
  5257. <p><br></p>
  5258. </td>
  5259. <td class="hidden-xs" style="width: 20%;">
  5260. <br>
  5261. </td>
  5262. </tr>
  5263. </tbody>
  5264. </table>
  5265. <p><br></p>
  5266. `;
  5267. window[elementName].html.insert(insertHtml);
  5268. break;
  5269. case 'cta-bonus-block-6':
  5270. insertHtml = `
  5271. <p><br></p>
  5272. <table class="froala-table" style="width: 100%;">
  5273. <tbody>
  5274. <tr>
  5275. <td style="width:70%;">
  5276. <h2 style="text-align: right;"><span style="font-size: 36px;"><strong>Make a Splash with a Catchy Title</strong></span></h2>
  5277. </td>
  5278. <td style="width: 30%;">
  5279. <p><br></p>
  5280. <a class="btn-lg btn-block btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a>
  5281. <p><br></p>
  5282. </td>
  5283. </tr>
  5284. </tbody>
  5285. </table>
  5286. <p><br></p>
  5287. `;
  5288. window[elementName].html.insert(insertHtml);
  5289. break;
  5290. case 'cta-bonus-block-7':
  5291. insertHtml = `
  5292. <p><br></p>
  5293. <table class="froala-table" style="width: 100%;">
  5294. <tbody>
  5295. <tr>
  5296. <td style="width: 30%;">
  5297. <p><br></p>
  5298. <a class="btn-lg btn-block btn btn-primary" href="#" rel="noopener noreferrer">Button Link</a>
  5299. <p><br></p>
  5300. </td>
  5301. <td style="width:70%;">
  5302. <h2 style="text-align: left;"><span style="font-size: 36px;"><strong>Make a Splash with a Catchy Title</strong></span></h2>
  5303. </td>
  5304. </tr>
  5305. </tbody>
  5306. </table>
  5307. <p><br></p>
  5308. `;
  5309. window[elementName].html.insert(insertHtml);
  5310. break;
  5311. case 'cta-bonus-block-8':
  5312. insertHtml = `
  5313. <p><br></p>
  5314. <h2 style="text-align: center;"><strong><span style="font-size: 36px;">The Choice Is Yours<br>Select An Option Below<br></span></strong></h2>
  5315. <p><br></p>
  5316. <table class="froala-table" style="width: 100%;">
  5317. <tbody>
  5318. <tr>
  5319. <td class="hidden-xs" style="width: 10%;">
  5320. <br>
  5321. </td>
  5322. <td style="width: 35%; text-align: center; vertical-align: top;">
  5323. <p style="text-align: center;"><img src="/images/icon-placeholder.png" class="fr-dib" style="width: 60px; height: 60px;" width="60" height="60"></p>
  5324. <h2 style="text-align: center;"><strong>Section Title</strong></h2>
  5325. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue ultricies.<br><br></p>
  5326. <p style="text-align: center;"><a class="btn btn-primary btn-lg" href="#" rel="noopener noreferrer">Button Link</a></p>
  5327. <p><br></p>
  5328. </td>
  5329. <td style="width: 10%;">
  5330. <br>
  5331. </td>
  5332. <td style="width: 35%; text-align: center; vertical-align: top;">
  5333. <p style="text-align: center;"><img src="/images/icon-placeholder.png" class="fr-dib" style="width: 60px; height: 60px;" width="60" height="60"></p>
  5334. <h2 style="text-align: center;"><strong>Section Title</strong></h2>
  5335. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue ultricies.<br><br></p>
  5336. <p style="text-align: center;"><a class="btn btn-primary btn-lg" href="#" rel="noopener noreferrer">Button Link</a></p>
  5337. <p><br></p>
  5338. </td>
  5339. <td class="hidden-xs" style="width: 10%;">
  5340. <br>
  5341. </td>
  5342. </tr>
  5343. </tbody>
  5344. </table>
  5345. <p><br></p>
  5346. `;
  5347. window[elementName].html.insert(insertHtml);
  5348. break;
  5349. case 'feature-bonus-block-1':
  5350. insertHtml = `
  5351. <p><br></p>
  5352. <h2 style="text-align: center;"><strong><span style="font-size: 36px;">List Your Awesome Features</span></strong></h2>
  5353. <p><br></p>
  5354. <table class="froala-table" style="width: 100%;">
  5355. <tbody>
  5356. <tr>
  5357. <td style="width: 25%;vertical-align: top;">
  5358. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5359. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5360. </td>
  5361. <td style="width: 25%;vertical-align: top;">
  5362. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5363. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5364. </td>
  5365. <td style="width: 25%;vertical-align: top;">
  5366. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5367. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5368. </td>
  5369. <td style="width: 25%;vertical-align: top;">
  5370. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5371. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5372. </td>
  5373. </tr>
  5374. <tr>
  5375. <td style="width: 25%;vertical-align: top;">
  5376. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5377. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5378. </td>
  5379. <td style="width: 25%;vertical-align: top;">
  5380. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5381. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5382. </td>
  5383. <td style="width: 25%;vertical-align: top;">
  5384. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5385. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5386. </td>
  5387. <td style="width: 25%;vertical-align: top;">
  5388. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5389. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5390. </td>
  5391. </tr>
  5392. </tbody>
  5393. </table>
  5394. <p><br></p>
  5395. `;
  5396. window[elementName].html.insert(insertHtml);
  5397. break;
  5398. case 'feature-bonus-block-2':
  5399. insertHtml = `
  5400. <p><br></p>
  5401. <h2 style="text-align: center;"><strong><span style="font-size: 36px;">List Your Awesome Features</span></strong></h2>
  5402. <p><br></p>
  5403. <table class="froala-table" style="width: 100%;">
  5404. <tbody>
  5405. <tr>
  5406. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5407. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5408. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5409. </td>
  5410. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5411. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5412. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5413. </td>
  5414. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5415. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5416. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5417. </td>
  5418. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5419. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5420. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5421. </td>
  5422. </tr>
  5423. <tr>
  5424. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5425. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5426. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5427. </td>
  5428. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5429. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5430. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5431. </td>
  5432. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5433. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5434. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5435. </td>
  5436. <td style="width: 25%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5437. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5438. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5439. </td>
  5440. </tr>
  5441. </tbody>
  5442. </table>
  5443. <p><br></p>
  5444. `;
  5445. window[elementName].html.insert(insertHtml);
  5446. break;
  5447. case 'feature-bonus-block-3':
  5448. insertHtml = `
  5449. <p><br></p>
  5450. <h2 style="text-align: center;"><strong><span style="font-size: 36px;">List Your Awesome Features</span></strong></h2>
  5451. <p><br></p>
  5452. <table class="froala-table" style="width: 100%;">
  5453. <tbody>
  5454. <tr>
  5455. <td style="width: 33.3333%;vertical-align: top;">
  5456. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5457. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5458. </td>
  5459. <td style="width: 33.3333%;vertical-align: top;">
  5460. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5461. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5462. </td>
  5463. <td style="width: 33.3333%;vertical-align: top;">
  5464. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5465. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5466. </td>
  5467. </tr>
  5468. <tr>
  5469. <td style="width: 33.3333%;vertical-align: top;">
  5470. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5471. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5472. </td>
  5473. <td style="width: 33.3333%;vertical-align: top;">
  5474. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5475. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5476. </td>
  5477. <td style="width: 33.3333%;vertical-align: top;">
  5478. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5479. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5480. </td>
  5481. </tr>
  5482. </tbody>
  5483. </table>
  5484. <p><br></p>
  5485. `;
  5486. window[elementName].html.insert(insertHtml);
  5487. break;
  5488. case 'feature-bonus-block-4':
  5489. insertHtml = `
  5490. <p><br></p>
  5491. <h2 style="text-align: center;"><strong><span style="font-size: 36px;">List Your Awesome Features</span></strong></h2>
  5492. <p><br></p>
  5493. <table class="froala-table" style="width: 100%;">
  5494. <tbody>
  5495. <tr>
  5496. <td style="width: 33.3333%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5497. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5498. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5499. </td>
  5500. <td style="width: 33.3333%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5501. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5502. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5503. </td>
  5504. <td style="width: 33.3333%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5505. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5506. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5507. </td>
  5508. </tr>
  5509. <tr>
  5510. <td style="width: 33.3333%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5511. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5512. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5513. </td>
  5514. <td style="width: 33.3333%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5515. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5516. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5517. </td>
  5518. <td style="width: 33.3333%; text-align: center; vertical-align: top;"><img src="/images/icon-holder.png" style="width: 40px; height: 40px;" class="fr-dib" width="40" height="40">
  5519. <h4 style="text-align: center;"><strong>Section Title</strong></h4>
  5520. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5521. </td>
  5522. </tr>
  5523. </tbody>
  5524. </table>
  5525. <p><br></p>
  5526. `;
  5527. window[elementName].html.insert(insertHtml);
  5528. break;
  5529. case 'feature-bonus-block-5':
  5530. insertHtml = `
  5531. <p><br></p>
  5532. <table class="froala-table" style="width: 100%;">
  5533. <tbody>
  5534. <tr>
  5535. <td style="width: 75%;">
  5536. <h2><span style="font-size: 36px;"><strong>Tell Them About Your Awesome Features</strong></span></h2>
  5537. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien.</p>
  5538. <p><br></p>
  5539. </td>
  5540. <td style="width: 25%;"><br></td>
  5541. </tr>
  5542. </tbody>
  5543. </table>
  5544. <table class="froala-table" style="width: 100%;">
  5545. <tbody>
  5546. <tr>
  5547. <td style="width: 25%;vertical-align: top;">
  5548. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  5549. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5550. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5551. </td>
  5552. <td style="width: 25%;vertical-align: top;">
  5553. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  5554. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5555. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5556. </td>
  5557. <td style="width: 25%;vertical-align: top;">
  5558. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  5559. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5560. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5561. </td>
  5562. <td style="width: 25%;vertical-align: top;">
  5563. <p><img src="/images/image-placeholder.png" class="fr-dib" width="292" height="163"></p>
  5564. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5565. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  5566. </td>
  5567. </tr>
  5568. </tbody>
  5569. </table>
  5570. <p><br></p>
  5571. `;
  5572. window[elementName].html.insert(insertHtml);
  5573. break;
  5574. case 'feature-bonus-block-6':
  5575. insertHtml = `
  5576. <p><br></p>
  5577. <table class="froala-table" style="width: 100%;">
  5578. <tbody>
  5579. <tr>
  5580. <td style="width: 66%;">
  5581. <h2><span style="font-size: 36px;"><strong>Tell Them About Your Awesome Features</strong></span></h2>
  5582. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien.</p>
  5583. <p><br></p>
  5584. </td>
  5585. <td style="width: 33%;"><br></td>
  5586. </tr>
  5587. </tbody>
  5588. </table>
  5589. <table class="froala-table" style="width: 100%;">
  5590. <tbody>
  5591. <tr>
  5592. <td style="width: 33.3333%;vertical-align: top;">
  5593. <p><img src="/images/image-placeholder.png" class="fr-dib" width="400" height="224"></p>
  5594. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5595. <p style="text-align: left;">Lorem ipsum sit amet, consectetur  ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit, consectetur adipiscing ultricies. Etiam odio justo, ultricies.</p>
  5596. </td>
  5597. <td style="width: 33.3333%;vertical-align: top;">
  5598. <p><img src="/images/image-placeholder.png" class="fr-dib" width="400" height="224"></p>
  5599. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5600. <p style="text-align: left;">Lorem ipsum sit amet, consectetur  ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit, consectetur adipiscing ultricies. Etiam odio justo, ultricies.</p>
  5601. </td>
  5602. <td style="width: 33.3333%;vertical-align: top;">
  5603. <p><img src="/images/image-placeholder.png" class="fr-dib" width="400" height="224"></p>
  5604. <h4 style="text-align: left;"><strong>Section Title</strong></h4>
  5605. <p style="text-align: left;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  5606. </td>
  5607. </tr>
  5608. </tbody>
  5609. </table>
  5610. <p><br></p>
  5611. `;
  5612. window[elementName].html.insert(insertHtml);
  5613. break;
  5614. case 'feature-bonus-block-7':
  5615. insertHtml = `
  5616. <p><br></p>
  5617. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Write a Powerful Title to Share a<br>Message with Your Audience</strong></span></h2>
  5618. <p><br></p>
  5619. <table class="froala-table" style="width: 100%;">
  5620. <tbody>
  5621. <tr>
  5622. <td style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/vertical-placeholder.png" class="fr-dib" width="352" height="617"></td>
  5623. <td style="width: 50%; vertical-align: middle;">
  5624. <h3><strong>Section Title</strong></h3>
  5625. <p style="text-align: left;"><span style="font-size: 20px;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</span></p>
  5626. <p><br><br></p>
  5627. <p><img src="https://ww2.managemydirectory.com/images/icon-holder.png" style="width: 60px; height: 60px;" class="fr-dib hidden-xs fr-fil" width="60" height="60"><span style="font-size: 20px;"><strong>Section Title</strong><br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</span></p>
  5628. <p><br><br></p>
  5629. <p><img src="https://ww2.managemydirectory.com/images/icon-holder.png" style="width: 60px; height: 60px;" class="fr-dib hidden-xs fr-fil" width="60" height="60"><span style="font-size: 20px;"><strong>Section Title</strong><br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</span></p>
  5630. </td>
  5631. </tr>
  5632. </tbody>
  5633. </table>
  5634. <p><br></p>
  5635. `;
  5636. window[elementName].html.insert(insertHtml);
  5637. break;
  5638. case 'feature-bonus-block-8':
  5639. insertHtml = `
  5640. <p><br></p>
  5641. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Write a Powerful Title to Share a<br>Message with Your Audience</strong></span></h2>
  5642. <p><br></p>
  5643. <table class="froala-table" style="width: 100%;">
  5644. <tbody>
  5645. <tr>
  5646. <td style="width: 50%; vertical-align: middle;">
  5647. <h3><strong>Section Title</strong></h3>
  5648. <p style="text-align: left;"><span style="font-size: 20px;">Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</span></p>
  5649. <p><br><br></p>
  5650. <p><img src="https://ww2.managemydirectory.com/images/icon-holder.png" style="width: 60px; height: 60px;" class="fr-dib hidden-xs fr-fil" width="60" height="60"><span style="font-size: 20px;"><strong>Section Title</strong><br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</span></p>
  5651. <p><br><br></p>
  5652. <p><img src="https://ww2.managemydirectory.com/images/icon-holder.png" style="width: 60px; height: 60px;" class="fr-dib hidden-xs fr-fil" width="60" height="60"><span style="font-size: 20px;"><strong>Section Title</strong><br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</span></p>
  5653. </td>
  5654. <td style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/vertical-placeholder.png" class="fr-dib" width="352" height="617"></td>
  5655. </tr>
  5656. </tbody>
  5657. </table>
  5658. <p><br></p>
  5659. `;
  5660. window[elementName].html.insert(insertHtml);
  5661. break;
  5662. case 'teams-bonus-block-1':
  5663. insertHtml = `
  5664. <p><br></p>
  5665. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Meet Our Team</strong></span></h2>
  5666. <p><br></p>
  5667. <table class="froala-table" style="width: 100%;">
  5668. <tbody>
  5669. <tr>
  5670. <td style="width: 33.3333%; text-align: center; vertical-align: top;">
  5671. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 200px;" width="200" height="198"></p>
  5672. <h3><strong>Peter Parker<br></strong></h3>
  5673. <p>Lorem ipsum dolor sit amet, consectetur</p>
  5674. </td>
  5675. <td style="width: 33.3333%; text-align: center; vertical-align: top;">
  5676. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 200px;" width="200" height="198"></p>
  5677. <h3><strong>Wonder Woman<br></strong></h3>
  5678. <p>Lorem ipsum dolor sit amet, consectetur</p>
  5679. </td>
  5680. <td style="width: 33.3333%; text-align: center; vertical-align: top;">
  5681. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 200px;" width="200" height="198"></p>
  5682. <h3><strong>Mighty Mouse<br></strong></h3>
  5683. <p>Lorem ipsum dolor sit amet, consectetur</p>
  5684. </td>
  5685. </tr>
  5686. </tbody>
  5687. </table>
  5688. <p><br></p>
  5689. `;
  5690. window[elementName].html.insert(insertHtml);
  5691. break;
  5692. case 'teams-bonus-block-2':
  5693. insertHtml = `
  5694. <p><br></p>
  5695. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Meet Our Team</strong></span></h2>
  5696. <p><br></p>
  5697. <table class="froala-table" style="width: 100%;">
  5698. <tbody>
  5699. <tr>
  5700. <td style="width: 25%; text-align: center; vertical-align: top;">
  5701. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5702. <h3><strong>Peter Pan<br></strong></h3>
  5703. <p>Lorem ipsum dolor sit amet</p>
  5704. </td>
  5705. <td style="width: 25%; text-align: center; vertical-align: top;">
  5706. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5707. <h3><strong>Wonder Woman<br></strong></h3>
  5708. <p>Lorem ipsum dolor sit amet</p>
  5709. </td>
  5710. <td style="width: 25%; text-align: center; vertical-align: top;">
  5711. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5712. <h3><strong>Mighty Mouse<br></strong></h3>
  5713. <p>Lorem ipsum dolor sit amet</p>
  5714. </td>
  5715. <td style="width: 25%; text-align: center; vertical-align: top;">
  5716. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5717. <h3><strong>Mary Tyler<br></strong></h3>
  5718. <p>Lorem ipsum dolor sit amet</p>
  5719. </td>
  5720. </tr>
  5721. </tbody>
  5722. </table>
  5723. <p><br></p>
  5724. `;
  5725. window[elementName].html.insert(insertHtml);
  5726. break;
  5727. case 'teams-bonus-block-3':
  5728. insertHtml = `
  5729. <p><br></p>
  5730. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Meet Our Team</strong></span></h2>
  5731. <p><br></p>
  5732. <table class="froala-table" style="width: 100%;">
  5733. <tbody>
  5734. <tr>
  5735. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5736. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5737. </td>
  5738. <td style="width: 40%; text-align: left; vertical-align: top;">
  5739. <h3><strong>Peter Parker<br></strong></h3>
  5740. <p style="text-align: left;">
  5741. <span style="font-size: 20px;">Position</span>
  5742. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5743. <p><br></p>
  5744. </td>
  5745. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5746. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5747. </td>
  5748. <td style="width: 40%; text-align: left; vertical-align: top;">
  5749. <h3><strong>Peter Parker<br></strong></h3>
  5750. <p style="text-align: left;">
  5751. <span style="font-size: 20px;">Position</span>
  5752. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5753. <p><br></p>
  5754. </td>
  5755. </tr>
  5756. <tr>
  5757. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5758. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5759. </td>
  5760. <td style="width: 40%; text-align: left; vertical-align: top;">
  5761. <h3><strong>Peter Parker<br></strong></h3>
  5762. <p style="text-align: left;">
  5763. <span style="font-size: 20px;">Position</span>
  5764. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5765. <p><br></p>
  5766. </td>
  5767. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5768. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5769. </td>
  5770. <td style="width: 40%; text-align: left; vertical-align: top;">
  5771. <h3><strong>Peter Parker<br></strong></h3>
  5772. <p style="text-align: left;">
  5773. <span style="font-size: 20px;">Position</span>
  5774. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5775. <p><br></p>
  5776. </td>
  5777. </tr>
  5778. </tbody>
  5779. </table>
  5780. <p><br></p>
  5781. `;
  5782. window[elementName].html.insert(insertHtml);
  5783. break;
  5784. case 'teams-bonus-block-4':
  5785. insertHtml = `
  5786. <p><br></p>
  5787. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Meet Our Team</strong></span></h2>
  5788. <p><br></p>
  5789. <table class="froala-table" style="width: 100%;">
  5790. <tbody>
  5791. <tr>
  5792. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5793. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5794. </td>
  5795. <td style="width: 40%; text-align: left; vertical-align: top;">
  5796. <h3><strong>Peter Parker<br></strong></h3>
  5797. <p style="text-align: left;">
  5798. <span style="font-size: 20px;">Position</span>
  5799. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5800. <p><br></p>
  5801. </td>
  5802. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5803. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5804. </td>
  5805. <td style="width: 40%; text-align: left; vertical-align: top;">
  5806. <h3><strong>Peter Parker<br></strong></h3>
  5807. <p style="text-align: left;">
  5808. <span style="font-size: 20px;">Position</span>
  5809. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5810. <p><br></p>
  5811. </td>
  5812. </tr>
  5813. <tr>
  5814. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5815. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5816. </td>
  5817. <td style="width: 40%; text-align: left; vertical-align: top;">
  5818. <h3><strong>Peter Parker<br></strong></h3>
  5819. <p style="text-align: left;">
  5820. <span style="font-size: 20px;">Position</span>
  5821. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5822. <p><br></p>
  5823. </td>
  5824. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5825. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5826. </td>
  5827. <td style="width: 40%; text-align: left; vertical-align: top;">
  5828. <h3><strong>Peter Parker<br></strong></h3>
  5829. <p style="text-align: left;">
  5830. <span style="font-size: 20px;">Position</span>
  5831. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5832. <p><br></p>
  5833. </td>
  5834. </tr>
  5835. <tr>
  5836. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5837. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;" width="128" height="126"></p>
  5838. </td>
  5839. <td style="width: 40%; text-align: left; vertical-align: top;">
  5840. <h3><strong>Peter Parker<br></strong></h3>
  5841. <p style="text-align: left;">
  5842. <span style="font-size: 20px;">Position</span>
  5843. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5844. <p><br></p>
  5845. </td>
  5846. <td class="nopad" style="width: 10%; text-align: center; vertical-align: top;">
  5847. <p><img src="/images/profile-placeholder.png" class="fr-dib square" style="width: 200px;"  width="128" height="126"></p>
  5848. </td>
  5849. <td style="width: 40%; text-align: left; vertical-align: top;">
  5850. <h3><strong>Peter Parker<br></strong></h3>
  5851. <p style="text-align: left;">
  5852. <span style="font-size: 20px;">Position</span>
  5853. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet.</p>
  5854. <p><br></p>
  5855. </td>
  5856. </tr>
  5857. </tbody>
  5858. </table>
  5859. <p><br></p>
  5860. `;
  5861. window[elementName].html.insert(insertHtml);
  5862. break;
  5863. case 'teams-bonus-block-5':
  5864. insertHtml = `
  5865. <p><br></p>
  5866. <h2 style="text-align: center;"><span style="font-size: 44px;text-align: center;"><strong>Meet Our Team</strong></span></h2>
  5867. <p><br></p>
  5868. <table class="froala-table" style="width: 100%;">
  5869. <tbody>
  5870. <tr>
  5871. <td style="width: 25%; text-align: center; vertical-align: top;">
  5872. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5873. <h3><strong>Peter Pan<br></strong></h3>
  5874. <p>Lorem ipsum dolor sit amet</p>
  5875. </td>
  5876. <td style="width: 25%; text-align: center; vertical-align: top;">
  5877. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5878. <h3><strong>Wonder Woman<br></strong></h3>
  5879. <p>Lorem ipsum dolor sit amet</p>
  5880. </td>
  5881. <td style="width: 25%; text-align: center; vertical-align: top;">
  5882. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5883. <h3><strong>Mighty Mouse<br></strong></h3>
  5884. <p>Lorem ipsum dolor sit amet</p>
  5885. </td>
  5886. <td style="width: 25%; text-align: center; vertical-align: top;">
  5887. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5888. <h3><strong>Mary Tyler<br></strong></h3>
  5889. <p>Lorem ipsum dolor sit amet</p>
  5890. </td>
  5891. </tr>
  5892. <tr>
  5893. <td style="width: 25%; text-align: center; vertical-align: top;">
  5894. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5895. <h3><strong>Peter Pan<br></strong></h3>
  5896. <p>Lorem ipsum dolor sit amet</p>
  5897. </td>
  5898. <td style="width: 25%; text-align: center; vertical-align: top;">
  5899. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5900. <h3><strong>Wonder Woman<br></strong></h3>
  5901. <p>Lorem ipsum dolor sit amet</p>
  5902. </td>
  5903. <td style="width: 25%; text-align: center; vertical-align: top;">
  5904. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5905. <h3><strong>Mighty Mouse<br></strong></h3>
  5906. <p>Lorem ipsum dolor sit amet</p>
  5907. </td>
  5908. <td style="width: 25%; text-align: center; vertical-align: top;">
  5909. <p><img src="/images/profile-placeholder.png" class="fr-dib img-circle" style="width: 150px;" width="150" height="148"></p>
  5910. <h3><strong>Mary Tyler<br></strong></h3>
  5911. <p>Lorem ipsum dolor sit amet</p>
  5912. </td>
  5913. </tr>
  5914. </tbody>
  5915. </table>
  5916. <p><br></p>
  5917. `;
  5918. window[elementName].html.insert(insertHtml);
  5919. break;
  5920. case 'content-bonus-block-1':
  5921. insertHtml = `
  5922. <p><br></p>
  5923. <table class="froala-table" style="width: 100%;">
  5924. <tbody>
  5925. <tr>
  5926. <td style="width: 40%; text-align: center; vertical-align: middle;"><img src="/images/graphic-placeholder-2.png" class="fr-dib"  width="485" height="263"></td>
  5927. <td style="width: 60%; vertical-align: middle;">
  5928. <table class="froala-table" style="width: 100%;">
  5929. <tbody>
  5930. <tr>
  5931. <td style="width: 100.0000%;">
  5932. <h2><strong>Section Title</strong></h2>
  5933. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet. Etiam odio justo, ultricies. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies . Etiam odio justo, ultricies.</p>
  5934. <p><br></p>
  5935. </td>
  5936. </tr>
  5937. </tbody>
  5938. </table>
  5939. <table class="froala-table" style="width: 100%;">
  5940. <tbody>
  5941. <tr>
  5942. <td style="width: 50.0000%;">
  5943. <p><strong><span style="font-size: 20px;">Section Title</span></strong>
  5944. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, consectetur adipiscing ultricies elit.</p>
  5945. </td>
  5946. <td style="width: 50.0000%;">
  5947. <p><strong><span style="font-size: 20px;">Section Title</span></strong>
  5948. <br>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, consectetur adipiscing ultricies elit.</p>
  5949. </td>
  5950. </tr>
  5951. </tbody>
  5952. </table>
  5953. </td>
  5954. </tr>
  5955. </tbody>
  5956. </table>
  5957. <p><br></p>
  5958. `;
  5959. window[elementName].html.insert(insertHtml);
  5960. break;
  5961. case 'content-bonus-block-2':
  5962. insertHtml = `
  5963. <p><br></p>
  5964. <h2 style="text-align: center;"><strong><span style="font-size: 36px;">This Is Your Captivating Title<br></span></strong></h2>
  5965. <h3 style="text-align: center;"><strong>And This Sub-Heading Explains More About The Section Below</strong></h3>
  5966. <p><br></p>
  5967. <table class="froala-table" style="width: 100%;">
  5968. <tbody>
  5969. <tr>
  5970. <td style="width: 10%;"><br></td>
  5971. <td style="width: 40%; text-align: center; vertical-align: top;">
  5972. <p style="text-align: center;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" style="width: 200px;" width="200" height="107"></p>
  5973. <h2 style="text-align: center;"><strong>Section Title</strong></h2>
  5974. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue.
  5975. <br>
  5976. <br>
  5977. </p>
  5978. <p style="text-align: center;"><a class="btn btn-primary btn-lg" href="#" rel="noopener noreferrer">Button Link</a></p>
  5979. <p><br></p>
  5980. </td>
  5981. <td style="width: 40%; text-align: center; vertical-align: top;">
  5982. <p style="text-align: center;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" style="width: 200px;" width="200" height="107"></p>
  5983. <h2 style="text-align: center;"><strong>Section Title</strong></h2>
  5984. <p style="text-align: center;">Lorem ipsum dolor sit amet, consectetur dictum at adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue.
  5985. <br>
  5986. <br>
  5987. </p>
  5988. <p style="text-align: center;"><a class="btn btn-primary btn-lg" href="#" rel="noopener noreferrer">Button Link</a></p>
  5989. <p><br></p>
  5990. </td>
  5991. <td style="width: 10%;"><br></td>
  5992. </tr>
  5993. </tbody>
  5994. </table>
  5995. <p><br></p>
  5996. `;
  5997. window[elementName].html.insert(insertHtml);
  5998. break;
  5999. case 'content-bonus-block-3':
  6000. insertHtml = `
  6001. <p><br></p>
  6002. <table class="froala-table" style="width: 100%;">
  6003. <tbody>
  6004. <tr>
  6005. <td style="width: 33.3333%;vertical-align: top;">
  6006. <h4><strong>Section Title</strong></h4>
  6007. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies.</p>
  6008. <p><a href="#"><strong><span style="font-size: 18px;">Learn More</span></strong></a></p>
  6009. </td>
  6010. <td style="width: 33.3333%;vertical-align: top;">
  6011. <h4><strong>Section Title</strong></h4>
  6012. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. </p>
  6013. <p><a href="#"><strong><span style="font-size: 18px;">Learn More</span></strong></a></p>
  6014. </td>
  6015. <td style="width: 33.3333%;vertical-align: top;">
  6016. <p style="text-align: center;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" width="400" height="216"></p>
  6017. </td>
  6018. </tr>
  6019. </tbody>
  6020. </table>
  6021. <p><br></p>
  6022. `;
  6023. window[elementName].html.insert(insertHtml);
  6024. break;
  6025. case 'content-bonus-block-4':
  6026. insertHtml = `
  6027. <p><br></p>
  6028. <table class="froala-table" style="width: 100%;">
  6029. <tbody>
  6030. <tr>
  6031. <td class="hidden-xs" style="width: 20%;"><br></td>
  6032. <td style="width: 60%; text-align: center;">
  6033. <p style="text-align: center;">
  6034. <img src="/images/icon-placeholder.png" style="width: 60px; height: 60px;" class="fr-fic fr-dii" width="60" height="60">
  6035. </p>
  6036. <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam odio justo, ultricies a facilisis at, dictum at augue. Morbi sem nisl, tempus eu leo ac, eleifend dignissim mi. Nulla at neque sapien. Nullam quis vestibulum dui. Nulla at neque sapien. Nullam quis vestibulum dui.</p>
  6037. </td>
  6038. <td class="hidden-xs" style="width: 20%;"><br></td>
  6039. </tr>
  6040. </tbody>
  6041. </table>
  6042. <p><br></p>
  6043. `;
  6044. window[elementName].html.insert(insertHtml);
  6045. break;
  6046. case 'content-bonus-block-5':
  6047. insertHtml = `
  6048. <p><br></p>
  6049. <table class="froala-table" style="width: 100%;">
  6050. <tbody>
  6051. <tr>
  6052. <td style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" width="615" height="333"></td>
  6053. <td class="fpad-xl" style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/icon-holder.png" style="width: 60px; height: 60px;" class="fr-dib" width="60" height="60">
  6054. <h2><strong>Section Title</strong></h2>
  6055. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Lorem ipsum dolor sit amet, consectetur odio justo, ultricies.</p>
  6056. <p><a href="#"><strong><span style="font-size: 18px;">Learn More</span></strong></a></p>
  6057. </td>
  6058. </tr>
  6059. </tbody>
  6060. </table>
  6061. <p><br></p>
  6062. `;
  6063. window[elementName].html.insert(insertHtml);
  6064. break;
  6065. case 'content-bonus-block-6':
  6066. insertHtml = `
  6067. <p><br></p>
  6068. <table class="froala-table" style="width: 100%;">
  6069. <tbody>
  6070. <tr>
  6071. <td class="fpad-xl" style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/icon-holder.png" style="width: 60px; height: 60px;" class="fr-dib" width="60" height="60">
  6072. <h2><strong>Section Title</strong></h2>
  6073. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Lorem ipsum dolor sit amet, consectetur odio justo, ultricies.</p>
  6074. <p><a href="#"><strong><span style="font-size: 18px;">Learn More</span></strong></a></p>
  6075. </td>
  6076. <td style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" width="615" height="333"></td>
  6077. </tr>
  6078. </tbody>
  6079. </table>
  6080. <p><br></p>
  6081. `;
  6082. window[elementName].html.insert(insertHtml);
  6083. break;
  6084. case 'content-bonus-block-7':
  6085. insertHtml = `
  6086. <p><br></p>
  6087. <h2 style="text-align: center;"><span style="font-size: 36px;text-align: center;"><strong>Learn More About Us</strong></span></h2>
  6088. <p><br></p>
  6089. <table class="froala-table" style="width: 100%;">
  6090. <tbody>
  6091. <tr>
  6092. <td class="hidden-xs" style="width: 10%;">
  6093. <br>
  6094. </td>
  6095. <td style="width: 40%; vertical-align: top;">
  6096. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Lorem ipsum dolor sit amet, consectetur odio justo, ultricies odio justo, ultricies.</p>
  6097. <p><a href="#"><strong><span style="font-size: 18px;">Learn More</span></strong></a></p>
  6098. </td>
  6099. <td style="width: 40%; vertical-align: top;">
  6100. <p>Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Etiam odio justo, ultricies. Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit. Lorem ipsum dolor sit amet, consectetur odio justo, ultricies odio justo, ultricies.</p>
  6101. <p><a href="#"><strong><span style="font-size: 18px;">Learn More</span></strong></a></p>
  6102. </td>
  6103. <td class="hidden-xs" style="width: 10%;">
  6104. <br>
  6105. </td>
  6106. </tr>
  6107. </tbody>
  6108. </table>
  6109. <p><br></p>
  6110. `;
  6111. window[elementName].html.insert(insertHtml);
  6112. break;
  6113. case 'content-bonus-block-8':
  6114. insertHtml = `
  6115. <p><br></p>
  6116. <table class="froala-table" style="width: 100%;">
  6117. <tbody>
  6118. <tr>
  6119. <td class="fpad-xl" style="width: 50%; vertical-align: middle;">
  6120. <h3><strong>Section Title</strong></h3>
  6121. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  6122. <p><br></p>
  6123. <h3><strong>Section Title</strong></h3>
  6124. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  6125. <p><br></p>
  6126. <h3><strong>Section Title</strong></h3>
  6127. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  6128. </td>
  6129. <td class="fpad-xl" style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" width="585" height="317"></td>
  6130. </tr>
  6131. </tbody>
  6132. </table>
  6133. <p><br></p>
  6134. `;
  6135. window[elementName].html.insert(insertHtml);
  6136. break;
  6137. case 'content-bonus-block-9':
  6138. insertHtml = `
  6139. <p><br></p>
  6140. <table class="froala-table" style="width: 100%;">
  6141. <tbody>
  6142. <tr>
  6143. <td class="fpad-xl" style="width: 50%; text-align: center; vertical-align: middle;"><img src="/images/graphic-placeholder-2.png" class="fr-dib" width="585" height="317"></td>
  6144. <td class="fpad-xl" style="width: 50%; vertical-align: middle;">
  6145. <h3><strong>Section Title</strong></h3>
  6146. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  6147. <p><br></p>
  6148. <h3><strong>Section Title</strong></h3>
  6149. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  6150. <p><br></p>
  6151. <h3><strong>Section Title</strong></h3>
  6152. <p>Lorem ipsum dolor sit amet, adipiscing ultricies elit Lorem ipsum dolor sit amet, consectetur adipiscing ultricies elit.</p>
  6153. </td>
  6154. </tr>
  6155. </tbody>
  6156. </table>
  6157. <p><br></p>
  6158. `;
  6159. window[elementName].html.insert(insertHtml);
  6160. break;
  6161. default:
  6162. }
  6163. // Save into undo stack the changes.
  6164. window[elementName].undo.saveStep();
  6165. // Stop event propagation.
  6166. dropEvent.preventDefault();
  6167. dropEvent.stopPropagation();
  6168. return false;
  6169. }
  6170. }, true);
  6171.        });
  6172.        //froala editor code for the members that includes a feature to upload images to /images/member-uploads where the member can upload but can not browse the folder
  6173.        new FroalaEditor('.froala-editor-user-upload', {
  6174.  
  6175.                                    fontSize: ['10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44'],
  6176.            linkAutoPrefix: '',
  6177.            tableInsertMaxSize: 6,
  6178.            imageDefaultWidth: 0,
  6179.            linkInsertButtons: ['linkBack'],
  6180.            htmlAllowedAttrs: ['.*'],
  6181.            htmlAllowedTags: ['a', 'b', 'big', 'blockquote', 'br', 'caption', 'code', 'col', 'colgroup', 'div', 'em', 'embed', 'figure', 'font', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'i', 'iframe', 'img', 'li', 'ol', 'p', 'picture', 'pre', 'small', 'span', 'strong', 'sub', 'sup', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'thread', 'tr', 'tt', 'u', 'ul', 'video', 's', 'a'],
  6182.            htmlRemoveTags: ['script', 'style', 'base'],
  6183.            language: 'en',
  6184.            placeholderText: `Type Something`,
  6185.            heightMin: '350',
  6186.            height: '350',
  6187.                        htmlAllowedEmptyTags: ['textarea', 'a', 'iframe', 'object', 'video', 'style', 'script', '.fa', '.fr-emoticon', '.fr-inner', 'path', 'line', 'hr','i'],
  6188.                        iframeStyleFiles: ['/directory/cdn/assets/bootstrap/css/froala_style.min.css','/directory/cdn/assets/bootstrap/css/theme-styles.min.css?v=1.0.01'],
  6189.            imageEditButtons: ['imageAlign', 'imageRemove', 'imageCaption', '|', 'imageLink', 'linkOpen','linkEdit', 'linkRemove', '-', 'imageAlt', 'imageSize', 'imageStyle'],
  6190.            imageStyles: {
  6191.                'square': 'Square',
  6192.                'img-rounded': 'Rounded',
  6193.                'img-circle': 'Circle'
  6194.            },
  6195.            imageMultipleStyles: false,
  6196.            key: '7MD3aD3G3B3B4B3C2xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3H2G3A15A11A12C5C1==',
  6197.            attribution: false,
  6198.            imageUploadParam: 'blog_image',
  6199.            imageUploadURL: '/wapi/widget?widget_name=' + widgetName + '&header_type=json&request_type=GET',
  6200.            imageUploadMethod: 'POST',
  6201.            imageUploadParams: {
  6202.                upload_scope: 'member'
  6203.            },
  6204.            linkAttributes: {
  6205.                title: 'Title'
  6206.            },
  6207.            toolbarSticky: false,
  6208.            linkStyles: {
  6209.                'btn btn-primary': 'Button Primary',
  6210.                'btn btn-info': 'Button Info',
  6211.                'btn btn-success': 'Button Success',
  6212.                'btn btn-warning': 'Button Warning',
  6213.                'btn btn-danger': 'Button Danger',
  6214.                'btn btn-default': 'Button Default'
  6215.            },
  6216.            paragraphFormat: {
  6217.                N: 'Normal',
  6218.                H1: 'Heading 1',
  6219.                H2: 'Heading 2',
  6220.                H3: 'Heading 3',
  6221.                H4: 'Heading 4'
  6222.            },
  6223.            imageMove: false,
  6224.            videoMove: false,
  6225.            linkMultipleStyles: false,
  6226.            quickInsertEnabled: false,
  6227.            toolbarButtons: ['undo', 'redo', 'bold', 'italic', 'underline', 'fontSize', 'paragraphFormat',  'lineHeight', 'textColor', 'backgroundColor', 'clearFormatting',  'align', 'formatOL', 'formatUL', 'insertTable', 'outdent', 'indent', 'insertHR',  'insertLink', 'insertImage', 'insertVideo',  'html'],
  6228.            imageAllowedTypes: ['jpeg', 'jpg', 'png','JPEG','JPG','PNG','webp'],
  6229.            imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL'],
  6230.            linkEditButtons: ['linkOpen','linkStyle', 'linkEdit', 'adv_styles', 'linkRemove'],            videoInsertButtons: ['videoBack', '|', 'videoByURL', 'videoEmbed'],
  6231.            videoEditButtons: ['videoReplace', 'videoRemove', '|', 'videoDisplay', 'videoAlign', 'videoSize'],
  6232.            tableEditButtons: ['tableColumns','tableRows', 'tableCells', 'tableCellBackground','insertImage','tableCellVerticalAlign', 'tableCellHorizontalAlign','tableRemove'],
  6233.            imageMaxSize: imageMaxSizeSetting,
  6234.            events: {
  6235.                'table.inserted': function (table) {
  6236.                    $('table').addClass('froala-table');
  6237.                },
  6238.                'contentChanged': function () {
  6239.                    const item = $('.froala-editor-user-upload');
  6240.                    if ($(item).attr("required")) {
  6241.                        var form_name = $(item).closest("form").attr("id");
  6242.                        var froala_field_name=$(item).attr("name");
  6243.                        $('#'+form_name).formValidation('revalidateField', froala_field_name);
  6244.                    }
  6245.                }
  6246.            }
  6247.        })
  6248.        var  chatObjParams = {
  6249.            language: 'en',
  6250.            placeholderText: `Type your message here...`,
  6251.            pasteDeniedTags: ['div', 'iframe','span','h1','h2','h3','h3','h4','h5','b','strong','section'],
  6252.            pastePlain: true,
  6253.                        pluginsEnabled: ['image', 'emoticons','file'],
  6254.                        fileAllowedTypes: ['application/pdf'],
  6255.            fileUpload: true,
  6256.            fileMaxSize: chatFileSize,     // Set max file size to 10MB.
  6257.            toolbarInline: false,
  6258.            heightMin: '150',
  6259.            heightMax: '400',
  6260.            toolbarSticky: false,
  6261.            attribution: false,
  6262.            linkAttributes: {
  6263.                title: 'Title'
  6264.            },
  6265.            linkStyles: {
  6266.                'btn btn-primary': 'Button Primary',
  6267.                'btn btn-info': 'Button Info',
  6268.                'btn btn-success': 'Button Success',
  6269.                'btn btn-warning': 'Button Warning',
  6270.                'btn btn-danger': 'Button Danger',
  6271.                'btn btn-default': 'Button Default'
  6272.            },
  6273.            imageMove: false,
  6274.            videoMove: false,
  6275.            quickInsertEnabled: false,
  6276.            iframeStyleFiles: ['/directory/cdn/assets/bootstrap/css/froala_style.min.css','/directory/cdn/assets/bootstrap/css/theme-styles.min.css?v=1.0.01'],
  6277.            imageEditButtons: ['imageAlign', 'imageRemove'],
  6278.            imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL'],
  6279.            imageUploadParam: 'blog_image',
  6280.            imageUploadURL: '/wapi/widget?widget_name=' + widgetName + '&header_type=json&request_type=GET',
  6281.            imageUploadMethod: 'POST',
  6282.            imageUploadParams: {
  6283.                upload_scope: 'member'
  6284.            },
  6285.                        key: '7MD3aD3G3B3B4B3C2xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3H2G3A15A11A12C5C1==',
  6286.            toolbarButtons: ['insertImage'],
  6287.            events: {
  6288.                'contentChanged': function () {
  6289.                    const item = $('.chat-froala');
  6290.                    if ($(item).attr("required")) {
  6291.                        var form_name = $(item).closest("form").attr("id");
  6292.                        var froala_field_name=$(item).attr("name");
  6293.                        $('#'+form_name).formValidation('revalidateField', froala_field_name);
  6294.                    }
  6295.                    if ($('.bd-chat-pmb-reply-form-container .fr-file').length > 2 && chatObjParams.fileUpload) { // only allow 2 pdf by thread
  6296.                        chatFroala.destroy();
  6297.                        chatObjParams.fileUpload = false;
  6298.                        chatObjParams.toolbarButtons = ['insertImage', ];
  6299.                        chatFroala = new FroalaEditor('.chat-froala', chatObjParams);
  6300.                    } else if ($('.bd-chat-pmb-reply-form-container .fr-file').length < 3 && !chatObjParams.fileUpload) {
  6301.                        chatFroala.destroy();
  6302.                        chatObjParams.fileUpload = true;
  6303.                        chatObjParams.toolbarButtons = ['insertImage', 'insertFile', ];
  6304.                        chatFroala = new FroalaEditor('.chat-froala', chatObjParams);
  6305.                    }
  6306.                },
  6307.                'file.error': function (error, response) {
  6308.                    // No link in upload response.
  6309.                    if (error.code == 2) {
  6310.                        //  error.message = 'No Special Character For PDF Name '
  6311.                    }
  6312.                    // File too text-large.
  6313.                    else if (error.code == 5) {
  6314.                        // error.message = 'PDF size less than 10MB'
  6315.                    }
  6316.                    // Invalid file type.
  6317.                    else if (error.code == 6) {
  6318.                        //error.message = 'Only PDF'
  6319.                    }
  6320.                    chatFroala.popups.areVisible()
  6321.                        .find('.fr-file-progress-bar-layer.fr-error .fr-message')
  6322.                        .text(error.message);
  6323.                },
  6324.                'commands.after': function (cmd) {
  6325.                    if (cmd === 'imageAlt') {
  6326.                        $('.fr-image-alt-layer').closest('.fr-popup').removeClass('fr-hidden');
  6327.                        // Add additional logic here, e.g., focus on the input field, log actions, etc.
  6328.                    }else if(cmd === 'imageSize'){
  6329.                        $('.fr-image-size-layer').closest('.fr-popup').removeClass('fr-hidden');
  6330.                    }
  6331.                },
  6332.                            }
  6333.        }
  6334.        chatFroala = new FroalaEditor('.chat-froala',chatObjParams);
  6335.        new FroalaEditor('.text-only-froala', {
  6336.            fileUpload: false,
  6337.            imagePaste: false,
  6338.            imageUpload: false,
  6339.            language: 'en',
  6340.            placeholderText: `Type your message here...`,
  6341.            pastePlain: true,
  6342.            toolbarInline: false,
  6343.            heightMin: '200',
  6344.            heightMax: '350',
  6345.            linkAlwaysBlank: true,
  6346.            quickInsertEnabled: false,
  6347.            htmlRemoveTags: [],
  6348.            attribution: false,
  6349.            linkAttributes: {
  6350.                title: 'Title'
  6351.            },
  6352.            imageMove: false,
  6353.            iframeStyleFiles: ['/directory/cdn/assets/bootstrap/css/froala_style.min.css','/directory/cdn/assets/bootstrap/css/theme-styles.min.css?v=1.0.01'],
  6354.            videoMove: false,
  6355.            toolbarButtons: [],
  6356.            key: '7MD3aD3G3B3B4B3C2xROKLJKYHROLDXDRE1b1YYGRi1Bd1C4F4B3H2G3A15A11A12C5C1==',
  6357.            events: {
  6358.                'contentChanged': function () {
  6359.                    const item = $('.text-only-froala');
  6360.                    if ($(item).attr("required")) {
  6361.                        var form_name = $(item).closest("form").attr("id");
  6362.                        var froala_field_name=$(item).attr("name");
  6363.                        $('#'+form_name).formValidation('revalidateField', froala_field_name);
  6364.                    }
  6365.                },
  6366.                            }
  6367.        });
  6368.            });
  6369. </script>    <!-- Google tag (gtag.js) -->
  6370.    <script async src="https://www.googletagmanager.com/gtag/js?id=G-2CX9DC2SNX"></script>
  6371.    <script>
  6372.        window.dataLayer = window.dataLayer || [];
  6373.        function gtag(){dataLayer.push(arguments);}
  6374.        gtag('js', new Date());
  6375.        gtag('config', 'G-2CX9DC2SNX');
  6376.    </script>
  6377.  
  6378.        <script type="text/javascript">
  6379.            var vlat        = 0;
  6380.            var vlon        = 0;
  6381.            var isSubmit    = false;
  6382.            var cityTypes       = [
  6383.                'colloquial_area',
  6384.                'locality',
  6385.                'sublocality',
  6386.                'sublocality_level_1',
  6387.                'sublocality_level_2',
  6388.                'sublocality_level_3',
  6389.                'sublocality_level_4',
  6390.                'sublocality_level_5',
  6391.                'neighborhood',
  6392.                'political',
  6393.                'ward',
  6394.                'postal_town'
  6395.            ];
  6396.  
  6397.            var postalTypes = [
  6398.                'postal_code',
  6399.                'postal_code_prefix',
  6400.                'postal_code_suffix',
  6401.                'street_number',
  6402.                'premise',
  6403.                'subpremise',
  6404.                'route',
  6405.                'intersection',
  6406.                'street_address',
  6407.                'floor',
  6408.                'room',
  6409.                'post_box',
  6410.                'delivery_address'
  6411.            ];
  6412.  
  6413.            var isSubmitting = false;
  6414.            window.cachedSelectedOption = [{ 'typed_location': '' }];
  6415.            window.isSubmittingMainSearch = false;
  6416.  
  6417.            document.addEventListener('DOMContentLoaded', () => {
  6418.                let isSubmitting = false; // Add flag at the top level
  6419.  
  6420.                setTimeout(()=>{
  6421.                    let googleSuggestForm = document.querySelectorAll('.googleSuggest,.google-writen-location,input[name="lead_location"],.fill_location');
  6422.                    if (typeof googleSuggestForm != "undefined") {
  6423.                        for (let i = 0; i < googleSuggestForm.length; i++) {
  6424.                            let closestForm = googleSuggestForm[i].closest('form');
  6425.                            if(typeof closestForm != "undefined" && closestForm != null){
  6426.                                closestForm.addEventListener('focusin', googleMapOnFormClick, false);
  6427.  
  6428.                            }else{
  6429.                                googleSuggestForm[i].addEventListener('input', googleMapOnFormClick, false);
  6430.                            }
  6431.                                googleSuggestForm[i].addEventListener('click', googleMapOnFormClick, false);
  6432.                            }
  6433.                        }
  6434.                },200);
  6435.  
  6436.                $('.website-search button[type=submit]').click(async function (e) {
  6437.                    e.preventDefault(); // Prevent the default submit action
  6438.                    await googleMapOnFormClick();
  6439.                    $(this).closest('form').submit();
  6440.                });
  6441.            });
  6442.  
  6443.            function googleMapOnFormClick() {
  6444.                return new Promise((resolve, reject) => {
  6445.                    window.isSubmittingMainSearch = false;
  6446.                    let googleSuggestForm = document.querySelectorAll('.googleSuggest, .google-writen-location, input[name="lead_location"], .fill_location');
  6447.                    let mapUri = "https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&region=US&callback=initializeG&language=en&key=AIzaSyBLkx_dAArthmEN61eYqMSiBVE5dHJbG-g";
  6448.                    
  6449.                    let loadMapScriptAsync = function (uri) {
  6450.                        return new Promise((resolve, reject) => {
  6451.                            let script = document.createElement('script');
  6452.                            script.type = 'text/javascript';
  6453.                            script.src = uri;
  6454.                            script.async = true;
  6455.                            script.onload = function () {
  6456.                                resolve("ok");
  6457.                            };
  6458.                            script.onerror = function () {
  6459.                                reject("Failed to load Google Maps script.");
  6460.                            };
  6461.                            document.head.appendChild(script);
  6462.                        });
  6463.                    };
  6464.  
  6465.                    if (typeof google === "undefined" || !google.hasOwnProperty('maps')) {
  6466.                        loadMapScriptAsync(mapUri)
  6467.                            .then(() => {
  6468.                                resolve();
  6469.                            })
  6470.                            .catch((error) => {
  6471.                                console.error(error);
  6472.                                reject();
  6473.                            });
  6474.                    } else {
  6475.                        resolve();
  6476.                    }
  6477.                });
  6478.            }
  6479.  
  6480.            function initializeG() {
  6481.                var geocoder;
  6482.                window.cachedSelectedOption = [{ 'typed_location': '' }];
  6483.                let mapExists = document.querySelectorAll('[id^="map"]').length > 0;
  6484.                const functionsToInvoke = {
  6485.                    setJsMap: true,
  6486.                    setJsMapOverview: mapExists,
  6487.                    setJsMapSR: mapExists,
  6488.                    setJsMapSidebar: mapExists
  6489.                };
  6490.                if (window['maps_loaded'] !== true) {
  6491.                    for (let func in functionsToInvoke) {
  6492.                        if (typeof window[func] === 'function' && functionsToInvoke[func]) {
  6493.                            window['maps_loaded'] = true;
  6494.                            window[func]();
  6495.                        }
  6496.                    }
  6497.                }
  6498.                //This piece of code will create an autosuggest for every input with the class "googleSuggest"
  6499.                var counter = 1;
  6500.                var inputsArray = [];
  6501.                $(".googleSuggest").each(function () {
  6502.                    //get the id from the input to be the unique identifier for each autocomplete
  6503.                    var inputId = $(this).attr("id");
  6504.                    var inputElement = $(this);
  6505.                    inputsArray[counter] = /** @type {HTMLInputElement} */(
  6506.                        document.getElementById('' + inputId));
  6507.                    const mainCountry = '';
  6508.                    const inputOptions = {
  6509.                        fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  6510.                        types: ['geocode']
  6511.                    }
  6512.                    const language = "en";
  6513.  
  6514.                    if (language) {
  6515.                        inputOptions.language = language;
  6516.                    }
  6517.                    if (mainCountry) {
  6518.                        inputOptions.componentRestrictions = {country: mainCountry};
  6519.                        inputOptions.region = mainCountry;
  6520.                    }
  6521.  
  6522.                    var autocomplete = new google.maps.places.Autocomplete(inputsArray[counter], inputOptions);
  6523.                    google.maps.event.addListener(autocomplete, 'place_changed', function () {
  6524.  
  6525.                        cachedSelectedOption = [];
  6526.                        cachedSelectedOption.push(autocomplete.getPlace());
  6527.  
  6528.                        cachedSelectedOption[0]['typed_location'] = inputElement.val();
  6529.                       /* if(cachedSelectedOption[0]['adr_address']){
  6530.                            let cleanLocation = cachedSelectedOption[0]['adr_address'].replace(/<[^>]*>/g, '');
  6531.                            cachedSelectedOption[0]['typed_location'] = cleanLocation;
  6532.                            inputElement.val(cleanLocation);
  6533.                        }*/
  6534.                        if (cachedSelectedOption[0]['address_components'] == undefined) {
  6535.                            cachedSelectedOption = [];
  6536.                            var emptyObj = {
  6537.                                'typed_location': ''
  6538.                            };
  6539.                            cachedSelectedOption.push(emptyObj);
  6540.                        }
  6541.                    });
  6542.                    //the code that prevents the submition when hit enter on a google location autocomplete item
  6543.                    inputElement.keydown( function (e) {
  6544.                        if (e.keyCode == 13) {
  6545.                            var pacCounter = 0;
  6546.                            //need to run a loop to check each pac container
  6547.                            $('.pac-container').each(function () {
  6548.  
  6549.                                if ($(this).css("display") != "none") {
  6550.                                    pacCounter++;
  6551.                                }
  6552.                            });
  6553.                            if (pacCounter > 0) {
  6554.                                e.preventDefault();
  6555.                            }
  6556.                        }
  6557.                    });
  6558.                    counter++;
  6559.                });
  6560.  
  6561.                //triggers every time a form with the id website-search is trigered
  6562.                $('.website-search').submit(function (e) {
  6563.                    if (window.isSubmittingMainSearch) {
  6564.                        console.log('Preventing double submission');
  6565.                        e.preventDefault();
  6566.                        return false;
  6567.                    }
  6568.  
  6569.                    var currentForm = $(this);
  6570.                    var locationInput = $(this).find(".googleLocation");
  6571.                    var $submitButton = currentForm.find('input[type=submit], button[type=submit]');
  6572.  
  6573.  
  6574.                    if (locationInput.val() != "" && typeof locationInput.val() != 'undefined') {
  6575.  
  6576.                        // Set submitting flag
  6577.                        window.isSubmittingMainSearch = true;
  6578.                        $submitButton.prop('disabled', true);
  6579.  
  6580.                        e.preventDefault();
  6581.                        //this variable has the main country of the site
  6582.                        var form = currentForm;
  6583.                        var urlGET = form.serialize();
  6584.                        var formActionUrl = form.attr("action");
  6585.                        var locationValue = locationInput.val();
  6586.  
  6587.  
  6588.  
  6589.                        const mainCountry = '';
  6590.                        const inputOptions = {
  6591.                            address:locationValue
  6592.                        }
  6593.                        const language = "en";
  6594.  
  6595.                        if (language) {
  6596.                            inputOptions.language = language;
  6597.                        }
  6598.                        if (mainCountry) {
  6599.                            inputOptions.componentRestrictions = {country: mainCountry};
  6600.                            inputOptions.region = mainCountry;
  6601.                        }
  6602.  
  6603.                        if (typeof cachedSelectedOption == 'undefined') {
  6604.                            var emptyForm = {
  6605.                                'typed_location': ''
  6606.                            };
  6607.                            cachedSelectedOption.push(emptyForm);
  6608.                        }
  6609.  
  6610.                        if (locationValue != cachedSelectedOption[0]['typed_location']) {
  6611.                            geocoder = new google.maps.Geocoder();
  6612.                            geocoder.geocode(inputOptions, function (results, status) {
  6613.  
  6614.                                //if the google response of the geocoding was successful it will use that info to build the url for the new search
  6615.                                if (status == google.maps.GeocoderStatus.OK) {
  6616.                                    parseInfoToSearch(results, urlGET, formActionUrl);
  6617.  
  6618.                                } else {
  6619.                                    var urlPath = formActionUrl;
  6620.                                    var redirect = urlPath + "?" + urlGET;
  6621.                                    //will redirect the page using the new url that has been constructed
  6622.                                    window.location.href = redirect;
  6623.                                }
  6624.                            });
  6625.  
  6626.                        } else {
  6627.                            parseInfoToSearch(cachedSelectedOption, urlGET, formActionUrl);
  6628.                        }
  6629.                    }
  6630.                });
  6631.  
  6632.                //check if a map has been loaded
  6633.                if ($('#map-canvas').length > 0) {
  6634.                    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>";
  6635.                    $('body').append(cssHideLogo);
  6636.                } else {
  6637.                    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>";
  6638.                    $('body').append(cssHideLogo);
  6639.                }
  6640.  
  6641.                if (geocodeVisitorsSetting == 1 && geocodingMethod === "IP") {
  6642.                    populateSearchFields();
  6643.                }
  6644.  
  6645.                if($('.googleSuggest').val() == ""){
  6646.                    populateSearchFields();
  6647.                }
  6648.                
  6649.                var geocodeVisitorsSetting = '1';
  6650.                var geocodingMethod = 'HTML5';
  6651.  
  6652.                //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
  6653.  
  6654.                var vlon = '';
  6655.                var vlat = '';
  6656.            }
  6657.  
  6658.            function switchPlaceID(placeId,urlGET, formActionUrl) {
  6659.                let request = {
  6660.                    placeId: placeId,
  6661.                    fields: ['address_components', 'adr_address', 'formatted_address', 'geometry', 'icon', 'name', 'place_id', 'plus_code', 'type'],
  6662.                };
  6663.  
  6664.                let service = new google.maps.places.PlacesService(document.createElement('div'));
  6665.                service.getDetails(request, function(place, status) {
  6666.                    if (status === google.maps.places.PlacesServiceStatus.OK) {
  6667.                        let dataArray = [];
  6668.                        dataArray.push(place);
  6669.                        parseInfoToSearch(dataArray, urlGET, formActionUrl);
  6670.                    } else {
  6671.                        console.error('Place details request failed with status:', status);
  6672.                    }
  6673.                });
  6674.            }
  6675.  
  6676.            function parseInfoToSearch(results, urlGET, formActionUrl) {
  6677.                var urlSearchParams = new URLSearchParams(urlGET);
  6678.                var parameters = {};
  6679.                var addressComponentsArray = [];
  6680.                if (results.length > 1) {
  6681.                    if(urlSearchParams.get("location_value")?.toLowerCase() === "nebraska" && results.length === 2){
  6682.                        let tempResult = results[0];
  6683.                        results[0] = results[1];
  6684.                        results[1] = tempResult;
  6685.                    }
  6686.                    for (let i = 0; i < results.length; i++) {
  6687.                        if (results[i].types[0] === 'natural_feature' ||
  6688.                            results[i].types[0] === 'airport' ||
  6689.                            results[i].types[0] === 'point_of_interest' ||
  6690.                            results[i].types[0] === 'establishment' ||
  6691.                            results[i].types[0] === 'park') {
  6692.                            results.splice(i, 1);
  6693.                        }
  6694.                    }
  6695.                }
  6696.                var adComLength = results[0].address_components.length;
  6697.  
  6698.                if(results[0].place_id == 'ChIJmQrivHKsQjQR4MIK3c41aj8'){
  6699.                    switchPlaceID('ChIJi73bYWusQjQRgqQGXK260bw',urlGET, formActionUrl);
  6700.                    return;
  6701.                }
  6702.                sessionStorage.setItem("google_result",JSON.stringify(results));
  6703.  
  6704.                
  6705.                var foundPostalType     = results[0].types.find(type => postalTypes.includes(type));
  6706.                var foundCityType       = results[0].types.find(type => cityTypes.includes(type));
  6707.  
  6708.                //loop that will build the array with the address components and will get the short name of country and administrative area level 1
  6709.                for (var i = 0; i < adComLength; i++) {
  6710.  
  6711.                    if (results[0].address_components[i]['types'][0] == "country") {
  6712.                        parameters.country_sn = results[0].address_components[i]['short_name'];
  6713.                    }
  6714.                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
  6715.                        parameters.adm_lvl_1_sn = results[0].address_components[i]['short_name'];
  6716.                    }
  6717.                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_1") {
  6718.                        parameters.stateSearchLN = results[0].address_components[i]['long_name'];
  6719.                    }
  6720.                    if (results[0].address_components[i]['types'][0] == "administrative_area_level_2") {
  6721.                        parameters.county_sn = results[0].address_components[i]['short_name'];
  6722.                    }
  6723.                    if ($.inArray(results[0].address_components[i]['types'][0], cityTypes) !== -1 && (foundCityType || foundPostalType ) ) {
  6724.                        parameters.city = results[0].address_components[i]['long_name'];
  6725.                    }
  6726.                    if (results[0].address_components[i]['types'][0] == "postal_code" || results[0].address_components[i]['types'][0] == "postal_code_prefix") {
  6727.                        parameters.postal_code = results[0].address_components[i]['long_name'];
  6728.                    }
  6729.                }
  6730.  
  6731.                parameters.location_type = results[0].types[0];
  6732.  
  6733.                if (parameters.adm_lvl_1_sn != '') {
  6734.                    parameters.stateSearch = parameters.adm_lvl_1_sn;
  6735.                }
  6736.                if (parameters.country_sn == "GB") {
  6737.                    delete parameters.adm_lvl_1_sn;
  6738.                }
  6739.  
  6740.                //will check if the response had the bounds parameters
  6741.                //if it had it will add the south west and north east parameters to the new url
  6742.                if (results[0].geometry.hasOwnProperty('bounds') || results[0].geometry.hasOwnProperty('viewport')) {
  6743.  
  6744.                    if (results[0].geometry.hasOwnProperty('bounds')) {
  6745.                        var boundsResponse = results[0].geometry.bounds;
  6746.  
  6747.                    } else {
  6748.                        var boundsResponse = results[0].geometry.viewport;
  6749.                    }
  6750.                    parameters.swlat = boundsResponse.getSouthWest().lat();
  6751.                    parameters.nelat = boundsResponse.getNorthEast().lat();
  6752.                    parameters.swlng = boundsResponse.getSouthWest().lng();
  6753.                    parameters.nelng = boundsResponse.getNorthEast().lng();
  6754.  
  6755.                    //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
  6756.                } else {
  6757.                    parameters.fsearch = "radius";
  6758.                }
  6759.                var locationCenterResponse = results[0].geometry.location;
  6760.                parameters.lat = locationCenterResponse.lat();
  6761.                parameters.lng = locationCenterResponse.lng();
  6762.                parameters.faddress = results[0].formatted_address;
  6763.                parameters.place_id = results[0].place_id;
  6764.                var formatParameters = $.param(parameters);
  6765.                urlGET = urlGET + "&" + formatParameters;
  6766.                var urlPath = formActionUrl;
  6767.                var redirect = urlPath + "?" + urlGET;
  6768.                //will redirect the page using the new url that has been constructed
  6769.                window.location.href = redirect;
  6770.            }
  6771.            function populateSearchFields() {
  6772.                var prePopulateLocationSetting = '1';
  6773.                var geolocationMethod = 'HTML5';
  6774.  
  6775.                //if set to one will get the lat and lng to do reverse geocoding
  6776.                if (prePopulateLocationSetting == 1 && (geolocationMethod === "HTML5" || geolocationMethod === "IP") && (vlat !== '' && vlon !== '' && vlat != undefined && vlon != undefined && vlat != 0 && vlon != 0)) {
  6777.                    var visitorLatLng = new google.maps.LatLng(parseFloat(vlat), parseFloat(vlon));
  6778.                    var visitorGeocoder = new google.maps.Geocoder();
  6779.                    var formattedAddress = [];
  6780.                    var preFormattedStructure = {
  6781.                        "locality": "long_name",
  6782.                        "administrative_area_level_2": "long_name",
  6783.                        "administrative_area_level_1": "long_name",
  6784.                        "country": "long_name"
  6785.                    };
  6786.                    visitorGeocoder.geocode({'latLng': visitorLatLng}, function (results, status) {
  6787.                        //if the google response of the geocoding was successful it will use that info to build the url for the new search
  6788.                        if (status == google.maps.GeocoderStatus.OK) {
  6789.                            $.each(preFormattedStructure, function (findex, fvalue) {
  6790.                                $.each(results[0].address_components, function (rindex, rvalue) {
  6791.                                    if (rvalue.types[0] == findex) {
  6792.                                        formattedAddress.push(rvalue.long_name);
  6793.                                    }
  6794.                                });
  6795.                            });
  6796.                            $('.googleSuggest').each(function () {
  6797.                                if ($(this).val() == '') {
  6798.                                    if (formattedAddress.length > 0) {
  6799.                                        $(this).val(formattedAddress.join(', '));
  6800.                                        clearContent($(this));
  6801.                                    }
  6802.                                }
  6803.                            });
  6804.                        } else {
  6805.                            $('.googleSuggest').each(function () {
  6806.                                $(this).val('');
  6807.                            });
  6808.                        }
  6809.                    });
  6810.                }
  6811.            }
  6812.            function showError(error) {
  6813.                switch (error.code) {
  6814.                    case error.PERMISSION_DENIED:
  6815.                        $('.fill_location.clicked').popover({
  6816.                            content: 'Your Local browser settings have prevented location targeting',
  6817.                            container: 'body'
  6818.                        });
  6819.                        $('.fill_location.clicked').popover('toggle');
  6820.                        setTimeout(function () {
  6821.                            $('.fill_location.clicked').popover('hide');
  6822.                            $('.fill_location.clicked').removeClass('clicked');
  6823.                        }, 2000);
  6824.                        break;
  6825.                    case error.POSITION_UNAVAILABLE:
  6826.                        break;
  6827.                    case error.TIMEOUT:
  6828.                        break;
  6829.                    case error.UNKNOWN_ERROR:
  6830.                        break;
  6831.                }
  6832.            }
  6833.            if (navigator.geolocation) {
  6834.                if ($(".googleSuggest")[0]) {
  6835.                    $(document).on('click', '.fill_location', function getCXPosition() {
  6836.                        $(this).addClass('clicked');
  6837.                        var startPos;
  6838.                        navigator.geolocation.getCurrentPosition(function (position) {
  6839.                            startPos = position;
  6840.                            vlat = startPos.coords.latitude;
  6841.                            vlon = startPos.coords.longitude;
  6842.                            $.get("/api/data/html/get/data_widgets/widget_name", {
  6843.                                "vlat": vlat,
  6844.                                "vlon": vlon,
  6845.                                "name": "Website - Save Coordinates Session"
  6846.                            }).done(function (data) {
  6847.                            });
  6848.                            populateSearchFields();
  6849.                        }, showError);
  6850.                    })
  6851.                }
  6852.            } else {
  6853.                console.log('Geolocation is not supported for this Browser/OS version yet.');
  6854.            }
  6855.            function getUrlParameter(sParam) {
  6856.                var sPageURL = window.location.search.substring(1);
  6857.                var sURLVariables = sPageURL.split('&');
  6858.  
  6859.                for (var i = 0; i < sURLVariables.length; i++) {
  6860.                    var sParameterName = sURLVariables[i].split('=');
  6861.  
  6862.                    if (sParameterName[0] == sParam) {
  6863.                        return decodeURIComponent(sParameterName[1]);
  6864.                    }
  6865.                }
  6866.            }
  6867.        </script>
  6868.        <!-- Google Code for Remarketing Tag -->
  6869. <!--------------------------------------------------
  6870. 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
  6871. --------------------------------------------------->
  6872. <script type="text/javascript">
  6873. /* <![CDATA[ */
  6874. var google_conversion_id = 866703029;
  6875. var google_custom_params = window.google_tag_params;
  6876. var google_remarketing_only = true;
  6877. /* ]]> */
  6878. </script>
  6879. <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
  6880. </script>
  6881. <noscript>
  6882. <div style="display:inline;">
  6883. <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/866703029/?guid=ON&amp;script=0"/>
  6884. </div>
  6885. </noscript><script>
  6886. $(document).ready(function(){
  6887. $('.navbar-header .navbar-toggle.main_menu').click(function(){
  6888. $('.mobile-main-menu').toggleClass('opened');
  6889. });
  6890. $('.mobile-main-menu .sidebar-nav').find('li').each(function(){
  6891. $(this).addClass('hasChildren');
  6892. if ($(this).children('ul').length > 0){
  6893. $(this).prepend('<i class="fa fa-plus" aria-hidden="true"></i>');
  6894. $(this).find('a').after('<div class="clearfix"></div>');
  6895. $(this).find('span').after('<div class="clearfix"></div>');
  6896. }
  6897. $(this).append('<div class="clearfix"></div>');
  6898. });
  6899.  
  6900. $('.mobile-main-menu .sidebar-nav li i').click(function(){
  6901. if ($(this).parent().children('ul').length > 0){
  6902. $(this).parent().toggleClass('sub_open');
  6903. }
  6904. if ($(this).hasClass('fa-plus')){
  6905. $(this).switchClass('fa-plus','fa-minus');
  6906. } else {
  6907. $(this).switchClass('fa-minus','fa-plus');
  6908. }
  6909. });
  6910. })
  6911.  
  6912. if ($(window).width() > 740 && $(window).width() < 1100) {
  6913.  
  6914. $(document).ready(function(){
  6915. $('.tablet-menu .tablet-menu-ul').find('li').each(function(){
  6916.  
  6917. if ($(this).children('ul').length > 0){
  6918. $(this).prepend('<i class="fa fa-plus tablet-fa hidden-sm hidden-md hidden-lg" aria-hidden="true"></i>');
  6919. $(this).find('a').after('<div class="clearfix"></div>');
  6920. var this_link = $(this).children('a').text().replace(/[^\x00-\x7F]/g, "");;
  6921. $(this).children('a').html(this_link);
  6922. $(this).find('span').after('<div class="clearfix"></div>');
  6923. }
  6924. $(this).append('<div class="clearfix"></div>');
  6925. });
  6926.  
  6927. $('.tablet-menu .tablet-menu-ul li i').click(function(){
  6928.  
  6929. if ($(this).parent().children('ul').length > 0){
  6930. $(this).parent().toggleClass('sub_open');
  6931.  
  6932. if ($(this).siblings( "ul" ).hasClass('tablet-block')){
  6933. $(this).siblings( "ul" ).switchClass('tablet-block', 'tablet-none');
  6934. } else {
  6935. $(this).siblings( "ul" ).addClass( "tablet-block" );
  6936.  
  6937. if ($(this).siblings( "ul" ).hasClass('tablet-none')){
  6938. $(this).siblings( "ul" ).removeClass('tablet-none')
  6939. }
  6940.  
  6941. if ($(this).parent().siblings().children('ul').hasClass('tablet-block')) {
  6942. $(this).parent().siblings().children('ul').switchClass('tablet-block', 'tablet-none');
  6943. $(this).parent().siblings().children('i').switchClass('fa-minus','fa-plus');
  6944. }
  6945.  
  6946. if ($(this).parent().siblings().children('ul').children().children('ul').hasClass('tablet-block')) {
  6947. $(this).parent().siblings().children('ul').children().children('ul').switchClass('tablet-block', 'tablet-none');
  6948. $(this).parent().siblings().children('ul').children().children('i').switchClass('fa-minus','fa-plus');
  6949. }
  6950.  
  6951. if ($(this).siblings('ul').children('ul').children().children('ul').hasClass('tablet-block')) {
  6952. $(this).siblings('ul').children('ul').children().children('ul').switchClass('tablet-block', 'tablet-none');
  6953. $(this).siblings('ul').children('ul').children().children('i').switchClass('fa-minus','fa-plus');
  6954. }
  6955.  
  6956. }
  6957.  
  6958. }
  6959.  
  6960. if ($(this).hasClass('fa-plus')){
  6961. $(this).switchClass('fa-plus','fa-minus');
  6962. } else {
  6963. $(this).switchClass('fa-minus','fa-plus');
  6964. }
  6965. });
  6966. })
  6967. }
  6968. // Append unique ID attribute for mobile main menu links
  6969. $('.mobile-main-menu a,.mobile-main-menu span').attr("id", function() { return $(this).attr("id") + "-mobile" });
  6970. </script>
  6971.  
  6972. <script>
  6973. $(".member-profile-tabs ul li a").click(function() {
  6974.    tabsTop = $(".member-profile-tabs").offset().top;
  6975.    positionTop = $(window).scrollTop();
  6976.    if(tabsTop < positionTop){
  6977.        $('html, body').animate({
  6978.        scrollTop: $(".member-profile-tabs").offset().top
  6979.    }, 300);
  6980.    }
  6981. });
  6982. </script><script>
  6983.    // this will allow middle click
  6984.    $(document).on("mousedown", function (e1) {
  6985.        if (e1.which === 2) {
  6986.            $(document).one("mouseup", function (e2) {
  6987.                if (e1.target === e2.target) {
  6988.                    var e3 = $.event.fix(e2);
  6989.                    e3.type = "middleclick";
  6990.                    $(e2.target).trigger(e3);
  6991.                }
  6992.            });
  6993.        }
  6994.    });
  6995.  
  6996.    //if to only record the profile view stats when the page type is equals to profile
  6997.    
  6998.    // All the next scripts are related to the profile click statistics
  6999.    // Script for the opening of the profile
  7000.    $.ajax({
  7001.        url: "/api/stats/json/post/users_clicks/insert",
  7002.        dataType: "json",
  7003.        type: "POST",
  7004.        data: {
  7005.            user_id: "386682",
  7006.            click_name: 'Profile Views',
  7007.            click_type: 'Profile',
  7008.            click_from: window.location.href
  7009.        },
  7010.        success: function (data) {
  7011.        }
  7012.    });
  7013.    // END of "Script for the opening of the profile"
  7014.        // Script for the social media of the profile
  7015.    $(".weblink").on('click middleclick', function() {
  7016.        var element = $(this);
  7017.        var typeofaction = $(this).attr("title");
  7018.        $.ajax({
  7019.            url: "/api/stats/json/post/users_clicks/insert",
  7020.            dataType: "json",
  7021.            type: "POST",
  7022.            data: {
  7023.                user_id: "386682",
  7024.                click_name: typeofaction,
  7025.                click_type: typeofaction,
  7026.                click_url: $(this).attr("href"),
  7027.                click_from: window.location.href
  7028.            },
  7029.            success: function (data) {
  7030.            }
  7031.        });
  7032.    });
  7033.    // Script for the show phone number button
  7034.    $(".view_phone_number, .view_phone_number_header, .myphoneHide, .myphoneHideDetail").click(function(){
  7035.        var element = $(this);
  7036.        var typeofaction = "Phone Number";
  7037.        $.ajax({
  7038.            url: "/api/stats/json/post/users_clicks/insert",
  7039.            dataType: "json",
  7040.            type: "POST",
  7041.            data: {
  7042.                user_id: "386682",
  7043.                click_name: "Phone Number",
  7044.                click_type: 'Phone Number',
  7045.                click_from: window.location.href
  7046.            },
  7047.            success: function (data) {
  7048.            }
  7049.        });
  7050.    });
  7051.    // END of "Script for the phone number of the profile"
  7052.    // END of "Script for the social media of the profile"
  7053. </script><script>
  7054.  
  7055. $('.view_phone_number_header').click(function(event){
  7056. event.preventDefault();
  7057. $(this).hide();
  7058. $('.view_phone_number').hide();
  7059. $('.phone_number').css("display","block");
  7060. $('.phone_number_header').css("display","block");
  7061. })
  7062.  
  7063. </script><script defer>
  7064.    var favoriteMode = "";
  7065.    var apiEngine = "";
  7066.    var api = 0;  // Set API to use. Default is 0
  7067.    var activeMembershipLevelEnable = "";
  7068.    var favoriteUserClickId = "";
  7069.    var bookmarkLabel = `SAVE`;
  7070.    var bookmarkCountLabel = `SAVES`;
  7071.    var currentButton;
  7072.  
  7073.    function favoriteOn(lookForAll = false) {
  7074.        $('.col-md-6.col-md-offset-3').addClass("col-md-12").removeClass('col-md-6 col-md-offset-3');
  7075.        favoriteMode = 'search';
  7076.        if ($('.sidebarenabled').data('sidebar')) {
  7077.            favoriteMode = 'detail';
  7078.            if (!$('.sidebarenabled').siblings('.postItem').data('userid')) {
  7079.                $('.sidebarenabled').siblings('.listingData').remove();
  7080.            }
  7081.        }
  7082.        favoriteUserClickId = $('.favorite').data('activeuser');
  7083.        activeMembershipLevelEnable = $('.favorite').data('activefeatureenable');
  7084.  
  7085. // Sets the API URL to use based on API value
  7086.        if (api == 0) {
  7087.            apiEngine = '/api/data/html/get/data_widgets/widget_name?name=Bootstrap%20Theme%20-%20Function%20-%20Add%20to%20Favorites%20Button';
  7088.        } else if (api == 1) {
  7089.            apiEngine = '/api/data/html/get/data_widgets/widget_name?name=Bootstrap Theme - Function - Add to Favorites Button';
  7090.        } else {
  7091.            apiEngine = '/api/widget/json/get/Bootstrap Theme - Function - Add to Favorites Button';
  7092.        }
  7093.        if (favoriteUserClickId) {
  7094.            var favoriteCounter = $('.favorite').siblings('.postItem');
  7095.            if ($('.sidebarenabled').data('sidebar') || lookForAll) {
  7096.  
  7097.                if (favoriteCounter.length == 1) {
  7098.                    var favoriteMode = 'detail';
  7099.                    var favoriteDataType = $('.sidebarenabled').siblings('.postItem').data('datatype');
  7100.                    var favoriteDataId = $('.sidebarenabled').siblings('.postItem').data('dataid');
  7101.                    var favoritePostId = $('.sidebarenabled').siblings('.postItem').data('postid');
  7102.                    var favoriteUserId = [];
  7103.                    $('.sidebarenabled').siblings('.postItem').each(function () {
  7104.                        favoriteUserId.push($(this).data('userid'));
  7105.                    });
  7106.                } else {
  7107.                    var favoriteMode = 'multiSidebar';
  7108.                    var favoriteDataType = [];
  7109.                    var favoriteDataId = [];
  7110.                    var favoritePostId = [];
  7111.                    var favoriteUserId = [];
  7112.                    $('.postItem').each(function () {
  7113.                        favoriteDataType.push($(this).data('datatype'));
  7114.                        favoriteDataId.push($(this).data('dataid'));
  7115.                        favoritePostId.push($(this).data('postid'));
  7116.                        favoriteUserId.push($(this).data('userid'));
  7117.                    });
  7118.                }
  7119.            } else {
  7120.                var favoriteMode = 'search';
  7121.                var favoriteDataType = $('.favorite').siblings('.postItem').data('datatype');
  7122.                var favoriteDataId = $('.favorite').siblings('.postItem').data('dataid');
  7123.                if (lookForAll) {
  7124.                    favoriteDataType = (favoriteDataType == 10) ? 11 : 10;
  7125.                }
  7126.                if (favoriteDataType != 10) {
  7127.                    var favoritePostId = [];
  7128.                    $('.postItem').each(function () {
  7129.                        favoritePostId.push($(this).data('postid'));
  7130.                    });
  7131.                    var favoriteUserId = $('.favorite').siblings('.postItem').data('userid');
  7132.                } else {
  7133.                    var favoriteUserId = [];
  7134.                    $('.postItem').each(function () {
  7135.                        favoriteUserId.push($(this).data('userid'));
  7136.                    });
  7137.                    var favoritePostId = $('.favorite').siblings('.postItem').data('postid');
  7138.                }
  7139.            }
  7140.            favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, 'check');
  7141.        }
  7142.    }
  7143.  
  7144.    $(document).on('click', '.favorite', function (e) {
  7145.        var favoriteUserClickId = $('.favorite').data('activeuser');
  7146.        if (favoriteUserClickId && activeMembershipLevelEnable) {
  7147.            var thisButton = $(this);
  7148.            currentButton = thisButton;
  7149.            $(thisButton).attr("disabled", true);
  7150.                        var favoriteUserClickId = $(this).data('activeuser');
  7151.            var favoriteUserId = $(this).siblings('.postItem').data('userid');
  7152.            var favoriteDataType = $(this).siblings('.postItem').data('datatype');
  7153.            var favoriteDataId = $(this).siblings('.postItem').data('dataid');
  7154.            var favoritePostId = $(this).siblings('.postItem').data('postid');
  7155.            $(this).toggleClass('favoriteActive');
  7156.            if ($(this).data('state') == 0) {
  7157.                favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, 'add');
  7158.                $(this).data('state', 1);
  7159.            } else {
  7160.                favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, 'delete');
  7161.                $(this).data('state', 0);
  7162.            }
  7163.            setTimeout(function () {
  7164.                $(thisButton).attr("disabled", false);
  7165.            }, 500);
  7166.        }
  7167.    });
  7168.  
  7169.    function toogleBookmark(node) {
  7170.        var postId = $(node).data('postid');
  7171.        var count = $(node).data('count');
  7172.        var numberNode = $(node).find("#number-" + postId);
  7173.        var textLabelNode = $(node).find("#bookmark-content");
  7174.  
  7175.        if ($(node).hasClass('favoriteActive') !== false) {
  7176.            count--;
  7177.        } else {
  7178.            count++;
  7179.        }
  7180.  
  7181.        $(node).data("count", count);
  7182.  
  7183.        if (count > 0) {
  7184.            $(textLabelNode).html(bookmarkCountLabel);
  7185.            $(numberNode).html(' (' + count + ')');
  7186.        } else {
  7187.            $(textLabelNode).html(bookmarkLabel);
  7188.            $(numberNode).html('');
  7189.        }
  7190.    }
  7191.  
  7192.    // Function that Adds, Deletes and Selects Favorites from Backend
  7193.    function favoriteCall(favoriteUserClickId, favoriteUserId, favoriteDataType, favoriteDataId, favoritePostId, favoriteMode, favoriteAction) {
  7194.        $.post(apiEngine, {
  7195.            favoriteUserClickId: favoriteUserClickId,
  7196.            favoriteUserId: favoriteUserId,
  7197.            favoriteDataType: favoriteDataType,
  7198.            favoriteDataId: favoriteDataId,
  7199.            favoritePostId: favoritePostId,
  7200.            favoriteMode: favoriteMode,
  7201.            favoriteAction: favoriteAction
  7202.        }, function (data) {
  7203.            if (api == 0) {
  7204.                var splitData = data.split('<split>');
  7205.                data = splitData[1];
  7206.            }
  7207.  
  7208.            if(favoriteAction == "add" && data == "save_favorite_error"){
  7209.                $(currentButton).trigger('click');
  7210.                swal({
  7211.                    type:"warning",
  7212.                    title: `Action Unavailable`,
  7213.                    html: `Your account is currently not ACTIVE. <br> Only ACTIVE accounts can perform this action.`,
  7214.                });
  7215.            }
  7216.            
  7217.            if (data !== null && data !== 'null') {
  7218.                // Checks if the action 'check' was send
  7219.                if (favoriteAction == 'check' && favoriteMode != 'multiSidebar') {
  7220.                    // Checks if we are in a Detail Page
  7221.                    if (!$('.sidebarenabled').data('sidebar')) {
  7222.                        // Checks if we are viewing a Member
  7223.                        if (favoriteDataType != 10) {
  7224.                            $.each(JSON.parse(data), function (index, value) {
  7225.                                $('.postItem[data-postid="' + value + '"]').siblings('.favorite').addClass('favoriteActive');
  7226.                                $('.postItem[data-postid="' + value + '"]').siblings('.favorite').data('state', 1);
  7227.                            });
  7228.                        } else {
  7229.                            $.each(JSON.parse(data), function (index, value) {
  7230.                                $('.member_results .postItem[data-userid="' + value + '"]').siblings('.favorite').addClass('favoriteActive');
  7231.                                $('.member_results .postItem[data-userid="' + value + '"]').siblings('.favorite').data('state', 1);
  7232.                            });
  7233.                        }
  7234.                    } else {
  7235.                        // Checks if we are viewing a Member
  7236.                        if (favoriteDataType != 10) {
  7237.                            $.each(JSON.parse(data), function (index, value) {
  7238.                                $('.sidebarenabled').siblings('.favorite').addClass('favoriteActive');
  7239.                                $('.sidebarenabled').siblings('.favorite').data('state', 1);
  7240.                            });
  7241.                        } else {
  7242.                            $.each(JSON.parse(data), function (index, value) {
  7243.                                $('.sidebarenabled').siblings('.favorite').addClass('favoriteActive');
  7244.                                $('.sidebarenabled').siblings('.favorite').data('state', 1);
  7245.                            });
  7246.                        }
  7247.                    }
  7248.                } else if (favoriteAction == 'check' && favoriteMode == 'multiSidebar') {
  7249.                    let totalDataCount = JSON.parse(data);
  7250.                    if (totalDataCount) {
  7251.                        totalDataCount = totalDataCount.length;
  7252.                        for (let i = 0; i < totalDataCount; i++) {
  7253.                            if (JSON.parse(data)[i].dataQuery != 0) {
  7254.                                $('.postItem[data-postid="' + JSON.parse(data)[i].postQuery + '"][data-dataid="' + JSON.parse(data)[i].dataQuery + '"]').siblings('.favorite').addClass('favoriteActive');
  7255.                                $('.postItem[data-postid="' + JSON.parse(data)[i].postQuery + '"][data-dataid="' + JSON.parse(data)[i].dataQuery + '"]').siblings('.favorite').data('state', 1);
  7256.                            } else {
  7257.                                $('.postItem[data-userid="' + JSON.parse(data)[i].postQuery + '"]').siblings('.favorite').addClass('favoriteActive');
  7258.                                $('.postItem[data-userid="' + JSON.parse(data)[i].postQuery + '"]').siblings('.favorite').data('state', 1);
  7259.                            }
  7260.                        }
  7261.                    }
  7262.                }
  7263.            }
  7264.        });
  7265.    }
  7266.  
  7267.    // Code that runs once to show all favored posts by a registered user
  7268.  
  7269.    favoriteOn();
  7270.    favoriteOn(true);
  7271. </script><script type="text/javascript">
  7272.    let clickMoreButtons = document.getElementsByClassName('clickToLoadMoreBtn');
  7273.    let autoLoadResults = true;
  7274.    let loadMore = function () {
  7275.        let featureDCId = this.dataset.dc;
  7276.        let currentPage = this.dataset.page;
  7277.        let currentUser = this.dataset.owner;
  7278.        let replyToReviewProfilePage = this.dataset.replytoreview;
  7279.        let levId = this.dataset.lvl;
  7280.        let dataType = this.dataset.type;
  7281.        let loadReviews = null;
  7282.        if (dataType == 13) {
  7283.            loadReviews = document.querySelector('.loadReviews + .clearfix + .loadContainer');
  7284.        }
  7285.  
  7286.        this.dataset.page = parseInt(currentPage) + 1;
  7287.        this.classList.add('loadingMore');
  7288.        let currentInnerHtml = this.innerHTML;
  7289.        this.innerHTML = '<i class="fa fa-spinner fa-spin"></i> Loading...';
  7290.        let currentBTN = this;
  7291.  
  7292.        let url = `/wapi/widget`;
  7293.  
  7294.        let formData = new FormData();
  7295.        formData.append('dc_id', featureDCId);
  7296.        formData.append('currentPage', currentPage);
  7297.        formData.append('currentUser', currentUser);
  7298.        formData.append('header_type', 'html');
  7299.        formData.append('replyToReviewProfilePage', replyToReviewProfilePage);
  7300.        formData.append('levId', levId);
  7301.        formData.append('request_type', 'POST');
  7302.        formData.append('widget_name', 'Bootstrap - Search - Lazy Loader tabs');
  7303.  
  7304.        let myInit = {
  7305.            method: 'POST',
  7306. credentials: 'same-origin',
  7307.            body: formData
  7308.        };
  7309.        fetch(url, myInit)
  7310.            .then(function (response) {
  7311.                return response.text();
  7312.            }).then(function (html) {
  7313.            let parser = new DOMParser();
  7314.            let result = parser.parseFromString(html, 'text/html');
  7315.            let newResults = result.getElementById('grabHTML__js').innerHTML;
  7316.            let amountOfClicks = result.getElementById('grabHTML__js').dataset.pages;
  7317.  
  7318.            if (dataType == 13 && typeof loadReviews != 'undefined' && loadReviews != null) {
  7319.                $('.loadReviews').before(newResults); //reviews
  7320.            } else {
  7321.                $(currentBTN).parent().before(newResults);
  7322.            }
  7323.            setAmountPages(currentBTN, amountOfClicks);
  7324.            if (typeof favoriteOn == 'function') {
  7325.                favoriteOn();
  7326.            }
  7327.            if (typeof runRoyalSlider == 'function') {
  7328.                runRoyalSlider();
  7329.            }
  7330.            currentBTN.innerHTML = currentInnerHtml;
  7331.            currentBTN.classList.remove('loadingMore');
  7332.            autoLoadResults = true;
  7333.        });
  7334.    }
  7335.  
  7336.    // adding listener
  7337.    Array.from(clickMoreButtons).forEach(function (clickMoreBtnElement) {
  7338.        clickMoreBtnElement.addEventListener('click', loadMore);
  7339.  
  7340.    });
  7341.    
  7342.    function removeListenToScroll(){
  7343.        window.removeEventListener('scroll', listenToScroll);
  7344.    }
  7345.    function listenToScroll() {
  7346.        if (isElementInViewport() && autoLoadResults) {
  7347.            let btnClickMore = document.querySelector('.active .clickToLoadMoreBtn');
  7348.            if (typeof btnClickMore != 'undefined' && btnClickMore != null){
  7349.                btnClickMore.click();
  7350.            }
  7351.            autoLoadResults = false;
  7352.        }
  7353.    }
  7354.  
  7355.    function isElementInViewport() {
  7356.        let btnClickMore = document.querySelector('.active .clickToLoadMoreBtn')
  7357.        if (typeof btnClickMore != 'undefined' && btnClickMore != null) {
  7358.            const rect = btnClickMore.getBoundingClientRect();
  7359.            return (
  7360.                rect.top >= 0 &&
  7361.                rect.left >= 0 &&
  7362.                rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
  7363.                rect.right <= (window.innerWidth || document.documentElement.clientWidth)
  7364.            );
  7365.        }
  7366.    }
  7367.    function setAmountPages(btn, amount) {
  7368.        if (!("pages" in btn.dataset)) {
  7369.            btn.dataset.pages = parseInt(amount) - 1; // we do -1 because the just clicked
  7370.        } else {
  7371.            btn.dataset.pages = parseInt(btn.dataset.pages) - 1;
  7372.        }
  7373.        if (btn.dataset.pages <= 0) {
  7374.            btn.remove();
  7375.        }
  7376.    }
  7377.  
  7378. </script><script>
  7379.  function validate() {
  7380.    var reason='';
  7381.    form=document.sidebarform;
  7382.  
  7383.    if (form.answerq.value!=5) {
  7384.      reason=reason+'- Answer the security question';
  7385.    }
  7386.  
  7387.    if (reason!='') { reason='Please correct the following errors:\n'+reason; alert(reason); return false; }
  7388.  
  7389.  }
  7390. </script> <script>
  7391.    $('#captchaContainer').removeClass('form-control ');
  7392.    $(".website_url_field").keyup(function(){
  7393.        var fieldName = $(this).attr('name');
  7394.        $(this).val($(this).val().replace(/\s+/g, ''));
  7395.        $('#myform').formValidation('revalidateField', fieldName);
  7396.    });
  7397. </script>
  7398. <script>
  7399.    var currentSubmitButton = null;
  7400.    window.newestRequestId = 0;
  7401.    var localizedMainCountry = '';
  7402.  
  7403.    async function setJsMap() {
  7404.        let urlWapi = '/wapi/widget?widget_name=Bootstrap%20Theme%20-%20Google%20Maps%20-%20Get%20Center%20Coordinates&request_type=GET&header_type=json&action=getCenterMap';
  7405.        var localizedMainCoutry = '';
  7406.        if ($('#location_status').length == 0) {
  7407.            var currentLocationState = "no_location";
  7408.        } else {
  7409.            var currentLocationState = $('#location_status').data('state');
  7410.        }
  7411.        if (currentLocationState != "no_location") {
  7412.            //the maping array to know what address component types are link to which inputs on the contact details form
  7413.            var inputsArray = {
  7414.                "country_sn": {
  7415.                    "country": "short_name"
  7416.                },
  7417.                "adm_lvl_1_sn": {
  7418.                    "administrative_area_level_1": "short_name"
  7419.                },
  7420.                "county_sn": {
  7421.                    "administrative_area_level_2": "short_name"
  7422.                },
  7423.                "city":{
  7424.                    "locality": "short_name"
  7425.                }
  7426.            };
  7427.            var geoSC = new google.maps.Geocoder();
  7428.            var markerSC = '';
  7429.            var mapSC = '';
  7430.  
  7431.            var vlonLead = '';
  7432.            var vlatLead = '';
  7433.            var userLat = '0.00000000';
  7434.            var userLon = '0.00000000';
  7435.            var geocodeVisitorsSetting = '1';
  7436.            var geocodingMethod = 'HTML5';
  7437.  
  7438.            if (vlatLead == "" && userLat != "") {
  7439.                vlatLead = userLat;
  7440.            }
  7441.            if (vlonLead == "" && userLon != "") {
  7442.                vlonLead = userLon;
  7443.            }
  7444.            if (vlatLead == "" || vlonLead == "") {
  7445.  
  7446.                await getCenterMap(urlWapi)
  7447.                    .then(response => response.json())
  7448.                    .then(data => {
  7449.                        if (data.lat) {
  7450.                            vlatLead = userLat = uLat = data.lat;
  7451.                        }
  7452.                        if (data.lon) {
  7453.                            vlonLead = userLon = uLng = data.lon;
  7454.                        }
  7455.                    });
  7456.  
  7457.  
  7458.            }
  7459.            if (currentLocationState == 'default' || currentLocationState == 'only_map') {
  7460.                //important variables
  7461.  
  7462.                //function that initializes the Map
  7463.                const mapDiv = document.getElementById("map-canvas-contact-sidebar");
  7464.                                function initializeMap() {
  7465.  
  7466.                    if (initializeMap.alreadyUsed) {
  7467.                        return false;
  7468.                    }
  7469.                    initializeMap.alreadyUsed = true;
  7470.                    var iconImage = '';
  7471.                    var mapOptions = {
  7472.                        controlSize: 26,
  7473.                        mapTypeControl: false,
  7474.                        streetViewControl: false,
  7475.                        scrollwheel: false
  7476.                    }
  7477.                    mapSC = new google.maps.Map(mapDiv, mapOptions);
  7478.  
  7479.                    //if uLat and uLong are empty load the map in the center of the world
  7480.                    if (userLat == "" || userLon == "") {
  7481.                        userLat = 0;
  7482.                        userLon = 0;
  7483.                    }
  7484.                    var markerInitLatLng2 = new google.maps.LatLng(parseFloat(userLat), parseFloat(userLon));
  7485.  
  7486.                    markerSC = new google.maps.Marker({
  7487.                        draggable: true,
  7488.                        position: markerInitLatLng2,
  7489.                        map: mapSC,
  7490.                        title: "Your current location",
  7491.                        icon: iconImage
  7492.                    });
  7493.                    //if no location saved zoom will be 2
  7494.                    var mapZoom = 15;
  7495.                    if (userLat == "" || userLon == "") {
  7496.                        mapZoom = 4;
  7497.                    }
  7498.  
  7499.                    if (currentLocationState == 'default') {
  7500.                        var input = /** @type {HTMLInputElement} */(
  7501.                            document.getElementById('pac-input'))
  7502.                        var inputOptions = {
  7503.                            fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  7504.                            types: ['(regions)']
  7505.                        }
  7506.                        const language = "en";
  7507.                        if (language) {
  7508.                            inputOptions.language = language;
  7509.                        }
  7510.                        if (localizedMainCoutry) {
  7511.                            inputOptions.componentRestrictions = {country: localizedMainCoutry};
  7512.                            inputOptions.region = localizedMainCoutry;
  7513.                        }
  7514.                        var autocomplete = new google.maps.places.Autocomplete(input, inputOptions);
  7515.                        autocomplete.bindTo('bounds', mapSC);
  7516.  
  7517.                        //bind the change of the autocomplete to the make search function
  7518.                        //google.maps.event.addListener(autocomplete, 'place_changed', makeSearch);
  7519.                        google.maps.event.addListener(autocomplete, 'place_changed', (e) => {
  7520.                            if (input.value != '') {
  7521.                                const place = autocomplete.getPlace();
  7522.                                makeSearch(place)
  7523.                            } else {
  7524.                                swal(`Error`, `You can not list an empty location!`, "error");
  7525.                            }
  7526.                        });
  7527.                        //when hitting enter on the location search field prevent the submition of the form
  7528.  
  7529.                        input.addEventListener("keydown", (e) => {
  7530.                            if (e.key === "Enter") {
  7531.                                e.preventDefault();
  7532.                            }
  7533.                        });
  7534.                    }
  7535.                    mapSC.setCenter(new google.maps.LatLng(vlatLead, vlonLead));
  7536.                    mapSC.setZoom(mapZoom);
  7537.                    //load marker on the map
  7538.                    markerSC.setMap(mapSC);
  7539.  
  7540.  
  7541.                    // check for Geolocation support
  7542.                    if (geocodeVisitorsSetting == 1 && geocodingMethod == "HTML5" && vlatLead != userLat && vlonLead != userLon & uLat != 0 && uLng != 0) {
  7543.                        let markerMemberInitLatLng = new google.maps.LatLng(parseFloat(uLat), parseFloat(uLng))
  7544.                        markerSC.setPosition(markerMemberInitLatLng);
  7545.                        mapSC.setCenter(markerMemberInitLatLng);
  7546.                       // makeSearch(vlatLead, vlonLead);
  7547.                        let latlng = {
  7548.                            lat: parseFloat(markerSC.position.lat()),
  7549.                            lng: parseFloat(markerSC.position.lng()),
  7550.                        };
  7551.                        fillDataByGeoCode(latlng, 'latLng');
  7552.                    } else {
  7553.                        markerSC.setPosition(new google.maps.LatLng(vlatLead, vlonLead));
  7554.                    }
  7555.  
  7556.                    //capture the draggin marker event and update the lat and lng of the member
  7557.                    google.maps.event.addListener(markerSC, 'dragend', function (event) {
  7558.                        let markerCoordinates = markerSC.getPosition();
  7559.                        userLat = uLat = markerSC.getPosition().lat();
  7560.                        userLng = uLng = markerSC.getPosition().lng();
  7561.                        fillDataByGeoCode(markerCoordinates, 'latLng');
  7562.                    });//END dragend event listener
  7563.                }//END initialize function
  7564.                                initializeMap();
  7565.                //    google.maps.event.addDomListener(window, 'load', initializeMap);
  7566.                //END if (currentLocationState == 'default' || currentLocationState == 'only_map')
  7567.            } else if (currentLocationState == 'only_input') {
  7568.                                function initializeInput() {
  7569.  
  7570.                    const inputOptions = {
  7571.                        fields: ['address_components', 'adr_address','formatted_address', 'geometry', 'icon', 'name','place_id','plus_code','type'],
  7572.                        types: ['(regions)'],
  7573.                    }
  7574.                    const language = "en";
  7575.  
  7576.                    if (language) {
  7577.                        inputOptions.language = language;
  7578.                    }
  7579.                    if (localizedMainCoutry) {
  7580.                        inputOptions.componentRestrictions = {country: localizedMainCoutry};
  7581.                        inputOptions.region = localizedMainCoutry;
  7582.                    }
  7583.  
  7584.  
  7585.                    var change = document.getElementsByClassName("google-writen-location");
  7586.                    var searchInput = {};
  7587.                    var autocomplete = {};
  7588.                    var cachedSelectedOption = {};
  7589.                    for (var i = 0; i < change.length; i++) {
  7590.  
  7591.                        //the init of the search locations input
  7592.                        autocomplete[i] = new google.maps.places.Autocomplete(change[i], inputOptions);
  7593.                        autocomplete[i].inputId = change[i].id;
  7594.  
  7595.                        var currentLocationValue;
  7596.                        $(change[i]).keyup(function () {
  7597.                            $('input[name="lat"]').val('');
  7598.                            $('input[name="lng"]').val('');
  7599.                            $('input[name="swlat"]').val('');
  7600.                            $('input[name="swlng"]').val('');
  7601.                            $('input[name="nelat"]').val('');
  7602.                            $('input[name="nelng"]').val('');
  7603.                            $('input[name="location_type"]').val('');
  7604.                        });
  7605.                        $(change[i]).blur(function () {
  7606.                            var thisField = $(this);
  7607.                            let thisVal = this.value;
  7608.                            setTimeout(function () {
  7609.                                if (thisField.parents('div').find('[name="lat"]').val() == "") {
  7610.                                    fillDataByGeoCode(thisVal);
  7611.                                }
  7612.                            }, 300);
  7613.  
  7614.                        });
  7615.  
  7616.  
  7617.                        //bind the change of the autocomplete to the make search function
  7618.                        google.maps.event.addListener(autocomplete[i], 'place_changed', function () {
  7619.                            let place= this.getPlace();
  7620.                            makeSearch(place);
  7621.                        });
  7622.  
  7623.                        //when hitting enter on the location search field prevent the submition of the form
  7624.                        $('.google-writen-location:eq(' + i + ')').keydown(function (e) {
  7625.                            if (e.keyCode == 13) {
  7626.                                e.preventDefault();
  7627.                            }
  7628.                        });
  7629.                    }
  7630.                }//END initialize function
  7631.                                initializeInput();
  7632.                //  google.maps.event.addDomListener(window, 'load', initializeInput);
  7633.            }
  7634.  
  7635.            //this is the function that takes a google response and fills the input location fields basing itself in the maping array
  7636.            function fillAddressFields(results) {
  7637.                var coordinatesCenter = results.geometry.location;
  7638.                var boundsResponse = "";
  7639.                $('input[name="lead_location"]').val(results['formatted_address']);
  7640.                if(results['adr_address']){
  7641.                    var faddress = results['adr_address'].replace(/<[^>]+>/g, '');
  7642.                    $('input[name="faddress"]').val(faddress);
  7643.                }
  7644.  
  7645.                if (results.geometry.hasOwnProperty('bounds') || results.geometry.hasOwnProperty('viewport')) {
  7646.  
  7647.                    if (results.geometry.hasOwnProperty('bounds')) {
  7648.                        var boundsResponse = results.geometry.bounds;
  7649.  
  7650.  
  7651.                    } else {
  7652.                        var boundsResponse = results.geometry.viewport;
  7653.                    }
  7654.                }
  7655.                if (boundsResponse != "") {
  7656.                    const location = results.geometry.location;
  7657.                    const viewport = results.geometry.viewport;
  7658.  
  7659.                    if (location) {
  7660.                        var lat = typeof location.lat === 'function' ? location.lat() : location.lat;
  7661.                        var lng = typeof location.lng === 'function' ? location.lng() : location.lng;
  7662.                        
  7663.                        $('input[name="lat"]').val(lat);
  7664.                        $('input[name="lng"]').val(lng);
  7665.                    }
  7666.  
  7667.                    if (viewport) {
  7668.                        const sw = typeof viewport.getSouthWest === 'function' ? viewport.getSouthWest() : viewport.sw;
  7669.                        const ne = typeof viewport.getNorthEast === 'function' ? viewport.getNorthEast() : viewport.ne;
  7670.  
  7671.                        var swlat = typeof sw.lat === 'function' ? sw.lat() : sw.lat;
  7672.                        var nelat = typeof ne.lat === 'function' ? ne.lat() : ne.lat;
  7673.                        var swlng = typeof sw.lng === 'function' ? sw.lng() : sw.lng;
  7674.                        var nelng = typeof ne.lng === 'function' ? ne.lng() : ne.lng;
  7675.  
  7676.                        //update sw
  7677.                        $('input[name="swlat"]').val(swlat);
  7678.                        $('input[name="swlng"]').val(swlng);
  7679.                        //update ne
  7680.                        $('input[name="nelat"]').val(nelat);
  7681.                        $('input[name="nelng"]').val(nelng);
  7682.                    }
  7683.                }
  7684.                //update location type
  7685.                $('input[name="location_type"]').val(results.address_components[0].types[0]);
  7686.                //loop through the maping array to get all the values from the inputs that need to be filled with the new information
  7687.                $.each(inputsArray, function (findex, fvalue) {
  7688.                    //clean each field before setting new info
  7689.                    $('input[name="' + findex + '"]').val("");
  7690.  
  7691.                    //loop that checks the second level of the array
  7692.                    $.each(fvalue, function (sindex, svalue) {
  7693.                        var flag = true;
  7694.                        //check if svalue is an object
  7695.                        if ($.type(svalue) == "object") {
  7696.                            var currentConcat = "",
  7697.                                //get length of the concat array
  7698.                                concatLength = Object.keys(svalue).length,
  7699.                                concatCounter = 0;
  7700.                            //loop on each element of the svalue elements for the address components concatenation
  7701.                            $.each(svalue, function (conkey, convalue) {
  7702.  
  7703.                                //run a loop on the address components for each svalue elements
  7704.                                $.each(results.address_components, function (inskey, insvalue) {
  7705.                                    //if the element of the svalue match, concat the result to the array currentConcat
  7706.                                    if (insvalue.types[0] == conkey) {
  7707.                                        currentConcat += insvalue[convalue] + " ";
  7708.                                        concatCounter++;
  7709.                                    }
  7710.                                });//END each on address components
  7711.                            });//END each on svalue for the address components concatenation
  7712.                            //if all the elements matched then this new location with the concatenation of address components will be the one used
  7713.                            if (concatCounter == concatLength) {
  7714.                                $('input[name="' + findex + '"]').val(currentConcat);
  7715.                                flag = false;
  7716.                                return false;
  7717.                            }
  7718.                            //if svalue is not an object the system will continue with the default computations
  7719.                        } else {
  7720.                            //run a loop on the address components for the svalue being searched
  7721.                            $.each(results.address_components, function (key, value) {
  7722.                                //if the svalue element matches it will be saved
  7723.                                if (value.types[0] == sindex) {
  7724.                                    $('input[name="' + findex + '"]').val(value[svalue]);
  7725.                                    flag = false;
  7726.                                    return false;
  7727.                                }
  7728.  
  7729.                            });//END each on the address components
  7730.                        }
  7731.                        return flag;
  7732.                    });//END each on the second level of the array
  7733.                });//END each on the first level of the array
  7734.  
  7735.                // Enable submit button at the end of fillAddressFields
  7736.                $(currentSubmitButton).removeClass('disabled');
  7737.                $(currentSubmitButton).removeAttr('disabled');
  7738.            }//END fillAddressFields function
  7739.            //function that triggers when someone selects an option from the autocomplete
  7740.            function makeSearch(results) {
  7741.                if (results && results.address_components) {
  7742.  
  7743.                    if (currentLocationState == 'default' || currentLocationState == 'only_map') {
  7744.                        markerSC.setPosition(results.geometry.location);
  7745.                        mapSC.panTo(results.geometry.location);
  7746.                        mapSC.setZoom(16);
  7747.                    }
  7748.                    fillAddressFields(results);
  7749.                }
  7750.                else {
  7751.                    fillDataByGeoCode(results.name,'address');
  7752.                }
  7753.            }//END make search function
  7754.  
  7755.            if (currentLocationState == 'default' || currentLocationState == 'only_map') {
  7756.                $('#contactModal').on('shown.bs.modal', function () {
  7757.                    google.maps.event.trigger(mapSC, "resize");
  7758.                });
  7759.            }
  7760.  
  7761.            // Add MutationObserver to watch for all pac-containers
  7762.            const observeAutocompleteContainers = () => {
  7763.                const observer = new MutationObserver((mutations) => {
  7764.                    mutations.forEach((mutation) => {
  7765.                        if (mutation.type === 'childList') {
  7766.                            mutation.addedNodes.forEach((node) => {
  7767.                                if (node.nodeType === 1) { // Check if it's an element node
  7768.                                    // Check both for the class and for matching the selector
  7769.                                    if (node.classList &&
  7770.                                        (node.classList.contains('pac-container') ||
  7771.                                        node.querySelector('.pac-container'))) {
  7772.                                        const containerToObserve = node.classList.contains('pac-container') ? node : node.querySelector('.pac-container');
  7773.                                        
  7774.                                        // Create a new observer for this specific pac-container
  7775.                                        const containerObserver = new MutationObserver((containerMutations) => {
  7776.                                            containerMutations.forEach((containerMutation) => {
  7777.                                                if (containerMutation.type === 'attributes' &&
  7778.                                                    containerMutation.attributeName === 'style') {
  7779.                                                    const isHidden = containerToObserve.style.display === 'none';
  7780.                                                    if (isHidden) {
  7781.                                                        if (typeof window.cachedSelectedOption !== 'undefined' && window.cachedSelectedOption !== null) {
  7782.                                                            makeSearch(window.cachedSelectedOption[0]);
  7783.                                                        }else{
  7784.                                                            const thisField = this;
  7785.                                                            const thisVal = this.value;
  7786.                                                            setTimeout(function() {
  7787.                                                                if ($(thisField).parents('div').find('[name="lat"]').val() == "") {
  7788.                                                                    fillDataByGeoCode(thisVal);
  7789.                                                                }
  7790.                                                            }, 300);
  7791.                                                        }
  7792.                                                    }
  7793.                                                }
  7794.                                            });
  7795.                                        });
  7796.  
  7797.                                        // Start observing this pac-container
  7798.                                        containerObserver.observe(containerToObserve, {
  7799.                                            attributes: true,
  7800.                                            attributeFilter: ['style']
  7801.                                        });
  7802.                                    }
  7803.                                }
  7804.                            });
  7805.                        }
  7806.                    });
  7807.                });
  7808.  
  7809.                // Start observing the document body for added pac-containers
  7810.                observer.observe(document.body, {
  7811.                    childList: true,
  7812.                    subtree: true
  7813.                });
  7814.            };
  7815.  
  7816.            // Start observing when the document is ready
  7817.            if (document.readyState === 'loading') {
  7818.                document.addEventListener('DOMContentLoaded', observeAutocompleteContainers);
  7819.            } else {
  7820.                observeAutocompleteContainers();
  7821.            }
  7822.        }//END if (currentLocationState != "no_location")
  7823.  
  7824.        function fillDataByGeoCode(info, type = 'address') {
  7825.            if(info){
  7826.                type = type.toLowerCase();
  7827.                let geocoderRequest = { address: info };
  7828.                if (type === 'latlng') {
  7829.                    geocoderRequest = { location: info};
  7830.                }
  7831.                const language = "en";
  7832.                if (language) {
  7833.                    geocoderRequest.language = language;
  7834.                }
  7835.                const mainCountry = '';
  7836.                if (mainCountry && type === 'address') {
  7837.                    geocoderRequest.componentRestrictions = {country: mainCountry};
  7838.                    geocoderRequest.region = mainCountry;
  7839.                }
  7840.                if (mainCountry && type === 'latlng') {
  7841.                    geocoderRequest.region = mainCountry;
  7842.                }
  7843.                geo = new google.maps.Geocoder();
  7844.                geo.geocode(geocoderRequest, function (results, status) {
  7845.  
  7846.                    if (status == google.maps.GeocoderStatus.OK) {
  7847.  
  7848.                        if (results.length > 1) {
  7849.                            for (let i = 0; i < results.length; i++) {
  7850.                                if (results[i].types[0] === 'natural_feature' ||
  7851.                                    results[i].types[0] === 'airport' ||
  7852.                                    results[i].types[0] === 'point_of_interest' ||
  7853.                                    results[i].types[0] === 'establishment' ||
  7854.                                    results[i].types[0] === 'park') {
  7855.                                    results.splice(i, 1);
  7856.                                }
  7857.                            }
  7858.                        }
  7859.                        if (mapSC != null && mapSC != '' && typeof mapSC !== "undefined" && markerSC != null && markerSC != '' && typeof markerSC !== "undefined") {
  7860.                            mapSC.panTo(results[0].geometry.location);
  7861.                            mapSC.setZoom(16);
  7862.                            markerSC.setPosition(results[0].geometry.location);
  7863.                        }
  7864.                        fillAddressFields(results[0]);
  7865.                    }
  7866.                });
  7867.            }
  7868.        }
  7869.        // fetch to obtain the centerOfMap
  7870.        function getCenterMap(urlWapi) {
  7871.            const response =  fetch(urlWapi, {
  7872.                method: 'GET',
  7873.                mode: 'same-origin',
  7874.                credentials: 'same-origin',
  7875.                headers: {
  7876.                    'Content-Type': 'application/json'
  7877.                },
  7878.            });
  7879.            return response
  7880.        }
  7881.    }
  7882. </script><script type="text/javascript">
  7883.    if(typeof bootstrap_contact_member_category_dropdowns_runned == "undefined"){
  7884.        var bootstrap_contact_member_category_dropdowns_runned = true;
  7885.        var uniqueForm = $('.select-category-chained').closest('form').attr("id");
  7886.        $(document).on('change', '#'+uniqueForm+' .select-category-chained', function () {
  7887.            
  7888.            var input = $(this);
  7889.            var currentLevel = input.attr('name');
  7890.            var categoryId = input.val();
  7891.  
  7892.            var targetSelect = uniqueForm + " #" + input.data('nextselect');
  7893.            var enviromentVar = $('#cat-page-type').data('type');
  7894.            //empty all the children of this select
  7895.            var epmtyHtmlOptions = "";
  7896.            var defaultOptionText = 'Select from List';
  7897.            if(defaultOptionText != ""){
  7898.                epmtyHtmlOptions += '<option value="">('+defaultOptionText+')</option>';
  7899.            }
  7900.            $('#' + targetSelect).html(epmtyHtmlOptions);
  7901.            $('#' + targetSelect).val('').change();
  7902.            
  7903.            //check if child is also parent and clean that one too
  7904.            var targetSelectElement = $('#' + targetSelect);
  7905.            var childChildSelect = targetSelectElement.data('nextselect');
  7906.  
  7907.            if (childChildSelect != "" && childChildSelect != undefined) {
  7908.                $('#' + childChildSelect).html(epmtyHtmlOptions);
  7909.                $('#' + childChildSelect).val('').change();
  7910.            }
  7911.            if (enviromentVar == "profile") {
  7912.                var userId = $('#cat-page-type').data('user');
  7913.  
  7914.            } else {
  7915.                var userId = "";
  7916.            }
  7917.            
  7918.            if (categoryId != "" && categoryId > 0) {
  7919.  
  7920.                //send ajax to know the children results
  7921.                var gcaResponseArray = [];
  7922.  
  7923.                $.ajax({
  7924.                    url: "/wapi/widget",
  7925.                    type: "GET",
  7926.                    dataType: "json",
  7927.                    data: {
  7928.                        "request_type": "GET",
  7929.                        "widget_name": "Bootstrap - Contact Member Category Dropdowns",
  7930.                        "header_type": "json",
  7931.                        "user_id": userId,
  7932.                        "scope": currentLevel,
  7933.                        "category_id": categoryId,
  7934.                        "select_action": "find_children_cat"
  7935.                    },
  7936.                    success: function (data) {
  7937.                        gcaResponseArray.push(data);
  7938.                    },
  7939.                    error: function (data) {
  7940.                        console.log("error");
  7941.                        console.log(data);
  7942.                    }
  7943.                });
  7944.                var gcaInter = setInterval(function () {
  7945.  
  7946.                    if (gcaResponseArray.length == 1) {
  7947.                        clearInterval(gcaInter);
  7948.                        var htmlOptions = "";
  7949.                        var defaultOptionText = 'Select from List';
  7950.                        if(defaultOptionText != ""){
  7951.                            htmlOptions += '<option value="">('+defaultOptionText+')</option>';
  7952.                        }
  7953.                        //construct the html options values
  7954.                        var newOptionsCounter = 0;
  7955.                        if(gcaResponseArray[0] !== null && gcaResponseArray[0]['cats']!=''){
  7956.                            $.each(gcaResponseArray[0]['cats'], function (key, value) {
  7957.                                key = key.replace('_', '');
  7958.                                htmlOptions += '<option value="' + key + '">' + value + '</option>';
  7959.                                newOptionsCounter++;
  7960.                            });
  7961.                            $('#' + targetSelect).html(htmlOptions);
  7962.                            $('#' + targetSelect).attr("disabled", false);
  7963.                            if (newOptionsCounter > 0) {
  7964.                                $('#' + targetSelect).select2("open");
  7965.                            }
  7966.                        }else{
  7967.                            $('#' + targetSelect).html('<option value="">No Options Available</option>');
  7968.                            $('#' + targetSelect).attr("disabled", true);
  7969.                            $("#" + targetSelect).select2("val", "");
  7970.                            if ($("#" + targetSelect).attr('data-nextselect') != "") {
  7971.                                let dataSelectNext = $("#" + targetSelect).attr('data-nextselect');
  7972.                                $('#' + dataSelectNext).html('<option value="">No Options Available</option>');
  7973.                                $('#' + dataSelectNext).attr("disabled", true);
  7974.                                $("#" + dataSelectNext).select2("val", "");
  7975.                            }
  7976.                        }
  7977.  
  7978.                    }
  7979.                }, 400);
  7980.            }
  7981.        });
  7982.        const topRequired = document.querySelector('label[for="top-id-select"] span.required');
  7983.        const subRequired = document.querySelector('label[for="sub-id-select"] span.required');
  7984.        const subSubRequired = document.querySelector('label[for="sub-sub-id-select"] span.required');
  7985.        //code to check that the categories have been submitted if the settings are enabled
  7986.        $('#'+uniqueForm).submit(function (e) {
  7987.            let topRequiredVal = document.getElementById('top-id-select');
  7988.            let subRequiredVal = document.getElementById('sub-id-select');
  7989.            let subSubRequiredVal = document.getElementById('sub-sub-id-select');
  7990.            if ((topRequired !== null && topRequiredVal !== null && topRequiredVal.value == '') || (subRequired !== null && subRequiredVal !== null && subRequiredVal.value == '') || (subSubRequired !== null && subSubRequiredVal !== null && subSubRequiredVal.value == '')) {
  7991.                e.preventDefault();
  7992.                e.stopPropagation();
  7993.                e.stopImmediatePropagation();
  7994.                swal(`Whoops!`, `Please select a category to submit this request` ,"error");
  7995.            }
  7996.        });
  7997.    }
  7998. </script>                <script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/formValidation.min.js"></script>
  7999.                <script src="https://www.optimizecdn.com/directory/cdn/bootstrap/formvalidation/current/dist/js/framework/bootstrap.min.js"></script>
  8000.                <script type="text/javascript">
  8001.                    function decodeHtml(html) {
  8002.                        var txt = document.createElement("textarea");
  8003.                        txt.innerHTML = html;
  8004.                        return txt.value;
  8005.                    }
  8006.                </script>
  8007.                        <script type="text/javascript">
  8008.  
  8009.        var counterSubmit = 0;
  8010.        $(document).ready(function() {
  8011.            $(`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) {
  8012.                
  8013.                if('bootstrap_get_match' == 'unsubscribe_email'){
  8014.                    return true;
  8015.                }
  8016.                // Prevent form submission
  8017.                e.preventDefault();
  8018.                $form = $(e.target),
  8019.                fv = $form.data('formValidation');
  8020.                var values = $(this).serialize();
  8021.  
  8022.                
  8023.                var locationFieldCorrect = true;
  8024.  
  8025.                if($("#bootstrap_get_match_255 .location_required").length > 0){
  8026.                    $("#bootstrap_get_match_255 .location_required").each(function (index) {
  8027.                        if($(this).data('state') == 1){
  8028.                            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() == "") {
  8029.                                locationFieldCorrect = false;
  8030.                            }
  8031.                        }
  8032.                    });
  8033.                }
  8034.  
  8035.                if(locationFieldCorrect === false){
  8036.                    //check that there is a latitude or longitude
  8037.                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
  8038.                    return false;
  8039.                }
  8040.                        
  8041.  
  8042.                if (!$(this).attr("action")) {
  8043.                    var action = '';
  8044.  
  8045.                } else {
  8046.                    var action = $(this).attr("action");
  8047.                }
  8048.                if (!$(this).attr("method")) {
  8049.                    var method = 'post';
  8050.  
  8051.                } else {
  8052.                    var method = $(this).attr("method");
  8053.                }
  8054.                if (!$(this).attr("form_action_type")) {
  8055.                    var form_action_type = 'notification';
  8056.  
  8057.                } else {
  8058.                    var form_action_type = $(this).attr("form_action_type");
  8059.                }
  8060.                if (!$(this).attr("form_action_div")) {
  8061.                    var form_action_div = '#first_container';
  8062.  
  8063.                } else {
  8064.                    var form_action_div = $(this).attr("form_action_div");
  8065.                }
  8066.                if (!$(this).attr("return_data_type")) {
  8067.                    var return_data_type = 'json';
  8068.  
  8069.                } else {
  8070.                    var return_data_type = $(this).attr("return_data_type");
  8071.                }
  8072.                if ($("#bootstrap_get_match_255-notification").html() != "") {
  8073.                    $("#bootstrap_get_match_255-notification").remove();
  8074.                }
  8075.                if ($(this).find('input[type="submit"]').length > 0) {
  8076.                    $(this).find('input[type="submit"]').before('<div id="bootstrap_get_match_255-notification" class="alert"></div>');
  8077.  
  8078.                } else {
  8079.                    $(this).prepend('<div id="bootstrap_get_match_255-notification" class="alert"></div>');
  8080.                }
  8081.                var notification = $("#bootstrap_get_match_255-notification");
  8082.  
  8083.                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
  8084.                    notification.html(`Processing Request...`).addClass("alert-warning");
  8085.                    setTimeout(function(){
  8086.                        fv.defaultSubmit();
  8087.                    }, 100);
  8088.                } else {
  8089.                    notification.html(`Processing Request...`).addClass("alert-warning");
  8090.                    if(counterSubmit == 0) {
  8091.                        counterSubmit++;
  8092.  
  8093.                        var fields      = $(this).serializeArray();
  8094.                        var formField   = [];
  8095.                        var processData = true;
  8096.                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
  8097.                        
  8098.                        
  8099.  
  8100.                        if($("#bootstrap_get_match_255 input[type=file]").length > 0){
  8101.                            
  8102.                            var formObject  = new FormData();
  8103.                            processData     = false;
  8104.                            contentType     = false;
  8105.  
  8106.                            $(fields).each(function(index,field){
  8107.                                formField.push(field.name+"="+field.value);
  8108.                            });
  8109.  
  8110.                            values  = formField.join("&");
  8111.  
  8112.                            $(formField).each(function(index,fieldValue){
  8113.                                var fieldInfo = fieldValue.split('=');
  8114.                                formObject.append(fieldInfo[0],fieldInfo[1]);
  8115.                            });
  8116.  
  8117.                            $("#bootstrap_get_match_255 input[type=file]").each(function(index,node){
  8118.                                var file = this.files[0];
  8119.                                if(typeof file != "undefined"){
  8120.                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
  8121.                                }
  8122.                            });
  8123.                        }else{
  8124.                            
  8125.                            $(fields).each(function(index,field){
  8126.                                formField.push(field.name+"="+encodeURIComponent(field.value));
  8127.                            });
  8128.  
  8129.                            var formObject  = formField.join("&");
  8130.                        }
  8131.                        
  8132.                        $.ajax({
  8133.                            url: action,
  8134.                            type: method,
  8135.                            data: formObject,
  8136.                            dataType: return_data_type,
  8137.                            processData: processData,
  8138.                            contentType: contentType,
  8139.                            success: function (data) {
  8140.                                if (return_data_type == "html") {
  8141.                                    var result = 'success';
  8142.  
  8143.                                    if (!data != "") {
  8144.                                        var result_widget = data['result_widget'];
  8145.                                    }
  8146.  
  8147.                                } else {
  8148.  
  8149.  
  8150.                                    if (!data['result']) {
  8151.                                        var result = 'error';
  8152.                                    } else {
  8153.                                        var result = data['result'];
  8154.                                    }
  8155.                                    if (!data['result_widget']) {
  8156.                                        var result_widget = '';
  8157.  
  8158.                                    } else {
  8159.                                        var result_widget = data['result_widget'];
  8160.                                    }
  8161.                                }
  8162.                                if (result == "success") {
  8163.  
  8164.                                    if (!data['message']) {
  8165.                                        var message = `Your information has submitted successfully!`;
  8166.  
  8167.                                    } else {
  8168.                                        var message = data['message'];
  8169.                                    }
  8170.                                    if (!data['redirect_url']) {
  8171.                                        var redirect_url = '';
  8172.  
  8173.                                    } else {
  8174.                                        var redirect_url = data['redirect_url'];
  8175.                                    }
  8176.  
  8177.  
  8178.  
  8179.                                    if (form_action_type == "notification") {
  8180.                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
  8181.                                            .addClass('alert-dismissible')
  8182.                                            .addClass("alert-success")
  8183.                                            .removeClass("alert-danger")
  8184.                                            .removeClass("alert-warning")
  8185.                                        
  8186.                                            
  8187.  
  8188.                                        if(notification.parents('.modal').length && 'bootstrap_get_match_255' == 'whmcs_billing_address'){
  8189.                                            setTimeout(function(){
  8190.                                                notification.parents('.modal').modal('hide');
  8191.                                            }, 1000);
  8192.                                        }
  8193.  
  8194.                                    } else if (form_action_type == "widget") {
  8195.  
  8196.                                        if (result_widget != '') {
  8197.  
  8198.                                            setTimeout(function(){
  8199.                                                if(form_action_div != '.newsletter_modal_form_container'){
  8200.                                                    $("html, body").animate({ scrollTop: 0 }, 600);
  8201.                                                }                                                
  8202.                                                $(form_action_div).html(decodeHtml(result_widget)).text();
  8203.  
  8204.                                            }, 1000);
  8205.                                        }
  8206.  
  8207.                                    } else if (form_action_type == "redirect") {
  8208.  
  8209.                                        if (redirect_url == "") {
  8210.                                            redirect_url = decodeURIComponent("");
  8211.                                        }
  8212.  
  8213.                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
  8214.                                            redirect_url = "/" + redirect_url;
  8215.                                        }
  8216.                                        current_location = "/england/colchester/professional-services/colchester-window-and-door-repairs";
  8217.                                        refresh_pages_string = "/login";
  8218.                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
  8219.                                        refresh_pages_array = refresh_pages_string.split(',');
  8220.                                        notification.html(message)
  8221.                                            .addClass("alert-success")
  8222.                                            .removeClass("alert-danger")
  8223.                                            .removeClass("alert-warning")
  8224.                                            .delay(2000).slideUp();
  8225.                                            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" )){
  8226.                                                                                                    window.location.href = window.location.href+'?logged';
  8227.                                                                                            } else {
  8228.                                                window.location.href = redirect_url;
  8229.                                            }
  8230.  
  8231.                                        fv.resetForm(true);
  8232.                                    }
  8233.                                    if(form_action_div != '.newsletter_modal_form_container' && 'bootstrap_get_match_255' != 'whmcs_billing_address'){
  8234.                                        $('.modal-backdrop').hide();
  8235.                                    }
  8236.                                } else {
  8237.                                    if(typeof grecaptcha !== "undefined"){
  8238.                                        grecaptcha.reset();
  8239.                                    }
  8240.                                    if (!data['message']) {
  8241.                                        var message = `You entered invalid data. Please try to save again.`;
  8242.  
  8243.                                    } else {
  8244.                                        var message = data['message'];
  8245.                                    }
  8246.                                    $("#bootstrap_get_match_255-notification").html(message)
  8247.                                        .addClass("alert-danger")
  8248.                                        .removeClass("alert-success")
  8249.                                        .removeClass("alert-warning")
  8250.                                        .fadeIn();
  8251.                                    fv.disableSubmitButtons(false);
  8252.                                }
  8253.                                counterSubmit = 0;
  8254.                            },
  8255.                            error: function (e) {
  8256.                                
  8257.                                if(typeof grecaptcha !== "undefined"){
  8258.                                        grecaptcha.reset();
  8259.                                        $("#bootstrap_get_match_255-notification").html(`Recaptcha Error`);
  8260.                                } else {
  8261.                                    $("#bootstrap_get_match_255-notification").html(`A connection error occurred while saving. Please try to save again.`);
  8262.                                }
  8263.                                $("#bootstrap_get_match_255-notification").addClass("alert-warning")
  8264.                                    .removeClass("alert-success")
  8265.                                    .removeClass("alert-warning")
  8266.                                    .fadeIn();
  8267.                                counterSubmit = 0;
  8268.                            }
  8269.                        });/// End Ajax
  8270.                    }
  8271.                }//END else
  8272.            }).bind('keydown', function(event) {
  8273.  
  8274.                if (event.ctrlKey || event.metaKey) {
  8275.  
  8276.                    switch (String.fromCharCode(event.which).toLowerCase()) {
  8277.  
  8278.                        case 's':
  8279.                            $(this).submit();
  8280.                            break;
  8281.                    }
  8282.                }
  8283.            });
  8284.  
  8285.            /// This will turn any select2 that are required in the form builder to being required elements.
  8286.            $('#bootstrap_get_match_255 select').each(function (i, obj) {
  8287.                setTimeout(function(){
  8288.                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
  8289.                        $(obj).css("z-index","-999");
  8290.                        $(obj).css("height","0");
  8291.                        $(obj).css("width","0");
  8292.                        $(obj).css("display","block");  
  8293.                        $(obj).css("position","absolute");  
  8294.                    }
  8295.                }, 3000);
  8296.            });
  8297.  
  8298.        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
  8299.    </script>
  8300.        <script>
  8301.    function showFBShare() {
  8302.        let currentURL = document.querySelector('meta[property="og:url"]').content;
  8303.        window.open(`https://www.facebook.com/sharer/sharer.php?u=${currentURL}`, `pop`, `width=600, height=400, scrollbars=no`);
  8304.    }
  8305. </script>
  8306. <script>
  8307.    var delayInMilliseconds = 300;
  8308.    if (!sessionStorage.getItem("googleTranslate") == 1) {
  8309.        sessionStorage.setItem("googleTranslate", "1");
  8310.        delayInMilliseconds = 7000;
  8311.    }
  8312.    let fbBtn = document.getElementsByClassName('fb-share-button')[0];
  8313.    if(typeof fbBtn != 'undefined' && fbBtn.dataset.layout){
  8314.        if (typeof loadFBjs == 'function') {
  8315.            loadFBjs(delayInMilliseconds);
  8316.        }
  8317.    }
  8318.  
  8319.    setTimeout(function() {
  8320.        $.when(
  8321.            $.getScript( "//platform.twitter.com/widgets.js" ),            $.getScript( "https://platform.linkedin.com/in.js?lang=en-US" ),
  8322.            $.Deferred(function( deferred ){
  8323.                $( deferred.resolve );
  8324.            })
  8325.        ).done(function(){
  8326.            $( ".spin_remove_2" ).hide();
  8327.            $( ".fb-share-button" ).show();
  8328.        });
  8329.    }, delayInMilliseconds);
  8330. </script><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  8331. <!-- Adsense 0001 -->
  8332. <ins class="adsbygoogle"
  8333.     style="display:block"
  8334.     data-ad-client="ca-pub-8264287386440187"
  8335.     data-ad-slot="6198681359"
  8336.     data-ad-format="auto"></ins>
  8337. <script>
  8338. (adsbygoogle = window.adsbygoogle || []).push({});
  8339. </script>        <script type="text/javascript">
  8340.  
  8341.        var counterSubmit = 0;
  8342.        $(document).ready(function() {
  8343.            $(`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) {
  8344.                
  8345.                if('member_login' == 'unsubscribe_email'){
  8346.                    return true;
  8347.                }
  8348.                // Prevent form submission
  8349.                e.preventDefault();
  8350.                $form = $(e.target),
  8351.                fv = $form.data('formValidation');
  8352.                var values = $(this).serialize();
  8353.  
  8354.                
  8355.                var locationFieldCorrect = true;
  8356.  
  8357.                if($("#member_login_190 .location_required").length > 0){
  8358.                    $("#member_login_190 .location_required").each(function (index) {
  8359.                        if($(this).data('state') == 1){
  8360.                            if($('#member_login_190 input[name="lead_location"]').val() == "" || $('#member_login_190 input[name="lat"]').val() == "" || $('#member_login_190 input[name="lng"]').val() == "") {
  8361.                                locationFieldCorrect = false;
  8362.                            }
  8363.                        }
  8364.                    });
  8365.                }
  8366.  
  8367.                if(locationFieldCorrect === false){
  8368.                    //check that there is a latitude or longitude
  8369.                    swal(`Whoops!`, `The location information is required to submit this form`, "error");
  8370.                    return false;
  8371.                }
  8372.                        
  8373.  
  8374.                if (!$(this).attr("action")) {
  8375.                    var action = '';
  8376.  
  8377.                } else {
  8378.                    var action = $(this).attr("action");
  8379.                }
  8380.                if (!$(this).attr("method")) {
  8381.                    var method = 'post';
  8382.  
  8383.                } else {
  8384.                    var method = $(this).attr("method");
  8385.                }
  8386.                if (!$(this).attr("form_action_type")) {
  8387.                    var form_action_type = 'notification';
  8388.  
  8389.                } else {
  8390.                    var form_action_type = $(this).attr("form_action_type");
  8391.                }
  8392.                if (!$(this).attr("form_action_div")) {
  8393.                    var form_action_div = '#first_container';
  8394.  
  8395.                } else {
  8396.                    var form_action_div = $(this).attr("form_action_div");
  8397.                }
  8398.                if (!$(this).attr("return_data_type")) {
  8399.                    var return_data_type = 'json';
  8400.  
  8401.                } else {
  8402.                    var return_data_type = $(this).attr("return_data_type");
  8403.                }
  8404.                if ($("#member_login_190-notification").html() != "") {
  8405.                    $("#member_login_190-notification").remove();
  8406.                }
  8407.                if ($(this).find('input[type="submit"]').length > 0) {
  8408.                    $(this).find('input[type="submit"]').before('<div id="member_login_190-notification" class="alert"></div>');
  8409.  
  8410.                } else {
  8411.                    $(this).prepend('<div id="member_login_190-notification" class="alert"></div>');
  8412.                }
  8413.                var notification = $("#member_login_190-notification");
  8414.  
  8415.                if ((form_action_type == "" || form_action_type == "default") && action.indexOf("account") >= 0) {
  8416.                    notification.html(`Processing Request...`).addClass("alert-warning");
  8417.                    setTimeout(function(){
  8418.                        fv.defaultSubmit();
  8419.                    }, 100);
  8420.                } else {
  8421.                    notification.html(`Processing Request...`).addClass("alert-warning");
  8422.                    if(counterSubmit == 0) {
  8423.                        counterSubmit++;
  8424.  
  8425.                        var fields      = $(this).serializeArray();
  8426.                        var formField   = [];
  8427.                        var processData = true;
  8428.                        var contentType = "application/x-www-form-urlencoded; charset=UTF-8";
  8429.                        
  8430.                        
  8431.  
  8432.                        if($("#member_login_190 input[type=file]").length > 0){
  8433.                            
  8434.                            var formObject  = new FormData();
  8435.                            processData     = false;
  8436.                            contentType     = false;
  8437.  
  8438.                            $(fields).each(function(index,field){
  8439.                                formField.push(field.name+"="+field.value);
  8440.                            });
  8441.  
  8442.                            values  = formField.join("&");
  8443.  
  8444.                            $(formField).each(function(index,fieldValue){
  8445.                                var fieldInfo = fieldValue.split('=');
  8446.                                formObject.append(fieldInfo[0],fieldInfo[1]);
  8447.                            });
  8448.  
  8449.                            $("#member_login_190 input[type=file]").each(function(index,node){
  8450.                                var file = this.files[0];
  8451.                                if(typeof file != "undefined"){
  8452.                                    formObject.append("file_addon["+$(node).attr('name')+"]", file, file.name);
  8453.                                }
  8454.                            });
  8455.                        }else{
  8456.                            
  8457.                            $(fields).each(function(index,field){
  8458.                                formField.push(field.name+"="+encodeURIComponent(field.value));
  8459.                            });
  8460.  
  8461.                            var formObject  = formField.join("&");
  8462.                        }
  8463.                        
  8464.                        $.ajax({
  8465.                            url: action,
  8466.                            type: method,
  8467.                            data: formObject,
  8468.                            dataType: return_data_type,
  8469.                            processData: processData,
  8470.                            contentType: contentType,
  8471.                            success: function (data) {
  8472.                                if (return_data_type == "html") {
  8473.                                    var result = 'success';
  8474.  
  8475.                                    if (!data != "") {
  8476.                                        var result_widget = data['result_widget'];
  8477.                                    }
  8478.  
  8479.                                } else {
  8480.  
  8481.  
  8482.                                    if (!data['result']) {
  8483.                                        var result = 'error';
  8484.                                    } else {
  8485.                                        var result = data['result'];
  8486.                                    }
  8487.                                    if (!data['result_widget']) {
  8488.                                        var result_widget = '';
  8489.  
  8490.                                    } else {
  8491.                                        var result_widget = data['result_widget'];
  8492.                                    }
  8493.                                }
  8494.                                if (result == "success") {
  8495.  
  8496.                                    if (!data['message']) {
  8497.                                        var message = `Your information has submitted successfully!`;
  8498.  
  8499.                                    } else {
  8500.                                        var message = data['message'];
  8501.                                    }
  8502.                                    if (!data['redirect_url']) {
  8503.                                        var redirect_url = '';
  8504.  
  8505.                                    } else {
  8506.                                        var redirect_url = data['redirect_url'];
  8507.                                    }
  8508.  
  8509.  
  8510.  
  8511.                                    if (form_action_type == "notification") {
  8512.                                        notification.html(message + '<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>')
  8513.                                            .addClass('alert-dismissible')
  8514.                                            .addClass("alert-success")
  8515.                                            .removeClass("alert-danger")
  8516.                                            .removeClass("alert-warning")
  8517.                                        
  8518.                                            
  8519.  
  8520.                                        if(notification.parents('.modal').length && 'member_login_190' == 'whmcs_billing_address'){
  8521.                                            setTimeout(function(){
  8522.                                                notification.parents('.modal').modal('hide');
  8523.                                            }, 1000);
  8524.                                        }
  8525.  
  8526.                                    } else if (form_action_type == "widget") {
  8527.  
  8528.                                        if (result_widget != '') {
  8529.  
  8530.                                            setTimeout(function(){
  8531.                                                if(form_action_div != '.newsletter_modal_form_container'){
  8532.                                                    $("html, body").animate({ scrollTop: 0 }, 600);
  8533.                                                }                                                
  8534.                                                $(form_action_div).html(decodeHtml(result_widget)).text();
  8535.  
  8536.                                            }, 1000);
  8537.                                        }
  8538.  
  8539.                                    } else if (form_action_type == "redirect") {
  8540.  
  8541.                                        if (redirect_url == "") {
  8542.                                            redirect_url = decodeURIComponent("");
  8543.                                        }
  8544.  
  8545.                                        if (redirect_url.substring(0, 1) != "/" && redirect_url.substring(0, 1) != "h") {
  8546.                                            redirect_url = "/" + redirect_url;
  8547.                                        }
  8548.                                        current_location = "/england/colchester/professional-services/colchester-window-and-door-repairs";
  8549.                                        refresh_pages_string = "/login";
  8550.                                        refresh_pages_string = refresh_pages_string.replace(/ /g,'');
  8551.                                        refresh_pages_array = refresh_pages_string.split(',');
  8552.                                        notification.html(message)
  8553.                                            .addClass("alert-success")
  8554.                                            .removeClass("alert-danger")
  8555.                                            .removeClass("alert-warning")
  8556.                                            .delay(2000).slideUp();
  8557.                                            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" )){
  8558.                                                                                                    window.location.href = window.location.href+'?logged';
  8559.                                                                                            } else {
  8560.                                                window.location.href = redirect_url;
  8561.                                            }
  8562.  
  8563.                                        fv.resetForm(true);
  8564.                                    }
  8565.                                    if(form_action_div != '.newsletter_modal_form_container' && 'member_login_190' != 'whmcs_billing_address'){
  8566.                                        $('.modal-backdrop').hide();
  8567.                                    }
  8568.                                } else {
  8569.                                    if(typeof grecaptcha !== "undefined"){
  8570.                                        grecaptcha.reset();
  8571.                                    }
  8572.                                    if (!data['message']) {
  8573.                                        var message = `You entered invalid data. Please try to save again.`;
  8574.  
  8575.                                    } else {
  8576.                                        var message = data['message'];
  8577.                                    }
  8578.                                    $("#member_login_190-notification").html(message)
  8579.                                        .addClass("alert-danger")
  8580.                                        .removeClass("alert-success")
  8581.                                        .removeClass("alert-warning")
  8582.                                        .fadeIn();
  8583.                                    fv.disableSubmitButtons(false);
  8584.                                }
  8585.                                counterSubmit = 0;
  8586.                            },
  8587.                            error: function (e) {
  8588.                                
  8589.                                if(typeof grecaptcha !== "undefined"){
  8590.                                        grecaptcha.reset();
  8591.                                        $("#member_login_190-notification").html(`Recaptcha Error`);
  8592.                                } else {
  8593.                                    $("#member_login_190-notification").html(`A connection error occurred while saving. Please try to save again.`);
  8594.                                }
  8595.                                $("#member_login_190-notification").addClass("alert-warning")
  8596.                                    .removeClass("alert-success")
  8597.                                    .removeClass("alert-warning")
  8598.                                    .fadeIn();
  8599.                                counterSubmit = 0;
  8600.                            }
  8601.                        });/// End Ajax
  8602.                    }
  8603.                }//END else
  8604.            }).bind('keydown', function(event) {
  8605.  
  8606.                if (event.ctrlKey || event.metaKey) {
  8607.  
  8608.                    switch (String.fromCharCode(event.which).toLowerCase()) {
  8609.  
  8610.                        case 's':
  8611.                            $(this).submit();
  8612.                            break;
  8613.                    }
  8614.                }
  8615.            });
  8616.  
  8617.            /// This will turn any select2 that are required in the form builder to being required elements.
  8618.            $('#member_login_190 select').each(function (i, obj) {
  8619.                setTimeout(function(){
  8620.                    if ($(obj).prop("required") && $(obj).attr("style") == "display: none;") {
  8621.                        $(obj).css("z-index","-999");
  8622.                        $(obj).css("height","0");
  8623.                        $(obj).css("width","0");
  8624.                        $(obj).css("display","block");  
  8625.                        $(obj).css("position","absolute");  
  8626.                    }
  8627.                }, 3000);
  8628.            });
  8629.  
  8630.        });//END $('# echo $_SERVER[form_element_id]; ').formValidation(
  8631.    </script>
  8632.            <script>
  8633.        window.addEventListener('load', (event) => {
  8634.            setTimeout(() => {
  8635.                    }, 501);
  8636.        });
  8637.    </script>
  8638. <script>
  8639. function decision(message, url) {
  8640. if (confirm(message)) {
  8641. setTimeout(function () {
  8642. window.location = url;
  8643. }, 0);
  8644. }
  8645. }
  8646. </script>
  8647. <script>
  8648. // Function to add alt, width, and height attributes to <img> elements without them
  8649. function addAttributesToImages() {
  8650. var images = document.querySelectorAll('img:not([alt]), img:not([width]), img:not([height])');
  8651. Array.prototype.forEach.call(images, function(img) {
  8652. // Add alt attribute if missing
  8653. if (!img.hasAttribute('alt')) {
  8654. var src = img.getAttribute('src') || 'image';  // Default src to 'image' if missing
  8655. var altText = src.split('/').pop().split('?')[0].replace(/\.\w+$/, '');
  8656.  
  8657. try {
  8658. altText = decodeURIComponent(altText)
  8659. .replace(/[_\-+,.:;]+/g, ' ')
  8660. .replace(/\s+/g, ' ')
  8661. .trim();
  8662. } catch (e) {
  8663. altText = 'image';  // Fallback to 'image' if decoding fails
  8664. }
  8665.  
  8666. // Ensure altText is not empty, otherwise use 'image'
  8667. altText = altText || 'image';
  8668.  
  8669. img.setAttribute('alt', altText);
  8670. }
  8671.  
  8672. // Add width and height attributes if missing
  8673. if (!img.hasAttribute('width') || !img.hasAttribute('height')) {
  8674. // Handle SVG differently
  8675. if (img.src.endsWith('.svg')) {
  8676. // For SVG, use the viewBox to set width and height, if available
  8677. fetch(img.src)
  8678. .then(response => response.text())
  8679. .then(svgText => {
  8680. var parser = new DOMParser();
  8681. var svgDoc = parser.parseFromString(svgText, "image/svg+xml");
  8682. var svgElement = svgDoc.querySelector('svg');
  8683. if (svgElement) {
  8684. var viewBox = svgElement.getAttribute('viewBox');
  8685. if (viewBox) {
  8686. var viewBoxValues = viewBox.split(' ');
  8687. var width = viewBoxValues[2];
  8688. var height = viewBoxValues[3];
  8689.  
  8690. if (!img.hasAttribute('width')) {
  8691. img.setAttribute('width', width);
  8692. }
  8693. if (!img.hasAttribute('height')) {
  8694. img.setAttribute('height', height);
  8695. }
  8696. }
  8697. }
  8698. });
  8699. } else {
  8700. // For non-SVG images, use natural dimensions
  8701. var tempImg = new Image();
  8702. tempImg.src = img.src;
  8703. tempImg.onload = function() {
  8704. if (!img.hasAttribute('width')) {
  8705. img.setAttribute('width', tempImg.naturalWidth);
  8706. }
  8707. if (!img.hasAttribute('height')) {
  8708. img.setAttribute('height', tempImg.naturalHeight);
  8709. }
  8710. };
  8711. }
  8712. }
  8713. });
  8714. }
  8715.  
  8716. document.addEventListener('DOMContentLoaded', function() {
  8717. // Run the function initially to catch images already in the DOM
  8718. addAttributesToImages();
  8719.  
  8720. // Create a MutationObserver to monitor the DOM for added/changed images
  8721. var observer = new MutationObserver(function(mutations) {
  8722. mutations.forEach(function(mutation) {
  8723. if (mutation.addedNodes.length > 0 || mutation.type === 'attributes') {
  8724. addAttributesToImages();  // Add alt, width, and height attributes to any newly added or modified images
  8725. }
  8726. });
  8727. });
  8728.  
  8729. // Start observing the document body for changes
  8730. observer.observe(document.body, {
  8731. childList: true, // Watch for added or removed nodes
  8732. subtree: true, // Watch the entire subtree
  8733. attributes: true, // Watch for attribute changes
  8734. attributeFilter: ['src'] // Specifically watch for changes in the 'src' attribute
  8735. });
  8736. });
  8737. </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] {
  8738.    cursor: wait
  8739. }
  8740. select.select2-preload {
  8741.    line-height: initial;
  8742. }
  8743.  
  8744. select#sid, select#tid, select#ttid, select.combobox, select#bd-chained, select#category-chained, select.infinite-chained, select.subcategory-chained, select.search-chained, select#country-chained, select#state-chained, select#country-chained-2, select#state-chained-2, select#profession_id, [name^="bd_phone_country_code"] {
  8745.    -webkit-appearance: none;
  8746.    -moz-appearance: none;
  8747.    appearance: none;
  8748.    background-image: url(/images/select2ArrowDown.png) !important;
  8749.    background-repeat: no-repeat !important;
  8750.    background-size: 10px 9px !important;
  8751.    background-position: 99% 16px;
  8752.    border-radius: 6px;
  8753.    overflow: hidden;
  8754. }
  8755. .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"] {
  8756.    background-position: 98.2% 12px;
  8757. } </style>    <!-- DROPDOWN SELECT SCRIPT -->
  8758.    <!-- Select2 CSS Included in website-styles.pkgd.min.css -->
  8759.    <!--[if lt IE 9]>
  8760.    <script defer src="https://www.optimizecdn.com/directory/cdn/assets/html5shiv/3.7.2/html5shiv.min.js"></script>
  8761.    <script defer src="https://www.optimizecdn.com/directory/cdn/bootstrap/select2/master/js/respond.min.js"></script>
  8762.    <![endif]-->
  8763.    <script>
  8764.  
  8765.        var preloaded_ttid  = false;
  8766.        var preloaded_tid   = false;
  8767.        var preloaded_sid   = false;
  8768.        var path            = window.location.pathname.replace(/\//g, "_");
  8769.  
  8770.        if (performance.navigation.type !== 2) {
  8771.            if (sessionStorage.getItem('select2_ttid'+path) !== null) {
  8772.                sessionStorage.removeItem('select2-ttid'+path);
  8773.            }
  8774.  
  8775.            if (sessionStorage.getItem('select2-tid'+path) !== null) {
  8776.                sessionStorage.removeItem('select2-tid'+path);
  8777.            }
  8778.  
  8779.            if (sessionStorage.getItem('select2-sid'+path) !== null) {
  8780.                sessionStorage.removeItem('select2-sid'+path);
  8781.            }
  8782.  
  8783.        }else if(performance.navigation.type === 2){
  8784.            if (sessionStorage.getItem('select2-ttid'+path) !== null) {
  8785.                preloaded_ttid = sessionStorage.getItem('select2-ttid'+path);
  8786.            }
  8787.  
  8788.            if (sessionStorage.getItem('select2-tid'+path) !== null) {
  8789.                preloaded_tid = sessionStorage.getItem('select2-tid'+path);
  8790.            }
  8791.  
  8792.            if (sessionStorage.getItem('select2-sid'+path) !== null) {
  8793.                preloaded_sid = sessionStorage.getItem('select2-sid'+path);
  8794.            }
  8795.        }
  8796.  
  8797.        window.addEventListener('load', () => {
  8798.            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"]');
  8799.            if (typeof select2Inputs != "undefined") {
  8800.                for (let i = 0; i < select2Inputs.length; i++) {
  8801.                    let inputPlaceHolder = select2Inputs[i].getAttribute('placeholder');
  8802.                    if (!select2Inputs[i].getAttribute('placeholder')) {
  8803.                        inputPlaceHolder = select2Inputs[i].getAttribute('data-placeholder');
  8804.                    }
  8805.                    let countryCode = select2Inputs[i].getAttribute('data-country-code');
  8806.                    if (select2Inputs[i].getAttribute('data-country-code') != null && countryCode > 0 && typeof isoCountries != 'undefined') {
  8807.                        for (let c = 0; c < isoCountries.length; c++) {
  8808.                            if(isoCountries[c].id == countryCode){
  8809.                                //   select2Inputs[i].querySelector('option:first-child').text = isoCountries[c].text;
  8810.                                select2Inputs[i].text = isoCountries[c].text;
  8811.                            }
  8812.                        }
  8813.  
  8814.                    }
  8815.                    if(select2Inputs[i].hasAttribute('data-country-code')){
  8816.                        inputPlaceHolder = null; //reset the input
  8817.                    }
  8818.                    if (inputPlaceHolder != '' && inputPlaceHolder !== null) {
  8819.                        select2Inputs[i].querySelector('option:first-child').text = inputPlaceHolder;
  8820.                        select2Inputs[i].style.color = "#a8a8a8";
  8821.                        if(!select2Inputs[i].querySelector('option:first-child').hasAttribute('value')){
  8822.                            select2Inputs[i].querySelector('option:first-child').value='';
  8823.                        }
  8824.                    }
  8825.                    select2Inputs[i].classList.add("select2-preload");
  8826.                    select2Inputs[i].addEventListener('mousedown', select2OnFormClick, false);
  8827.                }
  8828.            }
  8829.        });
  8830.  
  8831.        function select2OnFormClick(event = false) {
  8832.            let elemtClicked = '';
  8833.            if (event !== false) {
  8834.                event.preventDefault();
  8835.                event.stopImmediatePropagation();
  8836.                elemtClicked = event.target;
  8837.                elemtClicked.disabled = true;
  8838.            }
  8839.  
  8840.            let loadScriptAsync = function (uri) {
  8841.                return new Promise((resolve, reject) => {
  8842.                    let script = document.createElement('script');
  8843.                    script.type = 'text/javascript';
  8844.                    script.src = uri;
  8845.                    script.async = true;
  8846.                    script.onload = function () {
  8847.                        if (event !== false) {
  8848.                            elemtClicked.disabled = false;
  8849.                            select2Initialize();
  8850.                            $(elemtClicked).select2('open');
  8851.                            $(elemtClicked).on("select2-close", function () {
  8852.                                setTimeout(function() {
  8853.                                    $('.select2-container-active').removeClass('select2-container-active');
  8854.                                    $(':focus').blur();
  8855.                                }, 1);
  8856.                            });
  8857.                            if (elemtClicked.hasAttribute('data-fv-field')) {
  8858.                                if (window.getComputedStyle(elemtClicked).display === "none") {
  8859.                                    // if element is display none, the formvalition can not read
  8860.                                    elemtClicked.style.cssText = "display: block;position: absolute;visibility: hidden !important;height: 0;width: 0;opacity: 0 !important;"
  8861.                                }
  8862.                            }
  8863.                        } else {
  8864.                            select2Initialize();
  8865.                        }
  8866.                        resolve("ok");
  8867.                    };
  8868.                    let head = document.getElementsByTagName('head')[0];
  8869.                    head.appendChild(script);
  8870.                });
  8871.            }
  8872.  
  8873.            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"]');
  8874.  
  8875.            if (typeof select2Inputs != "undefined") {
  8876.                for (let i = 0; i < select2Inputs.length; i++) {
  8877.                    let inputPlaceHolder = select2Inputs[i].getAttribute('placeholder');
  8878.                    if (!select2Inputs[i].getAttribute('placeholder')) {
  8879.                        inputPlaceHolder = select2Inputs[i].getAttribute('data-placeholder');
  8880.                    }
  8881.                    if(select2Inputs[i].hasAttribute('data-country-code')){
  8882.                        inputPlaceHolder = null; //reset the input
  8883.                    }
  8884.                    if (inputPlaceHolder != '' && inputPlaceHolder !== null) {
  8885.                        select2Inputs[i].querySelector('option:first-child').text = '';
  8886.                    }
  8887.                    select2Inputs[i].removeEventListener('mousedown', select2OnFormClick, false);
  8888.                }
  8889.            }
  8890.            let scriptLoaded = loadScriptAsync('https://www.optimizecdn.com/directory/cdn/bootstrap/select2/3.5.2/select2.min.js?v=3.5.5');
  8891.            return scriptLoaded;
  8892.        }
  8893.  
  8894.        function select2Initialize(){
  8895.            function getSecondLevel(div,id) {
  8896.                $("#" + div).select2("data", {
  8897.                    id: "",
  8898.                    text: `Loading...`
  8899.                });
  8900.                $.ajax({
  8901.                    url : '/ajaxsearch/get-services',
  8902.                    type : "GET",
  8903.                    data : {
  8904.                        'specialty_id' : id
  8905.                    },
  8906.                    dataType: "json",
  8907.                    success : function(data) {
  8908.                        var options = '';
  8909.  
  8910.                        for (var i = 0; i < data.length; i++) {
  8911.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  8912.                        }
  8913.                        if (div == "tid"){
  8914.                            $("#ttid").select2("data", {
  8915.                                id: "",
  8916.                                text: "No options available"
  8917.                            });
  8918.  
  8919.  
  8920.                            $("#ttid").select2("enable", false);
  8921.  
  8922.                            $("#" + div).change(function () {
  8923.                                sessionStorage.setItem("select2-tid"+path,$(this).val());
  8924.                            });
  8925.                        }
  8926.                        if (data.length > 1) {
  8927.                            $("#" + div).select2("enable",true);
  8928.                            $("#" + div).html(options);
  8929.                            $("#" + div).select2("val", "");
  8930.                                                        $("#" + div).select2("open");
  8931.                            
  8932.                        } else {
  8933.                            $("#"+div).select2("data", {
  8934.                                id: "",
  8935.                                text: "No options available"
  8936.                            });
  8937.                            $("#"+div).select2("val", "");
  8938.                        }
  8939.  
  8940.                        if(div == 'tid' && preloaded_tid !== false){
  8941.                            $("#" + div).select2("val", preloaded_tid);
  8942.                        }
  8943.                    }
  8944.                });
  8945.            }
  8946.            function getSecondLevelAccount(div,id) {
  8947.                $("#" + div).select2("data", {
  8948.                    id: "",
  8949.                    text: `Loading...`
  8950.                });
  8951.                $.ajax({
  8952.                    url : '/ajaxsearch/get-services',
  8953.                    type : "GET",
  8954.                    data : {
  8955.                        'specialty_id' : id
  8956.                    },
  8957.                    dataType: "json",
  8958.                    success : function(data) {
  8959.                        var options = '';
  8960.  
  8961.                        for (var i = 0; i < data.length; i++) {
  8962.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  8963.                        }
  8964.                        if (data.length > 1) {
  8965.                            $("#" + div).select2("close");
  8966.                            $("#" + div).select2("val", "");
  8967.                            $("#" + div).select2("enable",true);
  8968.                            $("#" + div).html(options);
  8969.  
  8970.                            
  8971.                        } else {
  8972.                            $("#"+div).select2("data", {
  8973.                                id: "",
  8974.                                text: "No options available"
  8975.                            });
  8976.                            $("#"+div).select2("val", "");
  8977.                        }
  8978.                    }
  8979.                });
  8980.            }
  8981.            function getThirdLevel(div,id,id2) {
  8982.                $("#"+div).select2("data", {
  8983.                    id: "",
  8984.                    text: `Loading...`
  8985.                });
  8986.  
  8987.                $.ajax({
  8988.                    url : '/ajaxsearch/get-locations',
  8989.                    type : "GET",
  8990.                    data : {
  8991.                        'specialty_id' : id,
  8992.                        'treatment_id' : id2,
  8993.                    },
  8994.                    dataType: "json",
  8995.                    success : function(data) {
  8996.                        var options = '';
  8997.  
  8998.                        for (var i = 0; i < data.length; i++) {
  8999.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  9000.                        }
  9001.                        if (data.length > 1) {
  9002.                            $("#" + div).select2("enable",true);
  9003.                            $("#" + div).html(options);
  9004.                            $("#" + div).select2("val", "");
  9005.                                                        $("#" + div).select2("open");
  9006.                            
  9007.                        } else {
  9008.                            $("#"+div).select2("data", {
  9009.                                id: "",
  9010.                                text: "No options available"
  9011.                            });
  9012.                            $("#"+div).select2("val", "");
  9013.                        }
  9014.                    }
  9015.                });
  9016.            }
  9017.            var current_country = '';
  9018.            function getStateList(div,id) {
  9019.                if (id != current_country) {
  9020.  
  9021.                    $("#"+div).select2("data", {
  9022.                        id: "",
  9023.                        text: `Loading...`
  9024.                    });
  9025.                    $.ajax({
  9026.                        url : '/ajaxsearch/get-states',
  9027.                        type : "GET",
  9028.                        data : {
  9029.                            'country' : id
  9030.                        },
  9031.                        dataType: "json",
  9032.                        success : function(data) {
  9033.                            $("#" + div).html(''); // clear options
  9034.  
  9035.  
  9036.                            if (data.length > 1) {
  9037.                                var options = '';
  9038.                                for (var i = 0; i < data.length; i++) {
  9039.                                    //  options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  9040.                                    var newOption = new Option(data[i].title, data[i].value, false, false);
  9041.                                    $("#" + div).append(newOption).trigger('change');
  9042.  
  9043.                                }
  9044.  
  9045.                                $("#" + div).select2("enable",true);
  9046.                                //$("#" + div).html(options);
  9047.                                $("#" + div).prop("disabled", false);
  9048.                                $("#" + div).select2("val", "");
  9049.                                                                $("#" + div).select2("open");
  9050.                                                            }
  9051.                        }
  9052.                    });
  9053.                } else {
  9054.                    $("#" + div).select2("val", "");
  9055.                }
  9056.            }
  9057.            function getInfinityChained(div,id) {
  9058.                $("#"+div).select2("data", {
  9059.                    id: "",
  9060.                    text: `Loading...`
  9061.                });
  9062.                $.ajax({
  9063.                    url : '/ajaxsearch/get-subcategory',
  9064.                    type : "GET",
  9065.                    data : {
  9066.                        'parent' : id
  9067.                    },
  9068.                    dataType: "json",
  9069.                    success : function(data) {
  9070.                        var options = '';
  9071.  
  9072.                        for (var i = 0; i < data.length; i++) {
  9073.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  9074.                        }
  9075.                        if (data.length > 1) {
  9076.                            $("#" + div).select2("enable",true);
  9077.                            $("#" + div).html(options);
  9078.                            if(div == 'tid' && '' != ''){
  9079.                                $("#" + div).select2("val", "");
  9080.                            } else if(div == 'tid' && preloaded_tid !== false){
  9081.                                $("#" + div).select2("val", preloaded_tid);
  9082.                            }else {
  9083.                                $("#" + div).select2("val", "");
  9084.                            }
  9085.  
  9086.  
  9087.  
  9088.                                                        $("#" + div).select2("open");
  9089.                            
  9090.                        } else {
  9091.                            $("#" + div).select2("data", {
  9092.                                id: "",
  9093.                                text: "No options available"
  9094.                            });
  9095.                        }
  9096.                    }
  9097.                });
  9098.            }
  9099.            function categoryChained(div,id) {
  9100.                $("#" + div).select2("data", {
  9101.                    id: "",
  9102.                    text: `Loading...`
  9103.                });
  9104.                if(div == "tid") {
  9105.                    url_link = '/ajaxsearch/get-services'
  9106.                    data_passed = {'specialty_id' : id}
  9107.                } else {
  9108.                    url_link = '/ajaxsearch/category-list';
  9109.                    data_passed = {'parent' : id} ;
  9110.                }
  9111.  
  9112.                var selectName = $("select[next="+div+"]").prop("name");
  9113.  
  9114.  
  9115.                if( (selectName == "ttid" || selectName == "sid" || selectName == "tid") ){
  9116.  
  9117.                    sessionStorage.setItem("select2-"+selectName+path,id);
  9118.                }
  9119.  
  9120.                $.ajax({
  9121.                    url : url_link,
  9122.                    type : "GET",
  9123.                    data : data_passed,
  9124.                    dataType: "json",
  9125.                    success : function(data) {
  9126.                        var options = '';
  9127.  
  9128.                        for (var i = 0; i < data.length; i++) {
  9129.                            options += '<option value="' + data[i].value + '">' + data[i].title + '</option>';
  9130.                        }
  9131.  
  9132.                        if (data.length > 1) {
  9133.                            $("#" + div).select2("enable",true);
  9134.                            $("#" + div).html(options);
  9135.  
  9136.                            if(div == "ttid" && preloaded_ttid !== false){
  9137.                                $("#" + div).select2("val", preloaded_ttid);
  9138.                                $("#" + div).trigger('change');
  9139.                            }else if(div == "tid" && preloaded_tid !== false){
  9140.                                $("#" + div).select2("val", preloaded_tid);
  9141.                                $("#" + div).trigger('change');
  9142.                            }else{
  9143.                                $("#" + div).select2("val", "");
  9144.                            }
  9145.  
  9146.  
  9147.                                                        $("#" + div).select2("open");
  9148.                            
  9149.                        } else {
  9150.                            $("#" + div).select2("data", {
  9151.                                id: "",
  9152.                                text: "No options available"
  9153.                            });
  9154.                        }
  9155.                    }
  9156.                });
  9157.            }
  9158.            function formatCountry(country) {
  9159.                if (!country.id && country.text.includes("+")) {
  9160.                    let dataCountry = country.text;
  9161.                    dataCountry = dataCountry.split('+')
  9162.                    country.code = dataCountry[0].trim();
  9163.                    country.id = dataCountry[1].trim();
  9164.                    return country;
  9165.                } else if (!country.code) {
  9166.                    return country.text;
  9167.                }
  9168.                var $country = $(
  9169.                    '<span class="flag-icon flag-icon-' + country.code.toLowerCase() + ' flag-icon-squared"></span>' +
  9170.                    '<span class="flag-text" style="margin-left:10px;">' + country.text + '</span>'
  9171.                );
  9172.                return $country;
  9173.            }
  9174.  
  9175.            let phoneCountryCode = document.querySelector("[name^='bd_phone_country_code']");
  9176.            if (typeof phoneCountryCode != 'undefined' && phoneCountryCode != null && typeof isoCountries != 'undefined') {
  9177.                $("[name^='bd_phone_country_code']").select2({
  9178.                    placeholder:`Country`,
  9179.                    data:isoCountries,
  9180.                    searchInputPlaceholder: `Enter Country Code`,
  9181.                    formatResult : formatCountry,
  9182.                    dropdownAutoWidth: true,
  9183.                    width: "resolve",
  9184.                }).on("select2-opening", function (e) {
  9185.                    if (typeof e.currentTarget.attributes['data-default-country-code'] !== "undefined") {
  9186.                        $(this).val(e.currentTarget.attributes['data-default-country-code'].value)
  9187.                            .removeAttr("data-default-country-code")
  9188.                            .trigger('change')
  9189.                            .trigger('open');
  9190.                    }
  9191.                }).change(function (e) {
  9192.                    let select2Span = $(this).attr('id');
  9193.                    if (e.val) {
  9194.                        $('#'+$(this).attr('id')+'--flag').remove();
  9195.                        $('#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>')
  9196.                    }else{
  9197.                        $('#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>')
  9198.                    }
  9199.                    $(this).removeAttr("data-default-country-flag");
  9200.  
  9201.                });
  9202.            }
  9203.            $("#bd-chained").select2({
  9204.                title: "Select An Option",
  9205.                placeholder: "Select An Option",
  9206.                allowClear: true,
  9207.                formatNoMatches: function () {
  9208.                    return "No matches found";
  9209.                }
  9210.            }).change(function () {
  9211.                var id = $(this).val();
  9212.                $("#tid").select2("enable",false);
  9213.                getInfinityChained("tid",id);
  9214.                                $("#tid").select2("open");
  9215.                            });
  9216.            $("#category-chained").select2({
  9217.                title: "Select An Option",
  9218.                placeholder: "Select An Option",
  9219.                allowClear: true
  9220.            }).change(function () {
  9221.                var id = $(this).val();
  9222.                $("#subcategory-chained").select2("enable",false);
  9223.                categoryChained("subcategory-chained",id);
  9224.                                $("#subcategory-chained").select2("open");
  9225.                            });
  9226.  
  9227.            $(".select-category-chained").select2({
  9228.                title: "Select An Option",
  9229.                placeholder: "Select An Option",
  9230.                allowClear: true
  9231.            })
  9232.            $(".infinite-chained").select2({
  9233.                title: "Select option from list",
  9234.                placeholder: "Click to select an option",
  9235.                allowClear: true,
  9236.                formatNoMatches: function () {
  9237.                    return "No matches found";
  9238.                }
  9239.            }).change(function () {
  9240.                var id          = $(this).val();
  9241.                var attr        = $(this).attr('next');
  9242.                var selectName  = $(this).prop('name');
  9243.                if ( selectName=='ttid' || attr =='ttid' ) {
  9244.                    $("#" + attr).select2("enable",false);
  9245.                    categoryChained(attr,id);
  9246.                                        $("#" + attr).select2("open");
  9247.                                        sessionStorage.setItem("select2-"+selectName+path,id);
  9248.                }
  9249.            }).on("select2-close", function () {
  9250.                setTimeout(function() {
  9251.                    $('.select2-container-active').removeClass('select2-container-active');
  9252.                    $(':focus').blur();
  9253.                }, 1);
  9254.            });
  9255.            $("#subcategory-chained").select2();
  9256.            $(".combobox").select2();
  9257.            $(".search-chained").select2();
  9258.  
  9259.            $("select#country-chained").select2({
  9260.                title: "",
  9261.                placeholder: "",
  9262.                val: "",
  9263.                allowClear: true,
  9264.                formatNoMatches: function () {
  9265.                    return "No matches found";
  9266.                }
  9267.            }).change(function () {
  9268.                var id = $(this).val();
  9269.                $("#state-chained").select2("enable",false);
  9270.                getStateList("state-chained",id);
  9271.                var state = "";
  9272.  
  9273.                if (id == "CA") {
  9274.                    state = "Province";
  9275.  
  9276.                } else if (id == "UK") {
  9277.                    state = "Region";
  9278.  
  9279.                } else if (id == "US" || id == "AU") {
  9280.                    state = "State";
  9281.  
  9282.                } else {
  9283.                    state = "Region";
  9284.                }
  9285.                $("#state-chained").prev(".control-label").text(state);
  9286.            });
  9287.            $("#state-chained").select2();
  9288.  
  9289.            $("#state-chained").on("select2-open", function(event) {
  9290.                event.preventDefault();
  9291.                var id = $("#country-chained").val();
  9292.                var count = $('#state-chained option').length;
  9293.  
  9294.                if (id != "" && count < 2) {
  9295.                    $("#state-chained").select2("enable",false);
  9296.                    getStateList("state-chained",id);
  9297.                    var state = "";
  9298.  
  9299.                    if (id == "CA") {
  9300.                        state = "Province";
  9301.  
  9302.                    } else if (id == "UK") {
  9303.                        state = "Region";
  9304.  
  9305.                    } else if (id == "US" || id == "AU") {
  9306.                        state = "State";
  9307.  
  9308.                    } else {
  9309.                        state = "Region";
  9310.                    }
  9311.                    $("#state-chained").prev(".control-label").text(state);
  9312.                }
  9313.            });
  9314.  
  9315.            $("#country-chained-2").select2({
  9316.                title: "Select Country",
  9317.                placeholder: "(select country)",
  9318.                val: "",
  9319.                allowClear: true,
  9320.                formatNoMatches: function () {
  9321.                    return "No matches found";
  9322.                }
  9323.            }).change(function () {
  9324.                var id = $(this).val();
  9325.                $("#state-chained-2").select2("enable",false);
  9326.                getStateList("state-chained-2",id);
  9327.                var state = "";
  9328.  
  9329.                if (id == "CA") {
  9330.                    state = "Province";
  9331.  
  9332.                } else if (id == "UK") {
  9333.                    state = "Region";
  9334.  
  9335.                } else if (id == "US" || id == "AU") {
  9336.                    state = "State";
  9337.  
  9338.                } else {
  9339.                    state = "Region";
  9340.                }
  9341.                $("#state-chained-2").prev(".control-label").text(state);
  9342.            });
  9343.  
  9344.            $("#state-chained-2").select2();
  9345.            $("#profession_id").select2({
  9346.                placeholder: "Select From List",
  9347.                allowClear: true,
  9348.                formatNoMatches: function () {
  9349.                    return "No matches found";
  9350.                }
  9351.            }).change(function () {
  9352.                var id = $(this).val();
  9353.                getSecondLevelAccount("category_id",id);
  9354.                                $("#category_id").select2("open");
  9355.                            });
  9356.                        $("#sid").select2({
  9357.                title: "Select An Option",
  9358.                placeholder: "Select An Option",
  9359.                allowClear: true,
  9360.                formatNoMatches: function () {
  9361.                    return "No matches found";
  9362.                }
  9363.            }).change(function () {
  9364.                var id = $(this).val();
  9365.                $("#tid").select2("enable",false);
  9366.                getSecondLevel("tid",id);
  9367.                $("#tid").select2("open");
  9368.                sessionStorage.setItem("select2-sid"+path,id);
  9369.            });
  9370.            $("#location_value_dropdown").select2({
  9371.                title: "(optional)",
  9372.                placeholder: "(optional)",
  9373.                allowClear: true,
  9374.                formatNoMatches: function () {
  9375.                    return "No matches found";
  9376.                }
  9377.            });
  9378.            $("#tid").select2({
  9379.                title: "Select An Option",
  9380.                placeholder: "Select An Option",
  9381.                allowClear: true,
  9382.                formatNoMatches: function () {
  9383.                    return "No matches found";
  9384.                }
  9385.                            });
  9386.            $("#location_value_dropdown").select2({
  9387.                title: "(optional)",
  9388.                placeholder: "(optional)",
  9389.                allowClear: true
  9390.            });
  9391.        }
  9392.  
  9393.        if(preloaded_ttid !== false || preloaded_tid !== false || preloaded_sid !== false){
  9394.            $(document).ready(function(){
  9395.                if(preloaded_sid !== false && $("#sid").length > 0){
  9396.                    select2OnFormClick();
  9397.                    setTimeout(() => {
  9398.                        $("#sid").select2('val', preloaded_sid);
  9399.                        $('#sid').trigger('change');
  9400.                    }, 500);
  9401.                }else if(preloaded_tid !== false && $("#sid").length <= 0){
  9402.                    select2OnFormClick();
  9403.                    setTimeout(() => {
  9404.                        $("#tid").select2('val', preloaded_tid);
  9405.                        $('#tid').trigger('change');
  9406.                    }, 500);
  9407.                }
  9408.            });
  9409.        }
  9410.    </script>
  9411. <script>
  9412.    // Function to add aria-label to <select> elements without it, for better pagespeed accessibility score
  9413.    $(document).ready(function() {
  9414.        var ariaLabelCounter = {}; // Object to keep track of aria-label counts for uniqueness
  9415.  
  9416.        // Iterate over each select element that does not have an aria-label
  9417.        $('select:not([aria-label])').each(function() {
  9418.            // Use the ID or placeholder as the base for the aria-label, stripping HTML tags
  9419.            var baseLabel = this.id || $(this).attr('placeholder') || 'select';
  9420.            baseLabel = baseLabel.replace(/<[^>]*>/g, '').trim(); // Remove HTML tags and trim
  9421.  
  9422.            // Ensure uniqueness of each aria-label
  9423.            ariaLabelCounter[baseLabel] = (ariaLabelCounter[baseLabel] || 0) + 1;
  9424.            var ariaLabel = baseLabel + '-' + ariaLabelCounter[baseLabel];
  9425.  
  9426.            // Truncate aria-label to 100 characters
  9427.            ariaLabel = ariaLabel.length > 100 ? ariaLabel.substring(0, 100) : ariaLabel;
  9428.  
  9429.            // Set the aria-label attribute to the unique label
  9430.            $(this).attr('aria-label', ariaLabel);
  9431.        });
  9432.    });
  9433. </script>
  9434. <script type="application/ld+json">
  9435. {
  9436.    "@context": "https://schema.org",
  9437.    "@graph": [
  9438.        {
  9439.            "@type": "WebSite",
  9440.            "@id": "https://www.whatsyourhours.com#website",
  9441.            "name": "WhatsYourHours.com",
  9442.            "url": "https://www.whatsyourhours.com",
  9443.            "potentialAction": {
  9444.                "@type": "SearchAction",
  9445.                "target": "https://www.whatsyourhours.com/search_results?q={search_term_string}",
  9446.                "query-input": "required name=search_term_string"
  9447.            }
  9448.        },
  9449.        {
  9450.            "@type": "Organization",
  9451.            "@id": "https://www.whatsyourhours.com#organization",
  9452.            "name": "WhatsYourHours.com",
  9453.            "description": "WhatsYourHours.com – Free Online Business Listings – Online Business Listing Directories",
  9454.            "url": "https://www.whatsyourhours.com",
  9455.            "contactPoint": [
  9456.                {
  9457.                    "@type": "ContactPoint",
  9458.                    "email": "brent@whatsyourhours.com",
  9459.                    "contactType": "customer support"
  9460.                }
  9461.            ],
  9462.            "address": {
  9463.                "@type": "PostalAddress",
  9464.                "addressCountry": "US",
  9465.                "postalCode": "US",
  9466.                "addressLocality": "US",
  9467.                "streetAddress": "US"
  9468.            },
  9469.            "sameAs": [
  9470.                "https://www.facebook.com/whatsyourhours",
  9471.                "https://goo.gl/maps/NvhnWcvNf342",
  9472.                "https://twitter.com/whatsyourhours",
  9473.                "https://www.linkedin.com/company/whatsyourhours-com"
  9474.            ],
  9475.            "logo": "https://www.whatsyourhours.com/images/wyh-logo-horizontal_1.png",
  9476.            "image": "https://www.whatsyourhours.com/images/wyh-logo-horizontal_1.png"
  9477.        }
  9478.    ]
  9479. }</script><!-- Start: Copyright 2021 TraceMyIP.org Service Code (052204-10292021)- DO NOT MODIFY //-->
  9480. <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 //-->
  9481. <style type='text/css'> .input-group.normal-autosuggest input,.input-group.sm-autosuggest input, .input-group.md-autosuggest input {
  9482. border-radius: 0 3px 3px 0 !important;
  9483. box-shadow: none;
  9484. }
  9485. .normal-autosuggest .twitter-typeahead, .sm-autosuggest .twitter-typeahead, .md-autosuggest .twitter-typeahead, .large-autosuggest .twitter-typeahead {
  9486. display: inline-block;
  9487. height: 25px;
  9488. position: relative;
  9489. width: 100%;
  9490. }
  9491. .input-group.normal-autosuggest .twitter-typeahead, .input-group.sm-autosuggest .twitter-typeahead, .input-group.large-autosuggest .twitter-typeahead:not(.search_box .twitter-typeahead) {
  9492. width: inherit;
  9493. }
  9494. .normal-autosuggest .twitter-typeahead .clear_content.medium{
  9495. bottom: 0px;
  9496. }
  9497. .sm-autosuggest .twitter-typeahead .clear_content.small{
  9498. bottom: -4px;
  9499. }
  9500. .md-autosuggest.input-group .twitter-typeahead .clear_content.medium  {
  9501.    bottom: -2px;
  9502. }
  9503. .md-autosuggest .twitter-typeahead {
  9504. height: 32px;
  9505. }
  9506. .md-autosuggest  .input-group-addon  + .input_wrapper .twitter-typeahead {
  9507. height: 29px;
  9508. }
  9509. .md-autosuggest-input + .clear_content.medium {
  9510.    bottom: 0px;
  9511. }
  9512. .large-autosuggest .twitter-typeahead {
  9513. height: 40px;
  9514. }
  9515. .normal-autosuggest .twitter-typeahead{
  9516. height: 34px;
  9517. }
  9518. .normal-autosuggest .twitter-typeahead .tt-hint, .sm-autosuggest .twitter-typeahead .tt-hint {
  9519. background: #fff !important;
  9520. border: 1px solid #ccc!important;
  9521. border-radius: 0 4px 4px 0;
  9522. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
  9523. color: transparent;
  9524. left: 0;
  9525. padding: 4px 11px;
  9526. position: absolute;
  9527. top: 0;
  9528. width: 100%;
  9529. font-size:12px;
  9530. }
  9531. .normal-autosuggest.input-group-addon .fa, .sm-autosuggest .input-group-addon .fa, .input-group-sm .input-group-addon .fa {font-size:12px}
  9532. .md-autosuggest .twitter-typeahead .tt-hint {
  9533. height: 100%;
  9534. background: #ffffff none repeat scroll 0 0 !important;
  9535. border: 1px solid #cccccc !important;
  9536. border-radius: 0 4px 4px 0;
  9537. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset !important;
  9538. color: rgba(0, 0, 0, 0);
  9539. left: 0;
  9540. padding: 6px 11px;
  9541. position: absolute;
  9542. top: 0;
  9543. width: 100%;
  9544. }
  9545. .large-autosuggest {background: #fff !important;border-radius:6px;}
  9546. .large-autosuggest input {width: 100%!important;box-shadow:none; border-radius: 6px;}
  9547. .input-group.large-autosuggest input,.input-group.large-autosuggest .twitter-typeahead .tt-hint {
  9548. border-radius: 0 6px 6px 0!important;
  9549. }
  9550. .large-autosuggest .twitter-typeahead .tt-hint {
  9551. background: #fff !important;
  9552. border: 1px solid #ccc!important;
  9553. border-radius: 6px;
  9554. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset!important;
  9555. color: transparent;
  9556. left: 0;
  9557. position: absolute;
  9558. top: 0;
  9559. width: 100%;
  9560. font-size: 18px;
  9561. height: 46px;
  9562. line-height: 1.33333;
  9563. padding: 10px 15px;
  9564. }
  9565. .tt-dataset .empty-message {
  9566. display: none !important;
  9567. }
  9568. .twitter-typeahead .tt-query {background-color:#fff!important}
  9569. .input-group.large-autosuggest span:first-child .tt-hint {border-radius: 0 !important;}
  9570. span.tt-dropdown-menu {
  9571. border: 1px solid #FCFCFC;
  9572. border-radius: 5px;
  9573. box-shadow: 0 5px 10px rgba(0,0,0,.2);
  9574. width: 100% !important;
  9575. }
  9576. .tt-is-under-cursor a.suggest-link {
  9577. background: #55ACEE;
  9578. }
  9579.  
  9580. .tt-is-under-cursor .media-heading,
  9581. .tt-is-under-cursor .suggest-origin,
  9582. .tt-is-under-cursor .location{
  9583. color:#fff!important;
  9584. }
  9585. .tt-suggestion .media .media-body .suggest-origin {
  9586. color: rgba(45, 91, 137,0.9);
  9587. padding: 1px 0;
  9588. border-radius: 6px;
  9589. font-weight: bold;
  9590. line-height: 12px;
  9591. }
  9592. .tt-suggestion {
  9593. background: #fff;
  9594. border-bottom: 1px solid #eee;
  9595. -webkit-transition: all 0.3s ease-in-out;
  9596. -moz-transition: all 0.3s ease-in-out;
  9597. -o-transition: all 0.3s ease-in-out;
  9598. transition: all 0.3s ease-in-out;
  9599. }
  9600. body .tt-suggestions .media.br-bottom img {
  9601. max-width: 45px;
  9602. height: auto;
  9603. }
  9604. body .tt-suggestions .media-body span {
  9605. font-size: 10px;
  9606. }
  9607. body .tt-suggestions .media-body h4 {
  9608. font-size: 12px;
  9609. margin: 2px 0px;
  9610. text-transform: capitalize;
  9611. }
  9612. a.suggest-link {
  9613. padding: 5px;
  9614. display: block;
  9615. }
  9616. a.suggest-link img {
  9617. border-radius: 100px;
  9618. display: block;
  9619. margin: 0 auto;
  9620. height: 100%!important;
  9621. width: 100%;
  9622. object-fit: cover;
  9623. }
  9624. .left-suggest-col {
  9625. display: inline-block;
  9626. vertical-align: middle;
  9627. width: 44px;
  9628. height: 44px;
  9629. }
  9630. .right-suggest-col {
  9631. display: inline-block;
  9632. padding-left: 1%;
  9633. text-align: left;
  9634. vertical-align: middle;
  9635. width: calc(100% - 1% - 50px);
  9636. }
  9637. p.media-heading {
  9638. color: #333;
  9639. font-size: 12px;
  9640. font-weight: 600;
  9641. margin-bottom: 0;
  9642. }
  9643. p.suggest-origin {
  9644. font-size: 10px;
  9645. color: #333;
  9646. margin:0;
  9647. }
  9648. p.location {
  9649. color: #333;
  9650. font-size: 10px;
  9651. margin: 2px 0;
  9652. }
  9653. body .tt-is-under-cursor a.suggest-link {
  9654. background: #F7F7F7;
  9655. }
  9656. body .tt-is-under-cursor .media-heading, body .tt-is-under-cursor .suggest-origin, body .tt-is-under-cursor .location {
  9657. color: #333!important;
  9658. }
  9659. a.suggest-link[data-heading="heading"] {
  9660. pointer-events: none;
  9661.   cursor: default;
  9662.   text-decoration: none;
  9663. }
  9664. body .tt-is-under-cursor a.suggest-link[data-heading="heading"] {
  9665. background: rgb(217, 83, 79);
  9666. }
  9667. /* --- all the novalue css --- */
  9668. a.suggest-link .suggest-origin[data-state="novalue"] {
  9669. display: none;
  9670. }
  9671. a.suggest-link .location[data-state="novalue"] {
  9672. display: none;
  9673. }
  9674. a.suggest-link img[data-state="novalue"] {
  9675. display: none;
  9676. }
  9677. a.suggest-link .suggest-origin[data-state="heading"] {
  9678. display: none;
  9679. }
  9680. a.suggest-link .media-heading[data-heading="heading"] {
  9681. color:rgb(253, 253, 253)!important;
  9682. font-weight: bold;
  9683. padding: 4px;
  9684. font-size: 13px;
  9685. }
  9686. .left-suggest-col[data-photo="novalue"], .left-suggest-col[data-photo="undefined"] {
  9687. display: none;
  9688. }
  9689. .right-suggest-col[data-photo="novalue"], .right-suggest-col[data-photo="undefined"] {
  9690. width: 100%;
  9691. }
  9692. a.suggest-link[href="novalue"] {
  9693. cursor: default !important;
  9694. pointer-events: none;
  9695. }
  9696. a.suggest-link[data-heading="heading"] {
  9697. background-color: rgb(217, 83, 79);
  9698. }
  9699. div.content-shell {
  9700. overflow: inherit;
  9701. }
  9702. span.tt-dropdown-menu div {
  9703. float: none;
  9704. }
  9705. .tt-menu {
  9706. border-radius: 0 0 6px 6px;
  9707. box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  9708. overflow: hidden;
  9709. width: 100%;
  9710. z-index: 150 !important;
  9711. }
  9712. .tt-menu .tt-dataset {
  9713.    overflow-y: auto;
  9714.    max-height: 200px;
  9715. } </style>        <script type="text/javascript">
  9716.            
  9717.            if (typeof decodeHtml != "function") {
  9718.                function decodeHtml(html) {
  9719.                    var txt = document.createElement("textarea");
  9720.                    txt.innerHTML = html;
  9721.                    return txt.value;
  9722.                }
  9723.            }
  9724.                        function initializeTypeheadMember_search() {
  9725.                var member_searchEngine = new Bloodhound({
  9726.                    initialize: false,
  9727.                    datumTokenizer: function (d) {
  9728.                        return Bloodhound.tokenizers.whitespace(value);
  9729.                    },
  9730.                    queryTokenizer: Bloodhound.tokenizers.whitespace,
  9731.                    remote: {
  9732.                        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`,
  9733.                        wildcard: '%QUERY',
  9734.                        filter: function (response) {
  9735.  
  9736.                            if (response != null) {
  9737.                                //var response = response.slice(1);
  9738.                                $.each(
  9739.                                    response, function (key, value) {
  9740.                                        response[key]['value'] = decodeHtml(value['value']);
  9741.                                        response[key]['comes_f'] = decodeHtml(value['comes_f']);
  9742.                                        response[key]['location'] = decodeHtml(value['location']);
  9743.  
  9744.                                        if (response[key]['value'].indexOf('-/-') >= 0) {
  9745.                                            var splitResult = response[key]['value'].split('-/-');
  9746.                                            response[key]['value'] = splitResult[0];
  9747.                                        }
  9748.                                    }
  9749.                                );
  9750.  
  9751.                            } else {
  9752.                                response = {error: "null"};
  9753.                            }
  9754.  
  9755.                            return response;
  9756.                        }
  9757.                    }
  9758.                });
  9759.                var member_searchDataSrc = member_searchEngine.initialize();
  9760.  
  9761.                member_searchDataSrc
  9762.                    .done(function () { /*console.log('Autosuggestions engine initialized.'); */
  9763.                    })
  9764.                    .fail(function () { /*console.log('err, something went wrong while initializing autosuggestions engine:(');*/
  9765.                    })
  9766.  
  9767.                $('.member_search').typeahead({
  9768.                        minLength:  2,
  9769.                        highlight: true,
  9770.                        hint: false                    },
  9771.                    {
  9772.                        display: 'value',
  9773.                        source: member_searchEngine.ttAdapter(),
  9774.                        limit: 10,
  9775.                        templates: {
  9776.                            empty: [
  9777.                                '<div class="empty-message">',
  9778.                                'Result not found',
  9779.                                '</div>'
  9780.                            ].join(" "),
  9781.                            notFound: [
  9782.                                '<div class="notFound-message">',
  9783.                                'Result not found',
  9784.                                '</div>'
  9785.                            ].join(" "),
  9786.                            suggestion: function (data) {
  9787.  
  9788.                                if (data == "null") {
  9789.                                    strTemplate = '<div class="empty-message">Result not found</div>';
  9790.  
  9791.                                } else {
  9792.                                    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> ';
  9793.  
  9794.                                    if ((data.link == undefined) || (data.link == "") || (data.link == "novalue")) {
  9795.                                        strTemplate = strTemplate.replace(/href=".*?"/, "href='#'");
  9796.                                    }
  9797.  
  9798.                                    if ((data.photo == undefined) || (data.photo == "") || (data.photo == "novalue")) {
  9799.                                        strTemplate = strTemplate.replace(/<img src=".*?>/, "");
  9800.                                    }
  9801.                                }
  9802.  
  9803.                                return strTemplate;
  9804.                            }
  9805.                        },
  9806.                    }).on('typeahead:selected', function (obj, datum) {
  9807.                    /*
  9808.                    console.log(obj);
  9809.                    console.log(datum);
  9810.                    */
  9811.                });
  9812.  
  9813.                $('.member_search').each(function () {
  9814.                    var inputWidth = $(this).outerWidth();
  9815.                    $(this).siblings('.tt-dropdown-menu').css('width', inputWidth + 'px');
  9816.                });
  9817.            }
  9818.        </script>
  9819.            <script>
  9820.        let typeheadElement = '.member_search';
  9821.        let TypeheadNameListFunction = 'initializeTypeheadMember_search';
  9822.        let typeheadFormElement = undefined;
  9823.        window.addEventListener('load', () => {
  9824.            if(typeheadElement.length > 1) {
  9825.                typeheadFormElement = document.querySelectorAll(typeheadElement);
  9826.            }
  9827.            if (typeof typeheadFormElement != "undefined") {
  9828.                for (let i = 0; i < typeheadFormElement.length; i++) {
  9829.                    let closestForm = typeheadFormElement[i].closest('form');
  9830.                    if (typeof closestForm != "undefined" && closestForm != null) {
  9831.                        closestForm.addEventListener('focus', typeheadFormClick, false);
  9832.                    }
  9833.                    typeheadFormElement[i].addEventListener('focus', typeheadFormClick, false);
  9834.                }
  9835.            }
  9836.        });
  9837.        function initializeTypehead(){
  9838.            let splitFunctionNames= TypeheadNameListFunction.split(',');
  9839.            for ( let funcName of splitFunctionNames)
  9840.                if (typeof funcName != 'function') {
  9841.                    window[funcName](); // execute the function
  9842.  
  9843.                }
  9844.        }
  9845.        function typeheadFormClick(event) {
  9846.  
  9847.            let head = document.getElementsByTagName('head')[0];
  9848.            let script = document.createElement('script');
  9849.            let elementClicked = event.target;
  9850.            script.type = 'text/javascript';
  9851.            script.src = "https://cdnjs.cloudflare.com/ajax/libs/corejs-typeahead/0.11.1/typeahead.bundle.min.js";
  9852.            script.onload = function () {
  9853.                initializeTypehead();
  9854.                elementClicked.focus();
  9855.            };
  9856.            head.appendChild(script);
  9857.            if (typeof typeheadFormElement != "undefined") {
  9858.                for (let i = 0; i < typeheadFormElement.length; i++) {
  9859.                    let closestForm = typeheadFormElement[i].closest('form');
  9860.                    if (typeof closestForm != "undefined" && closestForm != null) {
  9861.                        closestForm.removeEventListener('focus', typeheadFormClick, false);
  9862.                    }
  9863.                    typeheadFormElement[i].removeEventListener('focus', typeheadFormClick, false)
  9864.                }
  9865.            }
  9866.        }
  9867.  
  9868.  
  9869.    </script>
  9870.  
  9871.    <script>
  9872.    window.addEventListener('load', () => {
  9873.        let embedlyClass = document.querySelector('.fr-embedly');
  9874.        if (typeof embedlyClass != "undefined" && embedlyClass != null) {
  9875.            let embedlyURI = "https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/embedly_widget.min.js";
  9876.            let head = document.getElementsByTagName("head")[0];
  9877.            let script = document.createElement('script');
  9878.            script.type = 'text/javascript';
  9879.            script.src = embedlyURI;
  9880.            script.async = true;
  9881.            head.appendChild(script);
  9882.        }
  9883.    });
  9884. </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>
  9885.                            $(function () {
  9886.                                $(".lazyloader").Lazy({
  9887.                                    afterLoad: function(element) {
  9888.                                        $(".gridView.activeView").click();
  9889.                                    }
  9890.                                });
  9891.                                
  9892.                            });
  9893.                            $("button[class*='slick'],button[id*='slick']").click(function () {
  9894.                              $(this).parents(".row").find(".lazyloader").lazy({
  9895.                                    bind: "event",
  9896.                                    delay: 0
  9897.                                });
  9898.                            });
  9899.                            $("[class*='slick'],[id*='slick']").on("swipe",function(){
  9900.                              $(this).parents(".row").find(".lazyloader").lazy({
  9901.                                    bind: "event",
  9902.                                    delay: 0
  9903.                                });
  9904.                            });
  9905.                        </script><script defer src="https://www.optimizecdn.com/directory/cdn/assets/bootstrap/js/websiteScripts.min.js?v=0.4"></script>
  9906.            </body>
  9907.        </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda