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.logicballs.com

  1. <!DOCTYPE html>
  2. <html dir="" lang="en">
  3.  
  4. <head>
  5.  <meta charset="UTF-8" />
  6.  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  7.  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.  <title>
  9.    AI Writer and Content Creation Tool
  10.  </title>
  11.   <link rel="stylesheet" type="text/css" media="screen" href="/css/style.min.css?v=3213233" />
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  <meta property="og:type" content="Website" />
  18.  <meta property="og:site_name" content="LogicBalls" />
  19.  <meta property="og:url" content="https://logicballs.com/" />
  20.  <meta property="og:title" content="FREE AI Tools | No Login Required" />
  21.  <meta property="og:description" content="LogicBalls: AI writing assistant for high-quality content" />
  22.  <meta property="og:image" content="https://logicballs.com/ogimages/cover.png" />
  23.  <meta name="twitter:card" content="summary_large_image" />
  24.  <meta name="twitter:site" content="@logicballs" />
  25.  <meta name="twitter:url" content="https://logicballs.com/" />
  26.  <meta name="twitter:title" content="AI Writer and Content Creation Tool" />
  27.  <meta name="twitter:description" content="LogicBalls: AI writing assistant for high-quality content" />
  28.  <meta name="twitter:card" content="https://logicballs.com/ogimages/cover.png" />
  29.  <meta name="twitter:image" content="https://logicballs.com/ogimages/cover.png" />
  30.  <meta name="description" content="LogicBalls: AI writing assistant for high-quality content" />
  31.  <link rel="canonical" href="https://logicballs.com/" />
  32.  
  33.  
  34.  
  35.  <link rel="alternate" hreflang="en" href="https://logicballs.com/" />
  36.  
  37.  <link rel="alternate" hreflang="fr" href="https://logicballs.com/fr/" />
  38.  
  39.  <link rel="alternate" hreflang="de" href="https://logicballs.com/de/" />
  40.  
  41.  <link rel="alternate" hreflang="zh" href="https://logicballs.com/zh/" />
  42.  
  43.  <link rel="alternate" hreflang="ar" href="https://logicballs.com/ar/" />
  44.  
  45.  <link rel="alternate" hreflang="pt" href="https://logicballs.com/pt/" />
  46.  
  47.  <link rel="alternate" hreflang="es" href="https://logicballs.com/es/" />
  48.  
  49.  <link rel="alternate" hreflang="ja" href="https://logicballs.com/ja/" />
  50.  
  51.  <link rel="alternate" hreflang="ko" href="https://logicballs.com/ko/" />
  52.  
  53.  <link rel="alternate" hreflang="tl" href="https://logicballs.com/tl/" />
  54.  
  55.  <link rel="alternate" hreflang="nl" href="https://logicballs.com/nl/" />
  56.  
  57.  <link rel="alternate" hreflang="hi" href="https://logicballs.com/hi/" />
  58.  
  59.  <link rel="alternate" hreflang="x-default" href="https://logicballs.com/" />
  60.  
  61.  
  62.  <link rel="dns-prefetch" href="//logicballs.com" />
  63.  <link rel="dns-prefetch" href="//cdnjs.cloudflare.com" />
  64.  <link rel="dns-prefetch" href="//cdn.jsdelivr.net" />
  65.  <link rel="dns-prefetch" href="//www.googletagmanager.com" />
  66.  
  67.  <!-- Preload core scripts for better performance -->
  68.  
  69.  
  70.  <!-- Preconnects after critical preloads -->
  71.  <link rel="preconnect" href="https://fonts.googleapis.com" />
  72.  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  73.  
  74.  <link rel="icon" href="https://logicballs.com/images/logo/favicon.ico" type="image/x-icon" />
  75.  
  76.  <!-- Google Fonts with preload for better performance -->
  77.  <link rel="preload" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@500;600;700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'">
  78.  <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Poppins:wght@500;600;700&display=swap"></noscript>
  79.  
  80.  <!-- Non-critical external CSS -->
  81.  <!-- Preload and asynchronously load flag-icons CSS -->
  82.  <link rel="preload" href="https://cdn.jsdelivr.net/gh/lipis/flag-icons@7.2.3/css/flag-icons.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
  83.  <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/lipis/flag-icons@7.2.3/css/flag-icons.min.css"></noscript>
  84.  
  85.  
  86.  
  87.  
  88.  <script type="application/ld+json">
  89.    {
  90.  "@context": "https://schema.org",
  91.  "@graph": [
  92.    {
  93.      "@type": "Organization",
  94.      "@id": "https://logicballs.com/#organization",
  95.      "name": "LogicBalls",
  96.      "url": "https://logicballs.com/",
  97.      "logo": "https://logicballs.com/images/logicballs-logo.png",
  98.      "description": "LogicBalls: AI writing assistant for high-quality content",
  99.      "sameAs": [
  100.        "https://www.facebook.com/logicballsAI",
  101.        "https://x.com/logicballs_ai",
  102.        "https://www.linkedin.com/company/logicballs-ai",
  103.        "https://www.instagram.com/logic_balls/"
  104.      ],
  105.      "contactPoint": {
  106.        "@type": "ContactPoint",
  107.        "contactType": "customer service",
  108.        "email": "support@logicballs.com"
  109.      },
  110.      "slogan": "Unleash Your Creativity with AI-Powered Writing Tools",
  111.      "areaServed": {
  112.        "@type": "Place",
  113.        "name": "Worldwide"
  114.      }
  115.    },
  116.    {
  117.      "@type": "WebSite",
  118.      "@id": "https://logicballs.com/#website",
  119.      "url": "https://logicballs.com/",
  120.      "name": "AI Writer and Content Creation Tool",
  121.      "description": "LogicBalls: AI writing assistant for high-quality content",
  122.      "publisher": {
  123.        "@id": "https://logicballs.com/#organization"
  124.      }
  125.    },
  126.    {
  127.      "@type": "WebPage",
  128.      "@id": "https://logicballs.com/#webpage",
  129.      "url": "https://logicballs.com/",
  130.      "name": "AI Copy Writing | LogicBalls",
  131.      "isPartOf": {
  132.        "@id": "https://logicballs.com/#website"
  133.      },
  134.      "about": {
  135.        "@id": "https://logicballs.com/#organization"
  136.      },
  137.      "description": "LogicBalls: AI writing assistant for high-quality content",
  138.      "breadcrumb": {
  139.        "@id": "https://logicballs.com/#breadcrumb"
  140.      },
  141.      "inLanguage": "en",
  142.      "primaryImageOfPage": {
  143.        "@type": "ImageObject",
  144.        "url": "https://logicballs.com/images/cover.png",
  145.        "width": 1200,
  146.        "height": 630,
  147.        "caption": "LogicBalls AI Writing Tools Platform"
  148.      }
  149.    },
  150.    {
  151.      "@type": "BreadcrumbList",
  152.      "@id": "https://logicballs.com/#breadcrumb",
  153.      "itemListElement": [
  154.        {
  155.          "@type": "ListItem",
  156.          "position": 1,
  157.          "name": "Home",
  158.          "item": "https://logicballs.com/"
  159.        }
  160.      ]
  161.    },
  162.    {
  163.      "@type": "SoftwareApplication",
  164.      "@id": "https://logicballs.com/#softwareapplication",
  165.      "name": "AI Copy Writing | LogicBalls",
  166.      "operatingSystem": "Web",
  167.      "applicationCategory": "https://schema.org/BusinessApplication",
  168.      "url": "https://logicballs.com/",
  169.      "image": "https://logicballs.com/images/cover.png",
  170.      "offers": {
  171.        "@type": "Offer",
  172.        "priceCurrency": "USD",
  173.        "price": "0",
  174.        "description": "Free trial available",
  175.        "availability": "https://schema.org/InStock"
  176.      }
  177.    }
  178.  ]
  179. }
  180.  </script>
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  <script>
  191.    if (typeof window !== 'undefined' && window.location.host === 'logicballs.com') {
  192.  
  193.      (function(w, d, s, l, i) {
  194.        w[l] = w[l] || [];
  195.        w[l].push({
  196.          'gtm.start': new Date().getTime(),
  197.          event: 'gtm.js'
  198.        });
  199.        var f = d.getElementsByTagName(s)[0],
  200.          j = d.createElement(s),
  201.          dl = l != 'dataLayer' ? '&l=' + l : '';
  202.        j.async = true;
  203.        j.src =
  204.          'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
  205.        f.parentNode.insertBefore(j, f);
  206.      })(window, document, 'script', 'dataLayer', 'GTM-MB8NQN6');
  207.  
  208.    }
  209.  </script>
  210.  
  211.  <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7564448169654271"
  212.       crossorigin="anonymous"></script>
  213.  
  214. </head>
  215.  
  216. <body class="page-index">
  217.  <div class="ai-search-overlay" id="searchPopup">
  218.  <div class="ai-search-container">
  219.    <div class="ai-search-backdrop">
  220.  
  221.  
  222.      <div class="ai-search-box">
  223.        <div class="ai-search-input-wrapper">
  224.          <svg class="ai-search-icon-svg" viewBox="0 0 24 24" width="20" height="20">
  225.            <path
  226.              d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" />
  227.          </svg>
  228.          <input type="text" id="searchInput" class="ai-search-input"
  229.            placeholder="Try &#39;tool for writing a professional email&#39;... " autofocus>
  230.          <button id="searchButton" class="ai-search-btn" title="Press Enter to search">
  231.            <svg class="ai-search-enter-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16"
  232.              viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
  233.              stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-send-2">
  234.              <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
  235.              <path
  236.                d="M4.698 4.034l16.302 7.966l-16.302 7.966a.503 .503 0 0 1 -.546 -.124a.555 .555 0 0 1 -.12 -.568l2.468 -7.274l-2.468 -7.274a.555 .555 0 0 1 .12 -.568a.503 .503 0 0 1 .546 -.124z">
  237.              </path>
  238.              <path d="M6.5 12h14.5"></path>
  239.            </svg>
  240.            <div class="ai-search-btn-loader"></div>
  241.          </button>
  242.        </div>
  243.      </div>
  244.  
  245.      <div class="ai-search-content">
  246.        <div id="searchResults" class="ai-search-results">
  247.          <!-- Results will be populated here -->
  248.        </div>
  249.        <div class="ai-search-chat">
  250.          <div class="ai-search-message ai-search-initial">
  251.            <div class="ai-search-message-content">
  252.              <p></p>
  253.  
  254.            </div>
  255.          </div>
  256.        </div>
  257.  
  258.  
  259.      </div>
  260.    </div>
  261.  </div>
  262. </div>
  263.  
  264.  
  265.  
  266. <script>
  267.  let thinkingText = "AI is Thinking";
  268.  let popLanguage = "en";
  269.  let errormessage1 = "Please enter at least 2 characters to search...";
  270.  let errormessage2 = "I couldn&#39;t find any tools matching your search. Try describing your task differently, for example &#39;create marketing content&#39; instead of just &#39;marketing&#39;.";
  271.  let errormessage3 = "No tools found matching your search";
  272.  let errormessage4 = "Sorry, I encountered an error while searching. Please try again or rephrase your search.";
  273.  let errormessage5 = "An error occurred while searching. Please try again.";
  274.  let errormessage6 = "Sorry, something went wrong. Please try again in a moment.";
  275.  
  276. function openSearchPopup() {
  277.  document.getElementById('searchPopup').style.display = 'block';
  278.  document.getElementById('searchInput').focus();
  279. }
  280.  
  281.  function closeSearchPopup() {
  282.    document.getElementById('searchPopup').style.display = 'none';
  283.  }
  284.  
  285.  function suggestionClick(element) {
  286.    document.getElementById('searchInput').value = element.textContent;
  287.    performSearch();
  288.  }
  289.  
  290.  async function performSearch() {
  291.    const searchTerm = document.getElementById('searchInput').value.trim();
  292.    const lang = localStorage.getItem('selectedLanguage') || 'en';
  293.    const resultsContainer = document.getElementById('searchResults');
  294.    const searchButton = document.getElementById('searchButton');
  295.    const buttonLoader = searchButton.querySelector('.ai-search-btn-loader');
  296.    const enterIcon = searchButton.querySelector('.ai-search-enter-icon');
  297.    const allMessages = document.querySelector('.ai-search-content');
  298.  
  299.    if (searchTerm.length < 2) {
  300.      resultsContainer.innerHTML = `<div class="ai-search-message">${errormessage1}</div>`;
  301.      return;
  302.    }
  303.  
  304.    // Show loading state
  305.    allMessages.style.display = 'block';
  306.  
  307.    enterIcon.style.display = 'none';
  308.    buttonLoader.style.display = 'block';
  309.    resultsContainer.innerHTML = `<div class="ai-search-loading btn-shine">${thinkingText}</div>`;
  310.  
  311.  
  312.  try {
  313.    const response = await fetch('/v1/api/user/search-tools', {
  314.      method: 'POST',
  315.      headers: {
  316.        'Content-Type': 'application/json'
  317.      },
  318.      body: JSON.stringify({
  319.        searchKey: searchTerm,
  320.        lang: popLanguage || 'en'
  321.      })
  322.    });
  323.  
  324.      const data = await response.json();
  325.  
  326.      if (data.status === 'success') {
  327.        const { results, suggestion } = data.data;
  328.        const messageText = document.querySelector('.ai-search-message-content');
  329.  
  330.  
  331.  
  332.  
  333.        if (results.length > 0) {
  334.  
  335.          allMessages.style.overflow = 'auto';
  336.          resultsContainer.innerHTML = results.map(item => `
  337.          <a href="${item.url}" class="ai-search-item" target="_blank">
  338.            <div class="ai-search-category">${item.category}</div>
  339.            <div class="ai-search-name">${item.name}</div>
  340.            <div class="ai-search-tags">${item.tags.join(' • ')}</div>
  341.          </a>
  342.        `).join('');
  343.        } else {
  344.          messageText.style.display = 'block';
  345.          messageText.innerHTML = errormessage2;
  346.          resultsContainer.innerHTML = `<div class="ai-search-message">${errormessage3}</div>`;
  347.        }
  348.      } else {
  349.        document.querySelector('.ai-search-message-content').innerHTML = errormessage4
  350.        resultsContainer.innerHTML = `<div class="ai-search-error">${errormessage5}</div>`;
  351.      }
  352.    } catch (error) {
  353.      console.error('Error fetching search results:', error);
  354.      document.querySelector('.ai-search-message-content').innerHTML = errormessage6
  355.      resultsContainer.innerHTML =  `<div class="ai-search-error">${errormessage5}</div>`;
  356.    } finally {
  357.      // Reset button state
  358.      enterIcon.style.display = 'block';
  359.      buttonLoader.style.display = 'none';
  360.    }
  361.  }
  362.  
  363.  document.getElementById('searchButton').addEventListener('click', performSearch);
  364.  
  365.  document.getElementById('searchInput').addEventListener('keypress', function (e) {
  366.    if (e.key === 'Enter') {
  367.      performSearch();
  368.    }
  369.  });
  370.  
  371.  // Hide content when input is cleared
  372.  document.getElementById('searchInput').addEventListener('input', function (e) {
  373.    const allMessages = document.querySelector('.ai-search-content');
  374.    const resultsContainer = document.getElementById('searchResults');
  375.    const messageContent = document.querySelector('.ai-search-message-content');
  376.  
  377.    if (!this.value.trim()) {
  378.      allMessages.style.display = 'none';
  379.      resultsContainer.innerHTML = '';
  380.      if (messageContent) {
  381.        messageContent.innerHTML = '';
  382.        messageContent.style.display = 'none';
  383.      }
  384.    }
  385.  });
  386.  
  387.  // Close popup when clicking outside
  388.  document.addEventListener('click', function (event) {
  389.    const popup = document.getElementById('searchPopup');
  390.    const container = document.querySelector('.ai-search-container');
  391.    const backdrop = document.querySelector('.ai-search-backdrop');
  392.    if (event.target === popup || (event.target === container && !backdrop.contains(event.target))) {
  393.      closeSearchPopup();
  394.    }
  395.  });
  396.  
  397.  // Close popup on escape key
  398.  document.addEventListener('keydown', function (e) {
  399.    if (e.key === 'Escape' && document.getElementById('searchPopup').style.display === 'block') {
  400.      closeSearchPopup();
  401.    }
  402.  });
  403. </script>
  404.  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MB8NQN6" height="0" width="0" style="display: none; visibility: hidden"></iframe></noscript>
  405.  <!-- Header Include -->
  406.  
  407.  
  408. <script src="https://accounts.google.com/gsi/client" async defer></script>
  409. <script>// Constants
  410. // Constants
  411. const GOOGLE_AUTH_CONFIG = {
  412.  BUTTON_CONFIG: {
  413.    theme: 'outline',
  414.    size: 'large'
  415.  }
  416. };
  417.  
  418. window.onload = function() {
  419.  window.isAuthenticated = false;
  420.  
  421.  google.accounts.id.initialize({
  422.    client_id: '912809138133-km9l2r229va9mot2js9gg2f4ssa9pbua.apps.googleusercontent.com',  // Client ID injected directly from server template
  423.    callback: handleGoogleCredentialResponse,
  424.    auto_select: true
  425.  });
  426.  
  427.  const buttonContainer = document.getElementById('buttonDiv');
  428.  if (buttonContainer) {
  429.    google.accounts.id.renderButton(
  430.      buttonContainer,
  431.      GOOGLE_AUTH_CONFIG.BUTTON_CONFIG
  432.    );
  433.  }
  434.  
  435.  google.accounts.id.prompt();
  436. };
  437.  
  438. // Handle Google credential response
  439. async function handleGoogleCredentialResponse(response) {
  440.  if (!response?.credential) {
  441.    // console.error('Invalid credential response');
  442.    return;
  443.  }
  444.  
  445.  try {
  446.    const resp = await authapiRequest(
  447.      'POST',
  448.      'googleTapAuth',
  449.      { token: response.credential }
  450.    );
  451.  
  452.    if (resp.data?.statuscode === 200) {
  453.      await handleGoogleLogin(resp?.data?.data);
  454.    } else {
  455.      // console.error('Google auth API error:', resp);
  456.    }
  457.  } catch (error) {
  458.    // console.error('Google auth error:', error);
  459.  }
  460. }
  461.  
  462. // Handle Google login flow
  463. async function handleGoogleLogin(response) {
  464.  if (!response?.user) {
  465.    // console.error('Invalid user data');
  466.    return;
  467.  }
  468.  
  469.  const { user, oauth } = response;
  470.  
  471.  // Set initial auth data
  472.  let imageUrl;
  473.  if (user.email) {
  474.    imageUrl = "https://placehold.co/40X40/lightblue/white?text=" + user.email.charAt(0).toUpperCase();
  475.  } else {
  476.    imageUrl = "https://placehold.co/40X40/lightblue/white?text=" + user.identifier.charAt(0).toUpperCase();
  477.  }
  478.  
  479.  if (user.photoURL) {
  480.    imageUrl = user.photoURL;
  481.  }
  482.  
  483.  localStorage.setItem("user_id", user.user_id);
  484.  localStorage.setItem("photo_url", imageUrl);
  485.  localStorage.setItem("authtoken", oauth.access_token);
  486.  
  487.  try {
  488.    const resp = await authapiRequest(
  489.      'POST',
  490.      'user',
  491.      prepareUserAuthRequest(user, null, oauth.id_token),
  492.      { Authorization: `Bearer ${oauth.access_token}` }
  493.    );
  494.  
  495.    if (resp.data) {
  496.      if (resp.data.logInTime) {
  497.        localStorage.setItem("logInTime", resp.data.logInTime);
  498.      }
  499.  
  500.      if (resp.data.activeSession) {
  501.        await authapiRequest(
  502.          'GET',
  503.          `user/updateSeesion?lastLoginTime='${localStorage.getItem("logInTime")}'`,
  504.          undefined,
  505.          { Authorization: `Bearer ${oauth.access_token}` }
  506.        );
  507.      }
  508.  
  509.      if (resp.data?.session) {
  510.        const payload = JSON.parse(atob(resp.data.session.split(".")[1]));
  511.        const expirationTime = new Date(payload.exp * 1000).toGMTString();
  512.        
  513.        // Set cookies
  514.        document.cookie = `_sess=${resp.data.session};path=/;expires=${expirationTime}`;
  515.        document.cookie = `access_token=${oauth.access_token};path=/;expires=${expirationTime}`;
  516.        document.cookie = `id_token=${oauth.id_token};path=/;expires=${expirationTime}`;
  517.  
  518.        // Update profile picture if available
  519.        if (resp.data.ProfilePic?.length) {
  520.          localStorage.setItem("photo_url", resp.data.ProfilePic);
  521.        }
  522.        
  523.        localStorage.setItem("user_id", resp.data.UserId);
  524.  
  525.        // Handle redirect
  526.        if (resp.data.subscription) {
  527.          window.location.href = "/premium";
  528.          return;
  529.        }
  530.        
  531.        window.location.reload();
  532.        return;
  533.      }
  534.    }
  535.  } catch (error) {
  536.    // console.error('Login flow error:', error);
  537.  }
  538. }
  539.  
  540. // Prepare user request data
  541. function prepareUserAuthRequest(user, refCode = null, idToken) {
  542.  const userApiRequest = {
  543.    created_at: parseInt(user?.metadata?.createdAt),
  544.    last_login_at: parseInt(user?.metadata?.lastLoginAt),
  545.    ref_code: refCode,
  546.    displayName: user?.displayName,
  547.    idToken
  548.  };
  549.  
  550.  if (localStorage.getItem("logInTime")) {
  551.    userApiRequest.logIn_session_time = localStorage.getItem("logInTime");
  552.  }
  553.  
  554.  // Get UTM parameters from cookies
  555.  const utmSource = document.cookie.match(/utm_source=([^;]+)/)?.[1];
  556.  const utmMedium = document.cookie.match(/utm_medium=([^;]+)/)?.[1];
  557.  const utmCampaign = document.cookie.match(/utm_campaign=([^;]+)/)?.[1];
  558.  
  559.  // Add UTM parameters if all are present
  560.  if (utmSource && utmMedium && utmCampaign) {
  561.    userApiRequest.utm_source = utmSource;
  562.    userApiRequest.utm_medium = utmMedium;
  563.    userApiRequest.utm_campaign = utmCampaign;
  564.  }
  565.  
  566.  return userApiRequest;
  567. }
  568.  
  569.  
  570. async function authapiRequest(method, path, data, headers = {}) {
  571.      try {
  572.        const response = await fetch(`${window.location.protocol}//${window.location.host}/v1/api/${path}`, {
  573.          method,
  574.          ...(data && { body: JSON.stringify(data) }),
  575.          headers: {
  576.            Accept: 'application/json',
  577.            'Content-Type': 'application/json',
  578.            ...headers
  579.          }
  580.        });
  581.        
  582.        return response.ok ? { data: await response.json() } : { error: 'API request failed' };
  583.      } catch (e) {
  584.        return { error: e };
  585.      }
  586.    }
  587.  
  588. </script>
  589.    
  590.      
  591.        
  592.          
  593.            
  594.  
  595.              <!--Hamburger menu end-->
  596.  
  597.              <!--Header start-->
  598.              <header class="header" id="header" role="banner">
  599.                <nav class="navbar" role="navigation">
  600.                  <!--Logo-->
  601.  
  602.                  <div class="logo">
  603.                    <a href="https://logicballs.com">
  604.                      <img src="https://logicballs.com/images/logo.svg" alt="LogicBalls" title="LogicBalls" />
  605.                    </a>
  606.                  </div>
  607.                  <!--Logo-->
  608.                  <!--search-->
  609.                  <div class="search">
  610.                    <div class="search-header">
  611.                      <button id="show-button-typesence" onclick="
  612.                        if(typeof window.hightlightSearchBoxCursor === 'function') {
  613.                          window.hightlightSearchBoxCursor();
  614.                        } else if(typeof hightlightSearchBoxCursor === 'function') {
  615.                          hightlightSearchBoxCursor();
  616.                        } else {
  617.                          // Wait for search to load and try again
  618.                          setTimeout(() => {
  619.                            if(typeof window.hightlightSearchBoxCursor === 'function') {
  620.                              window.hightlightSearchBoxCursor();
  621.                            }
  622.                          }, 100);
  623.                        }">
  624.                        Search
  625.                      </button>
  626.                      <button onclick="if(typeof openSearchPopup === 'function') { openSearchPopup(); }" id="show-button-ai" class="show-button-typesence">
  627.  
  628.                        <svg focusable="false" viewBox="0 -960 960 960" height="28" width="28" class="EiVpKc aoH">
  629.                          <path
  630.                            d="M480-80q2,0 2-2q0-82 31-154t85-126t126-85t154-31q2,0 2-2t-2-2q-82,0-154-31T598-598T513-724T482-878q0-2-2-2t-2,2q0,82-31,154T362-598T236-513T82-482q-2,0-2,2t2,2q82,0 154,31t126,85t85,126T478-82q0,2 2,2Z">
  631.                          </path>
  632.                        </svg>
  633.                        <div>Ask AI </div>
  634.                      </button>
  635.  
  636.                    </div>
  637.                  </div>
  638.                  <!--Navigation-->
  639.                  <div class="nav-rigth">
  640.                    <a href="https://logicballs.com/earn-with-logicballs" class="btn btn-primary btn-md show-in-desktop rounded">
  641.                      <div>
  642.                      Earn
  643.                      </div>
  644.                    </a>
  645.                    <a href="https://logicballs.com/write-for-us" class="btn btn-primary btn-md show-in-desktop rounded">
  646.                      <div>
  647.                        Write for us
  648.                      </div>
  649.                    </a>
  650.  
  651.                    <a href="https://logicballs.com/pricing"  class="btn btn-primary btn-md show-in-desktop rounded">
  652.                      <div>
  653.                        Pricing
  654.                      </div>
  655.                    </a>
  656.  
  657.                    
  658.                      <div class="tool-form">
  659.                        <div class="field field-type-dropdown form-group">
  660.  
  661.  
  662.                          <label class="dropdown" for="language-dropdown">
  663.                            <div class="dd-button language" data-abc="dd-button">
  664.                              <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"
  665.                                fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"
  666.                                stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-world"
  667.                                style="width: 20px;height: 20px;">
  668.                                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  669.                                <path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" />
  670.                                <path d="M3.6 9h16.8" />
  671.                                <path d="M3.6 15h16.8" />
  672.                                <path d="M11.5 3a17 17 0 0 0 0 18" />
  673.                                <path d="M12.5 3a17 17 0 0 1 0 18" />
  674.                              </svg>
  675.                            </div>
  676.  
  677.  
  678.  
  679.                            <input type="checkbox" class="dd-input" aria-label="Toggle language menu" id="language-dropdown" name="language-dropdown">
  680.                           <ul class="dd-menu" data-abc="ddmenu">
  681.  <li class="language-option" data-lang="en">
  682.    <button type="button" class="dd-item">English</button>
  683.  </li>
  684.  <li class="language-option" data-lang="zh">
  685.    <button type="button" class="dd-item">简体中文</button>
  686.  </li>
  687.  <li class="language-option" data-lang="ar">
  688.    <button type="button" class="dd-item">العربية</button>
  689.  </li>
  690.  <li class="language-option" data-lang="fr">
  691.    <button type="button" class="dd-item">Français</button>
  692.  </li>
  693.  <li class="language-option" data-lang="de">
  694.    <button type="button" class="dd-item">German</button>
  695.  </li>
  696.  <li class="language-option" data-lang="pt">
  697.    <button type="button" class="dd-item">Português</button>
  698.  </li>
  699.  <li class="language-option" data-lang="es">
  700.    <button type="button" class="dd-item">Español</button>
  701.  </li>
  702.  <li class="language-option" data-lang="ja">
  703.    <button type="button" class="dd-item">日本語</button>
  704.  </li>
  705.  <li class="language-option" data-lang="ko">
  706.    <button type="button" class="dd-item">한국어</button>
  707.  </li>
  708.  <li class="language-option" data-lang="tl">
  709.    <button type="button" class="dd-item">Tagalog</button>
  710.  </li>
  711.  <li class="language-option" data-lang="nl">
  712.    <button type="button" class="dd-item">Dutch</button>
  713.  </li>
  714.  <li class="language-option" data-lang="hi">
  715.    <button type="button" class="dd-item">हिन्दी</button>
  716.  </li>
  717. </ul>
  718.                          </label>
  719.                        </div>
  720.                      </div>
  721.                      
  722.  
  723.  
  724.  
  725.                        <div class="tool-form">
  726.                          <div class="field field-type-dropdown form-group">
  727.                            <div>
  728.                              <label class="dropdown" for="usermenu-dropdown">
  729.                                <div class="dd-button " data-abc="dd-button">
  730.                                  <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"
  731.                                    fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"
  732.                                    stroke-linejoin="round"
  733.                                    class="icon icon-tabler icons-tabler-outline icon-tabler-user">
  734.                                    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  735.                                    <path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0" />
  736.                                    <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" />
  737.                                  </svg>
  738.                                </div>
  739.                                <input type="checkbox" class="dd-input" aria-label="Toggle user menu" id="usermenu-dropdown" name="usermenu-dropdown">
  740.                                <ul class="dd-menu" data-abc="ddmenu">
  741.                                  <li>
  742.                                    <span class="dd-item">
  743.                                      
  744.                                        <a href="https://logicballs.com/auth"> <svg xmlns="http://www.w3.org/2000/svg"
  745.                                            width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor"
  746.                                            stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"
  747.                                            class="icon icon-tabler icons-tabler-outline icon-tabler-login-2">
  748.                                            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  749.                                            <path
  750.                                              d="M9 8v-2a2 2 0 0 1 2 -2h7a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-7a2 2 0 0 1 -2 -2v-2" />
  751.                                            <path d="M3 12h13l-3 -3" />
  752.                                            <path d="M13 15l3 -3" />
  753.                                          </svg>
  754.                                          Login / Signup
  755.                                        </a>
  756.                                        
  757.                                          
  758.  
  759.                                          </span>
  760.                                  </li>
  761.                                  <li>
  762.                                    <span class="dd-item">
  763.                                      <span class="dd-text">
  764.                                        <a class="nav-link" href="https://logicballs.com/pricing">
  765.                                          <svg  xmlns="http://www.w3.org/2000/svg"  width="24"  height="24"  viewBox="0 0 24 24"  fill="none"  stroke="currentColor"  stroke-width="1.5"  stroke-linecap="round"  stroke-linejoin="round"  class="icon icon-tabler icons-tabler-outline icon-tabler-currency-dollar"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M16.7 8a3 3 0 0 0 -2.7 -2h-4a3 3 0 0 0 0 6h4a3 3 0 0 1 0 6h-4a3 3 0 0 1 -2.7 -2" /><path d="M12 3v3m0 12v3" /></svg>
  766.                                          Pricing
  767.                                        </a>
  768.                                      </span>
  769.                                    </span>
  770.                                  </li>
  771.                                  <li>
  772.                                    <span class="dd-item">
  773.                                      <span class="dd-text">
  774.                                        <a class="nav-link" href="https://logicballs.com/tags">
  775.                                          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
  776.                                            viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"
  777.                                            stroke-linecap="round" stroke-linejoin="round"
  778.                                            class="icon icon-tabler icons-tabler-outline icon-tabler-tags">
  779.                                            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  780.                                            <path
  781.                                              d="M3 8v4.172a2 2 0 0 0 .586 1.414l5.71 5.71a2.41 2.41 0 0 0 3.408 0l3.592 -3.592a2.41 2.41 0 0 0 0 -3.408l-5.71 -5.71a2 2 0 0 0 -1.414 -.586h-4.172a2 2 0 0 0 -2 2z" />
  782.                                            <path d="M18 19l1.592 -1.592a4.82 4.82 0 0 0 0 -6.816l-4.592 -4.592" />
  783.                                            <path d="M7 10h-.01" />
  784.                                          </svg>
  785.                                          </svg>
  786.                                          Tags
  787.                                        </a>
  788.                                      </span>
  789.                                    </span>
  790.                                  </li>
  791.                                  <li>
  792.                                    <span class="dd-item">
  793.                                      <span class="dd-text">
  794.                                        <a class="nav-link" href="https://logicballs.com/browse-ai-tools">
  795.                                          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
  796.                                            viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"
  797.                                            stroke-linecap="round" stroke-linejoin="round"
  798.                                            class="icon icon-tabler icons-tabler-outline icon-tabler-category">
  799.                                            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  800.                                            <path d="M4 4h6v6h-6z" />
  801.                                            <path d="M14 4h6v6h-6z" />
  802.                                            <path d="M4 14h6v6h-6z" />
  803.                                            <path d="M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" />
  804.                                          </svg>
  805.                                          Categories
  806.                                        </a>
  807.                                      </span>
  808.                                    </span>
  809.                                  </li>
  810.                                  <li>
  811.                                    <span class="dd-item">
  812.                                      <span class="dd-text">
  813.                                        <a class="nav-link" href="https://logicballs.com/comparison">
  814.                                          <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
  815.                                            viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"
  816.                                            stroke-linecap="round" stroke-linejoin="round"
  817.                                            class="icon icon-tabler icons-tabler-outline icon-tabler-scale">
  818.                                            <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  819.                                            <path d="M7 20l10 0" />
  820.                                            <path d="M6 6l6 -1l6 1" />
  821.                                            <path d="M12 3l0 17" />
  822.                                            <path d="M9 12l-3 -6l-3 6a3 3 0 0 0 6 0" />
  823.                                            <path d="M21 12l-3 -6l-3 6a3 3 0 0 0 6 0" />
  824.                                          </svg>
  825.                                          Comparison
  826.                                        </a>
  827.                                      </span>
  828.                                    </span>
  829.                                  </li>
  830.                                  
  831.                                    <li class="divider"></li>
  832.                                    
  833.                                      <li>
  834.                                        <span class="dd-item">
  835.                                          <span class="dd-text">
  836.                                            <a class="nav-link" href="/cdn-cgi/l/email-protection#f88b8d8888978a8cb894979f919b9a9994948bd69b9795">
  837.                                              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
  838.                                                viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5"
  839.                                                stroke-linecap="round" stroke-linejoin="round"
  840.                                                class="icon icon-tabler icons-tabler-outline icon-tabler-phone">
  841.                                                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  842.                                                <path
  843.                                                  d="M5 4h4l2 5l-2.5 1.5a11 11 0 0 0 5 5l1.5 -2.5l5 2v4a2 2 0 0 1 -2 2a16 16 0 0 1 -15 -15a2 2 0 0 1 2 -2" />
  844.                                              </svg>
  845.                                              Contact US
  846.                                            </a>
  847.                                          </span>
  848.                                        </span>
  849.                                        
  850.                                </ul>
  851.                              </label>
  852.                            </div>
  853.                          </div>
  854.                        </div>
  855.                  </div>
  856.                  <!--Navigation-->
  857.                </nav>
  858.              </header>
  859.  
  860.  
  861.              <div id="referralPopup" class="referral-popup">
  862.  <div class="referral-popup-content">
  863.    <button class="close-button" onclick="closeReferralPopup()">&times;</button>
  864.    
  865.    <div class="referral-popup-header">
  866.      
  867.      <h2>Unlock Your FREE Year of Premium Access! 🎁</h2>
  868.      <p class="subtitle">Share the power of our tools with friends and get rewarded!</p>
  869.      
  870.      <div class="reward-tiers">
  871.        <div class="reward-tier">
  872.          <div class="plan-badge">Most Popular</div>
  873.          <span class="plan-price">$59</span>
  874.          <h3>Pro Plan</h3>
  875.          <p class="plan-description">Refer 2 friends to our Pro plan and unlock a FULL YEAR of premium access absolutely FREE!</p>
  876.          <button class="share-button" onclick="shareViaLink('59', 'false' === 'true', event)">
  877.            <svg  xmlns="http://www.w3.org/2000/svg"  width="24"  height="24"  viewBox="0 0 24 24"  fill="none"  stroke="currentColor"  stroke-width="2"  stroke-linecap="round"  stroke-linejoin="round"  class="icon icon-tabler icons-tabler-outline icon-tabler-copy"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z" /><path d="M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1" /></svg>
  878.            Copy Referral Link
  879.          </button>
  880.        </div>
  881.        <div class="reward-tier">
  882.          <div class="plan-badge premium">Premium Choice</div>
  883.          <span class="plan-price">$99</span>
  884.          <h3>Premium Plan</h3>
  885.          <p class="plan-description">Refer 2 friends to our Premium plan and enjoy a FULL YEAR of our top-tier features FREE!</p>
  886.          <button class="share-button" onclick="shareViaLink('99', 'false' === 'true', event)">
  887.            <svg  xmlns="http://www.w3.org/2000/svg"  width="24"  height="24"  viewBox="0 0 24 24"  fill="none"  stroke="currentColor"  stroke-width="2"  stroke-linecap="round"  stroke-linejoin="round"  class="icon icon-tabler icons-tabler-outline icon-tabler-copy"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7 7m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z" /><path d="M4.012 16.737a2.005 2.005 0 0 1 -1.012 -1.737v-10c0 -1.1 .9 -2 2 -2h10c.75 0 1.158 .385 1.5 1" /></svg>
  888.            Copy Referral Link
  889.          </button>
  890.        </div>
  891.      </div>
  892.      
  893.      <p class="bonus-text">🎉 Already a subscriber? Get a BONUS year added to your current plan when your friends join!</p>
  894.    </div>
  895.  </div>
  896. </div>
  897.  
  898.  
  899. <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
  900.  
  901. const API_CONFIG = {
  902.    
  903.    API_BASE_URL: `${window.location.protocol}//${window.location.host}/premium/`
  904.  };
  905. // function createConfetti() {
  906. //   const colors = ['#6a4dff', '#ff4d6a', '#4dff6a', '#ffd700'];
  907. //   const confettiCount = 150;
  908. //   const container = document.querySelector('.confetti-container');
  909.  
  910. //   for (let i = 0; i < confettiCount; i++) {
  911. //     const confetti = document.createElement('div');
  912. //     confetti.className = 'confetti';
  913. //     confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];
  914. //     confetti.style.left = Math.random() * 100 + '%';
  915. //     confetti.style.animationDelay = Math.random() * 3 + 's';
  916. //     confetti.style.opacity = Math.random();
  917. //     confetti.style.transform = `rotate(${Math.random() * 360}deg)`;
  918.    
  919. //     const size = Math.random() * 10 + 5;
  920. //     confetti.style.width = size + 'px';
  921. //     confetti.style.height = size + 'px';
  922.    
  923. //     container.appendChild(confetti);
  924. //   }
  925. // }
  926.  
  927. function showReferralPopup() {
  928.  const popup = document.getElementById('referralPopup');
  929.  popup.classList.add('active');
  930.  // createConfetti();
  931. }
  932.  
  933. function closeReferralPopup() {
  934.  const popup = document.getElementById('referralPopup');
  935.  popup.classList.remove('active');
  936.  
  937.  // Clean up confetti
  938.  const container = document.querySelector('.confetti-container');
  939.  container.innerHTML = '';
  940. }
  941.  
  942. async function shareViaLink(planPrice, isAuth, event) {
  943.  // Find the button element for the specific plan
  944.  let buttonElement;
  945.  if (event) {
  946.    buttonElement = event.target.closest('.share-button');
  947.  } else {
  948.    // Find the button based on the plan price
  949.    const rewardTiers = document.querySelectorAll('.reward-tier');
  950.    for (const tier of rewardTiers) {
  951.      const priceElement = tier.querySelector('.plan-price');
  952.      if (priceElement && priceElement.textContent.includes(planPrice)) {
  953.        buttonElement = tier.querySelector('.share-button');
  954.        break;
  955.      }
  956.    }
  957.  }
  958.  
  959.  if (!buttonElement) {
  960.    console.error('Button element not found for price:', planPrice);
  961.    return;
  962.  }
  963.  
  964.  const originalText = buttonElement.innerHTML;
  965.  
  966.  // Check localStorage first
  967.  const storageKey = `referral_link_${planPrice}`;
  968.  const cachedLink = localStorage.getItem(storageKey);
  969.  
  970.  if (cachedLink) {
  971.    await copyToClipboard(cachedLink, buttonElement);
  972.    return;
  973.  }
  974.  
  975.  // Show loading state
  976.  buttonElement.innerHTML = `
  977.    <div class="button-spinner"></div>
  978.    <span>Generating link...</span>
  979.  `;
  980.  
  981.  // Function to show error popup
  982.  function showErrorPopup(message) {
  983.    const errorPopup = document.createElement('div');
  984.    errorPopup.className = 'error-popup';
  985.    errorPopup.textContent = message;
  986.    document.body.appendChild(errorPopup);
  987.    
  988.    // Remove popup after 3 seconds
  989.    setTimeout(() => {
  990.      errorPopup.remove();
  991.    }, 3000);
  992.  }
  993.  
  994.  if (isAuth) {
  995.    try {
  996.      
  997.  
  998.      // Call API to generate referral link
  999.  
  1000.      const token = window.localStorage.getItem('authtoken')
  1001.      if(!token){
  1002.        throw new Error('Please logged in and try again');
  1003.      }
  1004.      
  1005.  
  1006.      const response = await fetch( `${API_CONFIG.API_BASE_URL}subscription/generate/`, {
  1007.        method: 'POST',
  1008.        headers: {
  1009.          'Authorization': `Bearer ${token}`,
  1010.          'Content-Type': 'application/json'
  1011.        },
  1012.        body: JSON.stringify({
  1013.          plan: planPrice === '99' ? 'Premium' : 'Pro'
  1014.        })
  1015.      });
  1016.  
  1017.      if (!response.ok) {
  1018.        throw new Error('Failed to generate referral link');
  1019.      }
  1020.  
  1021.      const data = await response.json();
  1022.      
  1023.      if (!data.data?.shared_link) {
  1024.        throw new Error('Invalid response format');
  1025.      }
  1026.  
  1027.      const referralLink = data.data.shared_link;
  1028.      
  1029.      // Store valid link in localStorage
  1030.      const storageKey = `referral_link_${planPrice}`;
  1031.      localStorage.setItem(storageKey, referralLink);
  1032.      
  1033.      // Copy to clipboard and restore original button state
  1034.      buttonElement.innerHTML = originalText;
  1035.      await copyToClipboard(referralLink, buttonElement);
  1036.    } catch (err) {
  1037.      console.error('Error sharing referral link:', err);
  1038.      // Restore original button state
  1039.      buttonElement.innerHTML = originalText;
  1040.      showErrorPopup(err.message || 'Unable to generate referral link. Please try again later.');
  1041.    }
  1042.  } else {
  1043.    // Redirect to auth page with refSub param
  1044.    const refSub = encodeURIComponent(btoa(JSON.stringify({ planPrice, timestamp: Date.now() })));
  1045.    window.location.href = `/auth?refSub=${refSub}`;
  1046.  }
  1047. }
  1048.  
  1049. async function copyToClipboard(text, buttonElement) {
  1050.  if (!text) {
  1051.    showErrorPopup('Invalid referral link');
  1052.    return;
  1053.  }
  1054.  
  1055.  const successState = '✓ Link Copied! Ready to Share';
  1056.  let currentTimeout;
  1057.  
  1058.  try {
  1059.    // Attempt to copy using clipboard API
  1060.    if (navigator.clipboard) {
  1061.      await navigator.clipboard.writeText(text);
  1062.    } else {
  1063.      // Fallback copy method
  1064.      const tempInput = document.createElement('input');
  1065.      tempInput.value = text;
  1066.      document.body.appendChild(tempInput);
  1067.      tempInput.select();
  1068.      document.execCommand('copy');
  1069.      document.body.removeChild(tempInput);
  1070.    }
  1071.  
  1072.    // Show success state
  1073.    const svgContent = buttonElement.querySelector('svg')?.outerHTML || '';
  1074.    buttonElement.innerHTML = svgContent + ' ' + successState;
  1075.  
  1076.    // Clear any existing timeout
  1077.    if (currentTimeout) {
  1078.      clearTimeout(currentTimeout);
  1079.    }
  1080.  
  1081.    // Set new timeout
  1082.    currentTimeout = setTimeout(() => {
  1083.      if (buttonElement.textContent.includes(successState)) {
  1084.        buttonElement.innerHTML = svgContent + ' Copy Referral Link';
  1085.      }
  1086.    }, 3000);
  1087.  
  1088.  } catch (err) {
  1089.    console.error('Failed to copy:', err);
  1090.    showErrorPopup('Failed to copy link. Please try again.');
  1091.  }
  1092. }
  1093.  
  1094. function promptManualCopy(text) {
  1095.  const tempInput = document.createElement('input');
  1096.  tempInput.value = text;
  1097.  document.body.appendChild(tempInput);
  1098.  tempInput.select();
  1099.  document.execCommand('copy');
  1100.  document.body.removeChild(tempInput);
  1101.  
  1102.  const successPopup = document.createElement('div');
  1103.  successPopup.className = 'error-popup success';
  1104.  successPopup.textContent = 'Referral link copied to clipboard! Share it with your friends to start earning rewards.';
  1105.  document.body.appendChild(successPopup);
  1106.  
  1107.  setTimeout(() => {
  1108.    successPopup.remove();
  1109.  }, 3000);
  1110. }
  1111.  
  1112. // Update the existing handleReferral function
  1113. window.handleReferral = function() {
  1114.  showReferralPopup();
  1115. };
  1116.  
  1117. // Initialize popup functionality
  1118. function initReferralPopup() {
  1119.  const popup = document.getElementById('referralPopup');
  1120.  if (!popup) {
  1121.    console.error('Referral popup not found!');
  1122.    return;
  1123.  }
  1124.  
  1125.  // Ensure popup is in body
  1126.  if (popup.parentElement !== document.body) {
  1127.    document.body.appendChild(popup);
  1128.  }
  1129. }
  1130.  
  1131. document.addEventListener('DOMContentLoaded', function() {
  1132.  // Initialize popup
  1133.  initReferralPopup();
  1134.  
  1135.  // Check for pending referral
  1136.  const urlParams = new URLSearchParams(window.location.search);
  1137.  const showReferral = urlParams.get('show_referral');
  1138.  const pendingReferral = localStorage.getItem('pending_referral');
  1139.  
  1140.  if (showReferral && pendingReferral) {
  1141.    try {
  1142.      const referralData = JSON.parse(atob(pendingReferral));
  1143.      if (referralData.planPrice && referralData.timestamp) {
  1144.        // Only process if timestamp is within last 24 hours
  1145.        const now = Date.now();
  1146.        const then = referralData.timestamp;
  1147.        if (now - then < 24 * 60 * 60 * 1000) {
  1148.          // Show popup and trigger link generation
  1149.          showReferralPopup();
  1150.          shareViaLink(referralData.planPrice, true);
  1151.        }
  1152.        // Clear the pending referral
  1153.        localStorage.removeItem('pending_referral');
  1154.      }
  1155.    } catch (error) {
  1156.      console.error('Error processing pending referral:', error);
  1157.    }
  1158.  }
  1159.  
  1160.  // Add confetti animation styles dynamically
  1161.  const style = document.createElement('style');
  1162.  style.textContent = `
  1163.    @keyframes confettiFall {
  1164.      0% {
  1165.        transform: translateY(-100vh) rotate(0deg);
  1166.      }
  1167.      100% {
  1168.        transform: translateY(100vh) rotate(360deg);
  1169.      }
  1170.    }
  1171.    
  1172.    .confetti {
  1173.      position: absolute;
  1174.      width: 10px;
  1175.      height: 10px;
  1176.      background-color: #6a4dff;
  1177.      animation: confettiFall 3s linear infinite;
  1178.    }
  1179.  
  1180.    .button-spinner {
  1181.      display: inline-block;
  1182.      width: 16px;
  1183.      height: 16px;
  1184.      margin-right: 8px;
  1185.      border: 2px solid rgba(255, 255, 255, 0.3);
  1186.      border-top-color: #fff;
  1187.      border-radius: 50%;
  1188.      animation: spin 0.8s linear infinite;
  1189.    }
  1190.    
  1191.    @keyframes spin {
  1192.      to { transform: rotate(360deg); }
  1193.    }
  1194.  
  1195.    .error-popup {
  1196.      position: fixed;
  1197.      top: 20px;
  1198.      right: 20px;
  1199.      background-color: #ff4d4d;
  1200.      color: white;
  1201.      padding: 15px 20px;
  1202.      border-radius: 5px;
  1203.      box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  1204.      z-index: 9999;
  1205.      animation: fadeInOut 3s ease;
  1206.    }
  1207.  
  1208.    .error-popup.success {
  1209.      background-color: #4CAF50;
  1210.    }
  1211.  
  1212.    @keyframes fadeInOut {
  1213.      0% { opacity: 0; transform: translateY(-20px); }
  1214.      10% { opacity: 1; transform: translateY(0); }
  1215.      90% { opacity: 1; transform: translateY(0); }
  1216.      100% { opacity: 0; transform: translateY(-20px); }
  1217.    }
  1218.  `;
  1219.  document.head.appendChild(style);
  1220. });
  1221. </script>
  1222.  
  1223.                <script>
  1224.                  document.addEventListener('DOMContentLoaded', function () {
  1225.                    // Exclude pages with "trip-planner" in the URL
  1226.                    if (window.location.pathname.includes("trip-planner")) {
  1227.                      return;
  1228.                    }
  1229.  
  1230.                    const languageOptions = document.querySelectorAll('.language-option');
  1231.                    const allowedLangs =  ['en', 'fr', 'de', 'zh', 'ar','es','pt','ja','ko','tl','nl','hi'];
  1232.                    const pathSegments = window.location.pathname.split('/').filter(Boolean);
  1233.                    let currentLang = allowedLangs.includes(pathSegments[0]) ? pathSegments[0] : null;
  1234.  
  1235.                    // Get any user-selected language from previous dropdown interactions.
  1236.                    const savedLang = localStorage.getItem('userLang');
  1237.  
  1238.                    // If there's no language code in the URL...
  1239.                    if (!currentLang) {
  1240.                      // If user already chose a language, respect that.
  1241.                      if (savedLang) {
  1242.                        if (savedLang !== 'en') {
  1243.                          const newPath = `/${savedLang}/${pathSegments.join('/')}`;
  1244.                          window.location.replace(newPath);
  1245.                          return;
  1246.                        }
  1247.                        // Else if savedLang is 'en', do nothing so English remains.
  1248.                      } else {
  1249.                        // Auto-detect browser language only if no user preference exists.
  1250.                        const browserLang = window.navigator.language.split('-')[0];
  1251.                        const detectedLang = allowedLangs.includes(browserLang) ? browserLang : 'en';
  1252.                        if (detectedLang !== 'en') {
  1253.                          const newPath = `/${detectedLang}/${pathSegments.join('/')}`;
  1254.                          window.location.replace(newPath);
  1255.                          return;
  1256.                        }
  1257.                      }
  1258.                    }
  1259.  
  1260.                    // Update the language display based on URL or saved user preference.
  1261.                    updateActiveLanguage(currentLang || savedLang || 'en');
  1262.  
  1263.                    // Attach click handlers for language change options.
  1264.                    languageOptions.forEach(option => {
  1265.                      option.addEventListener('click', function (e) {
  1266.                        e.preventDefault();
  1267.                        const selectedLang = this.dataset.lang;
  1268.                        // Save the user's explicit choice.
  1269.                        localStorage.setItem('userLang', selectedLang);
  1270.                        handleLanguageChange(selectedLang);
  1271.                      });
  1272.                    });
  1273.  
  1274.                    function handleLanguageChange(lang) {
  1275.                      const currentPath = window.location.pathname.split('/').filter(Boolean);
  1276.                      const currentLangInPath = allowedLangs.includes(currentPath[0]) ? currentPath[0] : null;
  1277.  
  1278.                      if (lang === 'en') {
  1279.                        // Remove any language prefix for English.
  1280.                        const pathWithoutLang = currentLangInPath ? currentPath.slice(1).join('/') : currentPath.join('/');
  1281.                        window.location.href = `/${pathWithoutLang}`;
  1282.                      } else {
  1283.                        // Prepend the selected language code.
  1284.                        const pathWithoutLang = currentLangInPath ? currentPath.slice(1).join('/') : currentPath.join('/');
  1285.                        window.location.href = `/${lang}/${pathWithoutLang}`;
  1286.                      }
  1287.                    }
  1288.  
  1289.                    function updateActiveLanguage(lang) {
  1290.  
  1291.                      const langArray = {
  1292.  
  1293.                        "en": "English",
  1294.                        "zh": "简体中文",
  1295.                        "ar": "العربية",
  1296.                        "fr": "Français",
  1297.                        "de": "German",
  1298.                        "es": "Español",
  1299.                        "pt": "Português",
  1300.                        "ja": "日本語",
  1301.                        "ko": "한국어",
  1302.                        "tl": "Tagalog",
  1303.                        "nl": "Dutch",
  1304.                        "hi": "हिन्दी"
  1305.                      }
  1306.  
  1307.  
  1308.                      languageOptions.forEach(option => {
  1309.                        option.classList.remove('active');
  1310.                        if (option.dataset.lang === lang) {
  1311.                          option.classList.add('active');
  1312.                        }
  1313.                      });
  1314.                    }
  1315.                  });
  1316.  
  1317.                  // Initialize search buttons with proper handlers
  1318.                  function initializeSearchButtons() {
  1319.                    const typesenseButton = document.getElementById('show-button-typesence');
  1320.                    const aiButton = document.getElementById('show-button-ai');
  1321.                    
  1322.                    if (typesenseButton) {
  1323.                      typesenseButton.onclick = function() {
  1324.                        if (typeof window.hightlightSearchBoxCursor === 'function') {
  1325.                          window.hightlightSearchBoxCursor();
  1326.                        } else if (typeof hightlightSearchBoxCursor === 'function') {
  1327.                          hightlightSearchBoxCursor();
  1328.                        } else {
  1329.                          // Wait for search to load and try again
  1330.                          setTimeout(() => {
  1331.                            if (typeof window.hightlightSearchBoxCursor === 'function') {
  1332.                              window.hightlightSearchBoxCursor();
  1333.                            }
  1334.                          }, 500);
  1335.                        }
  1336.                      };
  1337.                    }
  1338.                    
  1339.                    if (aiButton) {
  1340.                      aiButton.onclick = function() {
  1341.                        if (typeof openSearchPopup === 'function') {
  1342.                          openSearchPopup();
  1343.                        }
  1344.                      };
  1345.                    }
  1346.                  }
  1347.                  
  1348.                  // Initialize immediately and also after a delay to ensure all scripts are loaded
  1349.                  initializeSearchButtons();
  1350.                  setTimeout(initializeSearchButtons, 1000);
  1351.                </script>
  1352.  
  1353.  
  1354.                <style>
  1355.                  .language-option.active {
  1356.                    background-color: #f5f5f5;
  1357.                    font-weight: bold;
  1358.                    color: #6a4dff;
  1359.                  }
  1360.  
  1361.  
  1362.                  .dd-menu .language-option {
  1363.                    display: block;
  1364.                    padding: 8px 15px;
  1365.                    text-decoration: none;
  1366.                    color: inherit;
  1367.                  }
  1368.  
  1369.                  .dd-menu .language-option:hover {
  1370.                    background-color: #f5f5f5;
  1371.                  }
  1372.                  .dd-menu button.dd-item {
  1373.  width: 100%;
  1374.  text-align: left;
  1375.  background: none;
  1376.  border: none;
  1377.  cursor: pointer;
  1378.  font: inherit;
  1379.  color: inherit;
  1380. }
  1381.  
  1382. .dd-menu button.dd-item:hover {
  1383.  background-color: #f5f5f5;
  1384. }
  1385.  
  1386. .language-option.active button.dd-item {
  1387.  color: #6a4dff;
  1388.  font-weight: bold;
  1389. }
  1390.                </style>
  1391.  
  1392.  
  1393.  <main role="main">
  1394.    <section class="hero bg-gray">
  1395.    <div>
  1396.      <h1 fetchpriority="high" class="text-center max-w-4xl mx-auto">
  1397.        AI for All: Explore the First-Ever Visual ChatGPT Platform
  1398.      </h1>
  1399.    </div>
  1400.    <div>
  1401.      <div class="search">
  1402.        <div class="search-header">
  1403.          <button class="" onclick="openSearchPopup()">
  1404.            Ask AI
  1405.          </button>
  1406.        </div>
  1407.      </div>
  1408.    </div>
  1409.    <div class="tags-wrap">
  1410.      <ul>
  1411.        
  1412.          <li>
  1413.            <a href="https://logicballs.com/tags/writing">
  1414.              Writing
  1415.            </a>
  1416.          </li>
  1417.          
  1418.          <li>
  1419.            <a href="https://logicballs.com/tags/marketing-strategy">
  1420.              Marketing Strategy
  1421.            </a>
  1422.          </li>
  1423.          
  1424.          <li>
  1425.            <a href="https://logicballs.com/tags/seo">
  1426.              Seo
  1427.            </a>
  1428.          </li>
  1429.          
  1430.          <li>
  1431.            <a href="https://logicballs.com/tags/social-media-assistant">
  1432.              Social Media Assistant
  1433.            </a>
  1434.          </li>
  1435.          
  1436.          <li>
  1437.            <a href="https://logicballs.com/tags/business">
  1438.              Business
  1439.            </a>
  1440.          </li>
  1441.          
  1442.          <li>
  1443.            <a href="https://logicballs.com/tags/customer-support">
  1444.              Customer Support
  1445.            </a>
  1446.          </li>
  1447.          
  1448.          <li>
  1449.            <a href="https://logicballs.com/tags/real-estate">
  1450.              Real Estate
  1451.            </a>
  1452.          </li>
  1453.          
  1454.          <li>
  1455.            <a href="https://logicballs.com/tags/text-to-voice">
  1456.              Text To Voice
  1457.            </a>
  1458.          </li>
  1459.          
  1460.          <li>
  1461.            <a href="https://logicballs.com/tags/sales">
  1462.              Sales
  1463.            </a>
  1464.          </li>
  1465.          
  1466.          <li>
  1467.            <a href="https://logicballs.com/tags/ads">
  1468.              Ads
  1469.            </a>
  1470.          </li>
  1471.          
  1472.            <li class="all-categore">
  1473.              <a href="https://logicballs.com/tags">
  1474.                All Tags
  1475.                  <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none"
  1476.                    stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"
  1477.                    class="icon icon-tabler icons-tabler-outline icon-tabler-arrow-up-right">
  1478.                    <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1479.                    <path d="M17 7l-10 10" />
  1480.                    <path d="M8 7l9 0l0 9" />
  1481.                  </svg>
  1482.              </a>
  1483.            </li>
  1484.      </ul>
  1485.    </div>
  1486.  
  1487.    <!-- <div class="cta">
  1488.    <a id="show-getstarted-button" onclick="hightlightSearchBoxCursor()" class="btn btn-primary btn-lg">Get
  1489.      started free --&gt;</a>
  1490.  </div> -->
  1491.    <div class="rating ">
  1492.      <div class="avatar">
  1493.        <div>
  1494.          <img src="https://logicballs.com/images/user/avatar04.webp" alt="avatar" width="40"
  1495.            height="40" />
  1496.          <img src="https://logicballs.com/images/user/avatar01.webp" alt="avatar" width="40"
  1497.            height="40" />
  1498.          <img src="https://logicballs.com/images/user/avatar03.webp" alt="avatar" width="40"
  1499.            height="40" />
  1500.          <img src="https://logicballs.com/images/user/avatar05.webp" alt="avatar" width="40"
  1501.            height="40" />
  1502.          <img src="https://logicballs.com/images/user/avatar02.webp" alt="avatar" width="40"
  1503.            height="40" />
  1504.        </div>
  1505.        <div>
  1506.          <div class="star">
  1507.            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
  1508.              <path fill-rule="evenodd"
  1509.                d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401z"
  1510.                clip-rule="evenodd"></path>
  1511.            </svg>
  1512.            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
  1513.              <path fill-rule="evenodd"
  1514.                d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401z"
  1515.                clip-rule="evenodd"></path>
  1516.            </svg>
  1517.            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
  1518.              <path fill-rule="evenodd"
  1519.                d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401z"
  1520.                clip-rule="evenodd"></path>
  1521.            </svg>
  1522.            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
  1523.              <path fill-rule="evenodd"
  1524.                d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401z"
  1525.                clip-rule="evenodd"></path>
  1526.            </svg>
  1527.            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
  1528.              <path fill-rule="evenodd"
  1529.                d="M10.868 2.884c-.321-.772-1.415-.772-1.736 0l-1.83 4.401-4.753.381c-.833.067-1.171 1.107-.536 1.651l3.62 3.102-1.106 4.637c-.194.813.691 1.456 1.405 1.02L10 15.591l4.069 2.485c.713.436 1.598-.207 1.404-1.02l-1.106-4.637 3.62-3.102c.635-.544.297-1.584-.536-1.65l-4.752-.382-1.831-4.401z"
  1530.                clip-rule="evenodd"></path>
  1531.            </svg>
  1532.          </div>
  1533.          <span>
  1534.            and 500,000+ others
  1535.          </span>
  1536.        </div>
  1537.        <a href="https://logicballs.com/testimonial"
  1538.          aria-label="Testimonial">&nbsp;</a>
  1539.      </div>
  1540.    </div>
  1541.  </section>
  1542.  
  1543.  <section class="ai-assistants">
  1544.    <div>
  1545.      <h2 class="text-center">
  1546.        Try Our AI Assistants
  1547.      </h2>
  1548.    </div>
  1549.    <div class="grid-33">
  1550.      <div class="assistant-card card-new rounded shadow">
  1551.        <a href="/characters/chat/f3680134-2403-4711-a5ee-0b999e596652/decisionhelper" class="card-link">
  1552.          <div class="assistant-icon">
  1553.            <img src="/images/character/decision-helper.webp"
  1554.              alt="DecisionHelper icon">
  1555.          </div>
  1556.          <div class="assistant-content">
  1557.            <h3>
  1558.              DecisionHelper
  1559.            </h3>
  1560.            <p>
  1561.              I&#39;m a decision-making assistant, helping people weigh their options and consider various outcomes. I&#39;m here to provide a fresh perspective and support.
  1562.            </p>
  1563.          </div>
  1564.        </a>
  1565.      </div>
  1566.  
  1567.      <div class="assistant-card card-new rounded shadow">
  1568.        <a href="/characters/chat/217220bb-4264-4c17-bb8b-3b8d75d0f182/space-adventure-game" class="card-link">
  1569.          <div class="assistant-icon">
  1570.            <img src="/images/character/space-adventure.webp"
  1571.              alt="Space Adventure Game icon">
  1572.          </div>
  1573.          <div class="assistant-content">
  1574.            <h3>
  1575.              Space Adventure Game
  1576.            </h3>
  1577.            <p>
  1578.              Embark on a thrilling text-based space adventure with the Janitor, your humorous and resourceful guide.
  1579.            </p>
  1580.          </div>
  1581.        </a>
  1582.      </div>
  1583.  
  1584.      <div class="assistant-card card-new rounded shadow">
  1585.        <a href="/characters/chat/e632556a-6b14-4ed8-968f-dfc60e70c102/creative-helper" class="card-link">
  1586.          <div class="assistant-icon">
  1587.            <img src="/images/character/creative-helper.webp"
  1588.              alt="Creative Helper icon">
  1589.          </div>
  1590.          <div class="assistant-content">
  1591.            <h3>
  1592.              Creative Helper
  1593.            </h3>
  1594.            <p>
  1595.              I&#39;m a creative writing assistant, helping you develop characters, worlds, and locations. Just provide me with some details or questions, and I&#39;ll fill in the rest!
  1596.            </p>
  1597.          </div>
  1598.        </a>
  1599.      </div>
  1600.  
  1601.      <div class="assistant-card card-new rounded shadow">
  1602.        <a href="/characters/chat/ba057a59-4f2b-4696-a44a-02d85c939253/trip-planner" class="card-link">
  1603.          <div class="assistant-icon">
  1604.            <img src="/images/character/trip-planner.webp"
  1605.              alt="Trip Planner icon">
  1606.          </div>
  1607.          <div class="assistant-content">
  1608.            <h3>
  1609.              Trip Planner
  1610.            </h3>
  1611.            <p>
  1612.              An AI assistant that helps plan trips by recommending destinations, activities, and local attractions based on user preferences.
  1613.            </p>
  1614.          </div>
  1615.        </a>
  1616.      </div>
  1617.  
  1618.      <div class="assistant-card card-new rounded shadow">
  1619.        <a href="/characters/chat/7f18d012-5811-42a5-8f9e-a4bf083b9833/librarian-linda" class="card-link">
  1620.          <div class="assistant-icon">
  1621.            <img src="/images/character/librarian-linda.webp"
  1622.              alt="Librarian Linda icon">
  1623.          </div>
  1624.          <div class="assistant-content">
  1625.            <h3>
  1626.              Librarian Linda
  1627.            </h3>
  1628.            <p>
  1629.              Librarian Linda is a knowledgeable and helpful Character who loves books and can recommend the perfect read based on your interests.
  1630.            </p>
  1631.          </div>
  1632.        </a>
  1633.      </div>
  1634.  
  1635.      <div class="assistant-card card-new rounded shadow">
  1636.        <a href="/characters/chat/db108b8c-878e-4558-9963-7fb31451b3fd/brainstormer" class="card-link">
  1637.          <div class="assistant-icon">
  1638.            <img src="/images/character/brainstormer.webp"
  1639.              alt="Brainstormer icon">
  1640.          </div>
  1641.          <div class="assistant-content">
  1642.            <h3>
  1643.              Brainstormer
  1644.            </h3>
  1645.            <p>
  1646.              I help people with lateral thinking, coming up with creative ideas, new concepts, and alternative approaches to help people get unstuck and find novel solutions to challenges.
  1647.            </p>
  1648.          </div>
  1649.        </a>
  1650.      </div>
  1651.    </div>
  1652.  
  1653.    <div class="ai-assistants-btn">
  1654.      <a href="/characters" class="btn btn-primary btn-lg">
  1655.        Browse all characters
  1656.      </a>
  1657.    </div>
  1658.  </section>
  1659.  <section class="ai-assistants bg-gray">
  1660.    <div>
  1661.      <h2 class="text-center">
  1662.        Try Our Premium Features
  1663.      </h2>
  1664.    </div>
  1665.    <div class="grid-33">
  1666.      <div class="assistant-card card-new rounded shadow">
  1667.        <a href="https://logicballs.com/youtube-transcript-generator" class="card-link">
  1668.          <div class="assistant-icons">
  1669.            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none"
  1670.              stroke="#6a4dff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"
  1671.              class="icon icon-tabler icons-tabler-outline icon-tabler-brand-youtube">
  1672.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1673.              <path d="M2 8a4 4 0 0 1 4 -4h12a4 4 0 0 1 4 4v8a4 4 0 0 1 -4 4h-12a4 4 0 0 1 -4 -4v-8z" />
  1674.              <path d="M10 9l5 3l-5 3z" />
  1675.            </svg>
  1676.          </div>
  1677.          <div class="assistant-content">
  1678.            <h3>
  1679.              YouTube Transcript Generator
  1680.            </h3>
  1681.            <p>
  1682.              Generate accurate transcripts for YouTube videos. Ideal for content creators, educators, and researchers.
  1683.            </p>
  1684.          </div>
  1685.        </a>
  1686.      </div>
  1687.  
  1688.  
  1689.  
  1690.      <div class="assistant-card card-new rounded shadow">
  1691.        <a href="https://logicballs.com/chat-youtube-video" class="card-link">
  1692.          <div class="assistant-icons">
  1693.            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none"
  1694.              stroke="#6a4dff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"
  1695.              class="icon icon-tabler icons-tabler-outline icon-tabler-messages">
  1696.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1697.              <path d="M21 14l-3 -3h-7a1 1 0 0 1 -1 -1v-6a1 1 0 0 1 1 -1h9a1 1 0 0 1 1 1v10" />
  1698.              <path d="M14 15v2a1 1 0 0 1 -1 1h-7l-3 3v-10a1 1 0 0 1 1 -1h2" />
  1699.            </svg>
  1700.          </div>
  1701.          <div class="assistant-content">
  1702.            <h3>
  1703.              Chat with YouTube Video
  1704.            </h3>
  1705.            <p>
  1706.              Ask questions and get instant answers from YouTube videos with AI-powered insights.
  1707.            </p>
  1708.          </div>
  1709.        </a>
  1710.      </div>
  1711.  
  1712.      <div class="assistant-card card-new rounded shadow">
  1713.        <a href="https://logicballs.com/chat-with-pdf" class="card-link">
  1714.          <div class="assistant-icons">
  1715.            <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 24 24" fill="none"
  1716.              stroke="#6a4dff" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"
  1717.              class="icon icon-tabler icons-tabler-outline icon-tabler-file-type-pdf">
  1718.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1719.              <path d="M14 3v4a1 1 0 0 0 1 1h4" />
  1720.              <path d="M5 12v-7a2 2 0 0 1 2 -2h7l5 5v4" />
  1721.              <path d="M5 18h1.5a1.5 1.5 0 0 0 0 -3h-1.5v6" />
  1722.              <path d="M17 18h2" />
  1723.              <path d="M20 15h-3v6" />
  1724.              <path d="M11 15v6h1a2 2 0 0 0 2 -2v-2a2 2 0 0 0 -2 -2h-1z" />
  1725.            </svg>
  1726.          </div>
  1727.          <div class="assistant-content">
  1728.            <h3>
  1729.              Chat with PDF
  1730.            </h3>
  1731.            <p>
  1732.              Unlock insights from PDF documents instantly. Ideal for students, researchers, and professionals.
  1733.            </p>
  1734.          </div>
  1735.        </a>
  1736.      </div>
  1737.  
  1738.  
  1739.  
  1740.  
  1741.  
  1742.    </div>
  1743.  
  1744.  </section>
  1745.  <section class="categorie">
  1746.    <div>
  1747.      <h2 class="text-center">
  1748.        AI Tools for Every Need
  1749.      </h2>
  1750.    </div>
  1751.    <div class="grid-33">
  1752.      
  1753.        <div class="card-new rounded bordered">
  1754.          <h3>
  1755.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  1756.              stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  1757.              class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  1758.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1759.              <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  1760.              <path d="M16 7h4" />
  1761.              <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  1762.            </svg>
  1763.            General
  1764.          </h3>
  1765.          <ul>
  1766.            
  1767.              <li>
  1768.                <a href="https://logicballs.com/tools/add-emoji-to-text">
  1769.                  <div class="tools-name">
  1770.                    Add Emoji to Text
  1771.                  </div>
  1772.                </a>
  1773.              </li>
  1774.              
  1775.              <li>
  1776.                <a href="https://logicballs.com/tools/ai-introduction-generator">
  1777.                  <div class="tools-name">
  1778.                    Introduction Generator
  1779.                  </div>
  1780.                </a>
  1781.              </li>
  1782.              
  1783.              <li>
  1784.                <a href="https://logicballs.com/tools/ai-joke-generator">
  1785.                  <div class="tools-name">
  1786.                    Joke Generator
  1787.                  </div>
  1788.                </a>
  1789.              </li>
  1790.              
  1791.              <li>
  1792.                <a href="https://logicballs.com/tools/ai-pros-and-cons-tool">
  1793.                  <div class="tools-name">
  1794.                    Pros and Cons Tool
  1795.                  </div>
  1796.                </a>
  1797.              </li>
  1798.              
  1799.              <li>
  1800.                <a href="https://logicballs.com/tools/baby-names-generator">
  1801.                  <div class="tools-name">
  1802.                    Baby Name Generator: Find the Unique Baby Names
  1803.                  </div>
  1804.                </a>
  1805.              </li>
  1806.              
  1807.              <li>
  1808.                <a href="https://logicballs.com/tools/email-response-generator">
  1809.                  <div class="tools-name">
  1810.                    Email Response Generator
  1811.                  </div>
  1812.                </a>
  1813.              </li>
  1814.              
  1815.              <li>
  1816.                <a href="https://logicballs.com/tools/email-subject-line-generator">
  1817.                  <div class="tools-name">
  1818.                    Email Subject Line Generator
  1819.                  </div>
  1820.                </a>
  1821.              </li>
  1822.              
  1823.              <li>
  1824.                <a href="https://logicballs.com/tools/email-writer-and-generator">
  1825.                  <div class="tools-name">
  1826.                    Email Writer & Generator
  1827.                  </div>
  1828.                </a>
  1829.              </li>
  1830.              
  1831.              <li>
  1832.                <a href="https://logicballs.com/tools/emoji-translator">
  1833.                  <div class="tools-name">
  1834.                    Emoji Translator
  1835.                  </div>
  1836.                </a>
  1837.              </li>
  1838.              
  1839.              <li>
  1840.                <a href="https://logicballs.com/tools/excel-formula-generator">
  1841.                  <div class="tools-name">
  1842.                    AI Excel Formula Generator
  1843.                  </div>
  1844.                </a>
  1845.              </li>
  1846.              
  1847.          </ul>
  1848.          <div class="btn-wrap">
  1849.            <a href="https://logicballs.com/browse-ai-tools/general">
  1850.              View all (38) -->
  1851.            </a>
  1852.          </div>
  1853.        </div>
  1854.        
  1855.        <div class="card-new rounded bordered">
  1856.          <h3>
  1857.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  1858.              stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  1859.              class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  1860.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1861.              <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  1862.              <path d="M16 7h4" />
  1863.              <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  1864.            </svg>
  1865.            Marketing
  1866.          </h3>
  1867.          <ul>
  1868.            
  1869.              <li>
  1870.                <a href="https://logicballs.com/tools/-pr-tactics-guide-for-startups-creator">
  1871.                  <div class="tools-name">
  1872.                    PR Tactics Guide Creator for Startups
  1873.                  </div>
  1874.                </a>
  1875.              </li>
  1876.              
  1877.              <li>
  1878.                <a href="https://logicballs.com/tools/about-us-page-generator">
  1879.                  <div class="tools-name">
  1880.                    About Us Page Generator
  1881.                  </div>
  1882.                </a>
  1883.              </li>
  1884.              
  1885.              <li>
  1886.                <a href="https://logicballs.com/tools/advertisement-script-generator">
  1887.                  <div class="tools-name">
  1888.                    Advertisement Script Generator
  1889.                  </div>
  1890.                </a>
  1891.              </li>
  1892.              
  1893.              <li>
  1894.                <a href="https://logicballs.com/tools/advertising-campaign-generator">
  1895.                  <div class="tools-name">
  1896.                    Advertising Campaign Generator
  1897.                  </div>
  1898.                </a>
  1899.              </li>
  1900.              
  1901.              <li>
  1902.                <a href="https://logicballs.com/tools/ai-ad-concepts-generator">
  1903.                  <div class="tools-name">
  1904.                    Ad Concepts Generator
  1905.                  </div>
  1906.                </a>
  1907.              </li>
  1908.              
  1909.              <li>
  1910.                <a href="https://logicballs.com/tools/ai-brand-identity-quiz-generator">
  1911.                  <div class="tools-name">
  1912.                    Brand Identity Quiz Generator
  1913.                  </div>
  1914.                </a>
  1915.              </li>
  1916.              
  1917.              <li>
  1918.                <a href="https://logicballs.com/tools/ai-brand-persons-generator">
  1919.                  <div class="tools-name">
  1920.                    Brand Persons Generator
  1921.                  </div>
  1922.                </a>
  1923.              </li>
  1924.              
  1925.              <li>
  1926.                <a href="https://logicballs.com/tools/ai-brand-storytelling-generator">
  1927.                  <div class="tools-name">
  1928.                    Brand Storytelling Generator
  1929.                  </div>
  1930.                </a>
  1931.              </li>
  1932.              
  1933.              <li>
  1934.                <a href="https://logicballs.com/tools/ai-csr-pr-campaign-creator">
  1935.                  <div class="tools-name">
  1936.                    CSR PR Campaign Creator
  1937.                  </div>
  1938.                </a>
  1939.              </li>
  1940.              
  1941.              <li>
  1942.                <a href="https://logicballs.com/tools/ai-customer-loyalty-questionnaire-generator">
  1943.                  <div class="tools-name">
  1944.                    Customer Loyalty Questionnaire Generator
  1945.                  </div>
  1946.                </a>
  1947.              </li>
  1948.              
  1949.          </ul>
  1950.          <div class="btn-wrap">
  1951.            <a href="https://logicballs.com/browse-ai-tools/marketing">
  1952.              View all (140) -->
  1953.            </a>
  1954.          </div>
  1955.        </div>
  1956.        
  1957.        <div class="card-new rounded bordered">
  1958.          <h3>
  1959.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  1960.              stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  1961.              class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  1962.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  1963.              <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  1964.              <path d="M16 7h4" />
  1965.              <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  1966.            </svg>
  1967.            Sales
  1968.          </h3>
  1969.          <ul>
  1970.            
  1971.              <li>
  1972.                <a href="https://logicballs.com/tools/-ai-client-success-story-generator">
  1973.                  <div class="tools-name">
  1974.                    Client Success Story Generator
  1975.                  </div>
  1976.                </a>
  1977.              </li>
  1978.              
  1979.              <li>
  1980.                <a href="https://logicballs.com/tools/-ai-upselling-generator">
  1981.                  <div class="tools-name">
  1982.                    Upselling Generator
  1983.                  </div>
  1984.                </a>
  1985.              </li>
  1986.              
  1987.              <li>
  1988.                <a href="https://logicballs.com/tools/account-planning-assistant">
  1989.                  <div class="tools-name">
  1990.                    Account Planning Assistant
  1991.                  </div>
  1992.                </a>
  1993.              </li>
  1994.              
  1995.              <li>
  1996.                <a href="https://logicballs.com/tools/ai-b2c-sales-workflow-generator">
  1997.                  <div class="tools-name">
  1998.                    B2C Sales Workflow Generator
  1999.                  </div>
  2000.                </a>
  2001.              </li>
  2002.              
  2003.              <li>
  2004.                <a href="https://logicballs.com/tools/ai-client-retention-strategies-developer">
  2005.                  <div class="tools-name">
  2006.                    Client Retention Strategies Developer
  2007.                  </div>
  2008.                </a>
  2009.              </li>
  2010.              
  2011.              <li>
  2012.                <a href="https://logicballs.com/tools/ai-cold-calling-strategies-generator">
  2013.                  <div class="tools-name">
  2014.                    Cold Calling Strategies Generator
  2015.                  </div>
  2016.                </a>
  2017.              </li>
  2018.              
  2019.              <li>
  2020.                <a href="https://logicballs.com/tools/ai-customer-lifetime-value-analysis">
  2021.                  <div class="tools-name">
  2022.                    Customer Lifetime Value Analysis
  2023.                  </div>
  2024.                </a>
  2025.              </li>
  2026.              
  2027.              <li>
  2028.                <a href="https://logicballs.com/tools/ai-personalized-sales-pitch-generator">
  2029.                  <div class="tools-name">
  2030.                    Personalized Sales Pitch Generator
  2031.                  </div>
  2032.                </a>
  2033.              </li>
  2034.              
  2035.              <li>
  2036.                <a href="https://logicballs.com/tools/ai-phone-sales-script-generator">
  2037.                  <div class="tools-name">
  2038.                    Phone Sales Script Generator
  2039.                  </div>
  2040.                </a>
  2041.              </li>
  2042.              
  2043.              <li>
  2044.                <a href="https://logicballs.com/tools/ai-sales-negotiatior">
  2045.                  <div class="tools-name">
  2046.                    Sales Negotiator
  2047.                  </div>
  2048.                </a>
  2049.              </li>
  2050.              
  2051.          </ul>
  2052.          <div class="btn-wrap">
  2053.            <a href="https://logicballs.com/browse-ai-tools/sales">
  2054.              View all (61) -->
  2055.            </a>
  2056.          </div>
  2057.        </div>
  2058.        
  2059.        <div class="card-new rounded bordered">
  2060.          <h3>
  2061.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2062.              stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2063.              class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2064.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2065.              <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2066.              <path d="M16 7h4" />
  2067.              <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2068.            </svg>
  2069.            SEO
  2070.          </h3>
  2071.          <ul>
  2072.            
  2073.              <li>
  2074.                <a href="https://logicballs.com/tools/ai-h1-heading-generator">
  2075.                  <div class="tools-name">
  2076.                    H1 Heading Generator
  2077.                  </div>
  2078.                </a>
  2079.              </li>
  2080.              
  2081.              <li>
  2082.                <a href="https://logicballs.com/tools/ai-heading-rewriter">
  2083.                  <div class="tools-name">
  2084.                    Heading Rewriter
  2085.                  </div>
  2086.                </a>
  2087.              </li>
  2088.              
  2089.              <li>
  2090.                <a href="https://logicballs.com/tools/ai-seo-friendly-url-generator">
  2091.                  <div class="tools-name">
  2092.                    SEO-Friendly URL Generator
  2093.                  </div>
  2094.                </a>
  2095.              </li>
  2096.              
  2097.              <li>
  2098.                <a href="https://logicballs.com/tools/backlink-outreach-email-generator">
  2099.                  <div class="tools-name">
  2100.                    Backlink Outreach Email
  2101.                  </div>
  2102.                </a>
  2103.              </li>
  2104.              
  2105.              <li>
  2106.                <a href="https://logicballs.com/tools/keywords-extractor">
  2107.                  <div class="tools-name">
  2108.                    Keywords Extractor
  2109.                  </div>
  2110.                </a>
  2111.              </li>
  2112.              
  2113.              <li>
  2114.                <a href="https://logicballs.com/tools/keywords-generator">
  2115.                  <div class="tools-name">
  2116.                    Keywords Generator
  2117.                  </div>
  2118.                </a>
  2119.              </li>
  2120.              
  2121.              <li>
  2122.                <a href="https://logicballs.com/tools/seo-meta-title-generator">
  2123.                  <div class="tools-name">
  2124.                    SEO Meta Title Generator
  2125.                  </div>
  2126.                </a>
  2127.              </li>
  2128.              
  2129.              <li>
  2130.                <a href="https://logicballs.com/tools/seo-topical-map-generator">
  2131.                  <div class="tools-name">
  2132.                    SEO Topical Map Generator
  2133.                  </div>
  2134.                </a>
  2135.              </li>
  2136.              
  2137.              <li>
  2138.                <a href="https://logicballs.com/tools/keyword-research-strategies-generator">
  2139.                  <div class="tools-name">
  2140.                    Keyword Research Strategies Generator
  2141.                  </div>
  2142.                </a>
  2143.              </li>
  2144.              
  2145.              <li>
  2146.                <a href="https://logicballs.com/tools/long-tail-keyword-generator">
  2147.                  <div class="tools-name">
  2148.                    Long Tail Keyword Generator
  2149.                  </div>
  2150.                </a>
  2151.              </li>
  2152.              
  2153.          </ul>
  2154.          <div class="btn-wrap">
  2155.            <a href="https://logicballs.com/browse-ai-tools/seo">
  2156.              View all (12) -->
  2157.            </a>
  2158.          </div>
  2159.        </div>
  2160.        
  2161.        <div class="card-new rounded bordered">
  2162.          <h3>
  2163.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2164.              stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2165.              class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2166.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2167.              <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2168.              <path d="M16 7h4" />
  2169.              <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2170.            </svg>
  2171.            Social Media
  2172.          </h3>
  2173.          <ul>
  2174.            
  2175.              <li>
  2176.                <a href="https://logicballs.com/tools/facebook-group-post-comment-generator">
  2177.                  <div class="tools-name">
  2178.                    Facebook Group Post Comment Generator
  2179.                  </div>
  2180.                </a>
  2181.              </li>
  2182.              
  2183.              <li>
  2184.                <a href="https://logicballs.com/tools/facebook-group-post-generator">
  2185.                  <div class="tools-name">
  2186.                    Facebook Group Post Generator
  2187.                  </div>
  2188.                </a>
  2189.              </li>
  2190.              
  2191.              <li>
  2192.                <a href="https://logicballs.com/tools/facebook-post-comment-generator">
  2193.                  <div class="tools-name">
  2194.                    Facebook Post Comment Generator
  2195.                  </div>
  2196.                </a>
  2197.              </li>
  2198.              
  2199.              <li>
  2200.                <a href="https://logicballs.com/tools/facebook-post-generator">
  2201.                  <div class="tools-name">
  2202.                    Facebook Post Generator
  2203.                  </div>
  2204.                </a>
  2205.              </li>
  2206.              
  2207.              <li>
  2208.                <a href="https://logicballs.com/tools/hacker-news-post-comment-generator">
  2209.                  <div class="tools-name">
  2210.                    Hacker News Post Comment Generator
  2211.                  </div>
  2212.                </a>
  2213.              </li>
  2214.              
  2215.              <li>
  2216.                <a href="https://logicballs.com/tools/hacker-news-post-generator">
  2217.                  <div class="tools-name">
  2218.                    Hacker News Post Generator
  2219.                  </div>
  2220.                </a>
  2221.              </li>
  2222.              
  2223.              <li>
  2224.                <a href="https://logicballs.com/tools/indie-hackers-post-generator">
  2225.                  <div class="tools-name">
  2226.                    IndieHackers Post Generator
  2227.                  </div>
  2228.                </a>
  2229.              </li>
  2230.              
  2231.              <li>
  2232.                <a href="https://logicballs.com/tools/indiehackers-post-comment-generator">
  2233.                  <div class="tools-name">
  2234.                    IndieHackers Post Comment Generator
  2235.                  </div>
  2236.                </a>
  2237.              </li>
  2238.              
  2239.              <li>
  2240.                <a href="https://logicballs.com/tools/instagram-bio-generator">
  2241.                  <div class="tools-name">
  2242.                    Instagram Bio Generator
  2243.                  </div>
  2244.                </a>
  2245.              </li>
  2246.              
  2247.              <li>
  2248.                <a href="https://logicballs.com/tools/instagram-caption-generator">
  2249.                  <div class="tools-name">
  2250.                    Instagram Caption Generator
  2251.                  </div>
  2252.                </a>
  2253.              </li>
  2254.              
  2255.          </ul>
  2256.          <div class="btn-wrap">
  2257.            <a href="https://logicballs.com/browse-ai-tools/social-media">
  2258.              View all (73) -->
  2259.            </a>
  2260.          </div>
  2261.        </div>
  2262.        
  2263.        <div class="card-new rounded bordered">
  2264.          <h3>
  2265.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2266.              stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2267.              class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2268.              <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2269.              <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2270.              <path d="M16 7h4" />
  2271.              <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2272.            </svg>
  2273.            Writing
  2274.          </h3>
  2275.          <ul>
  2276.            
  2277.              <li>
  2278.                <a href="https://logicballs.com/tools/-pr-plan-for-journalist-outreach-generator">
  2279.                  <div class="tools-name">
  2280.                    Journalist Outreach PR Plan Generator
  2281.                  </div>
  2282.                </a>
  2283.              </li>
  2284.              
  2285.              <li>
  2286.                <a href="https://logicballs.com/tools/abstract-convert">
  2287.                  <div class="tools-name">
  2288.                    AI Abstract Convert
  2289.                  </div>
  2290.                </a>
  2291.              </li>
  2292.              
  2293.              <li>
  2294.                <a href="https://logicballs.com/tools/acronym-generator">
  2295.                  <div class="tools-name">
  2296.                    Acronym Generator
  2297.                  </div>
  2298.                </a>
  2299.              </li>
  2300.              
  2301.              <li>
  2302.                <a href="https://logicballs.com/tools/active-to-passive-voice-converter">
  2303.                  <div class="tools-name">
  2304.                    Active to Passive Voice Converter
  2305.                  </div>
  2306.                </a>
  2307.              </li>
  2308.              
  2309.              <li>
  2310.                <a href="https://logicballs.com/tools/add-details">
  2311.                  <div class="tools-name">
  2312.                    AI Add Details
  2313.                  </div>
  2314.                </a>
  2315.              </li>
  2316.              
  2317.              <li>
  2318.                <a href="https://logicballs.com/tools/ai-answer-generator">
  2319.                  <div class="tools-name">
  2320.                     AI Answer Generator
  2321.                  </div>
  2322.                </a>
  2323.              </li>
  2324.              
  2325.              <li>
  2326.                <a href="https://logicballs.com/tools/ai-application-writer">
  2327.                  <div class="tools-name">
  2328.                    Application Writer
  2329.                  </div>
  2330.                </a>
  2331.              </li>
  2332.              
  2333.              <li>
  2334.                <a href="https://logicballs.com/tools/ai-argument-enhancer">
  2335.                  <div class="tools-name">
  2336.                    Argument Enhancer
  2337.                  </div>
  2338.                </a>
  2339.              </li>
  2340.              
  2341.              <li>
  2342.                <a href="https://logicballs.com/tools/ai-book-ideas-generator">
  2343.                  <div class="tools-name">
  2344.                    Book Ideas Generator
  2345.                  </div>
  2346.                </a>
  2347.              </li>
  2348.              
  2349.              <li>
  2350.                <a href="https://logicballs.com/tools/ai-book-outline-generator">
  2351.                  <div class="tools-name">
  2352.                    Book Outline Generator
  2353.                  </div>
  2354.                </a>
  2355.              </li>
  2356.              
  2357.          </ul>
  2358.          <div class="btn-wrap">
  2359.            <a href="https://logicballs.com/browse-ai-tools/writing">
  2360.              View all (136) -->
  2361.            </a>
  2362.          </div>
  2363.        </div>
  2364.        
  2365.    </div>
  2366.  
  2367.    <div class="btn-wrap btn-center">
  2368.      <a href="https://logicballs.com/browse-ai-tools" class="btn btn-primary btn-lg">
  2369.        Browse all categories
  2370.      </a>
  2371.    </div>
  2372.  </section>
  2373.  
  2374.  
  2375.    <section class="categorie">
  2376.      <div>
  2377.        <h2 class="text-center">
  2378.          AI Tools for US <span class="fi fi-us"></span>
  2379.  
  2380.        </h2>
  2381.  
  2382.      </div>
  2383.      <div class="grid-33">
  2384.        
  2385.          <div class="card-new rounded bordered">
  2386.            <h3>
  2387.              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2388.                stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2389.                class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2390.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2391.                <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2392.                <path d="M16 7h4" />
  2393.                <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2394.              </svg>
  2395.              US Grant Writing
  2396.            </h3>
  2397.            <ul>
  2398.              
  2399.                <li>
  2400.                  <a href="https://logicballs.com/tools/capacity-building-planner">
  2401.                    <div class="tools-name">
  2402.                      Capacity Building Planner
  2403.                    </div>
  2404.                  </a>
  2405.                </li>
  2406.                
  2407.                <li>
  2408.                  <a href="https://logicballs.com/tools/collaboration-plan-writer">
  2409.                    <div class="tools-name">
  2410.                      Collaboration Plan Writer
  2411.                    </div>
  2412.                  </a>
  2413.                </li>
  2414.                
  2415.                <li>
  2416.                  <a href="https://logicballs.com/tools/diversity-plan-generator">
  2417.                    <div class="tools-name">
  2418.                      Diversity Plan Generator
  2419.                    </div>
  2420.                  </a>
  2421.                </li>
  2422.                
  2423.                <li>
  2424.                  <a href="https://logicballs.com/tools/evaluation-matrix-creator">
  2425.                    <div class="tools-name">
  2426.                      Evaluation Matrix Creator
  2427.                    </div>
  2428.                  </a>
  2429.                </li>
  2430.                
  2431.                <li>
  2432.                  <a href="https://logicballs.com/tools/federal-forms-assistant">
  2433.                    <div class="tools-name">
  2434.                      Federal Forms Assistant
  2435.                    </div>
  2436.                  </a>
  2437.                </li>
  2438.                
  2439.                <li>
  2440.                  <a href="https://logicballs.com/tools/federal-grant-formatter">
  2441.                    <div class="tools-name">
  2442.                      Federal Grant Formatter
  2443.                    </div>
  2444.                  </a>
  2445.                </li>
  2446.                
  2447.                <li>
  2448.                  <a href="https://logicballs.com/tools/foundation-grant-customizer">
  2449.                    <div class="tools-name">
  2450.                      Foundation Grant Customizer
  2451.                    </div>
  2452.                  </a>
  2453.                </li>
  2454.                
  2455.                <li>
  2456.                  <a href="https://logicballs.com/tools/grant-abstract-polisher">
  2457.                    <div class="tools-name">
  2458.                      Grant Abstract Polisher
  2459.                    </div>
  2460.                  </a>
  2461.                </li>
  2462.                
  2463.                <li>
  2464.                  <a href="https://logicballs.com/tools/grant-alignment-checker">
  2465.                    <div class="tools-name">
  2466.                      Grant Alignment Checker
  2467.                    </div>
  2468.                  </a>
  2469.                </li>
  2470.                
  2471.                <li>
  2472.                  <a href="https://logicballs.com/tools/grant-appeal-generator">
  2473.                    <div class="tools-name">
  2474.                      Grant Appeal Generator
  2475.                    </div>
  2476.                  </a>
  2477.                </li>
  2478.                
  2479.            </ul>
  2480.            <div class="btn-wrap">
  2481.              <a href="https://logicballs.com/category/us-grant-writing">
  2482.                View all
  2483.              </a>
  2484.            </div>
  2485.          </div>
  2486.          
  2487.          <div class="card-new rounded bordered">
  2488.            <h3>
  2489.              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2490.                stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2491.                class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2492.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2493.                <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2494.                <path d="M16 7h4" />
  2495.                <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2496.              </svg>
  2497.              US Transportation And Logistics
  2498.            </h3>
  2499.            <ul>
  2500.              
  2501.                <li>
  2502.                  <a href="https://logicballs.com/tools/bill-of-lading-generator">
  2503.                    <div class="tools-name">
  2504.                      Bill of Lading Generator
  2505.                    </div>
  2506.                  </a>
  2507.                </li>
  2508.                
  2509.                <li>
  2510.                  <a href="https://logicballs.com/tools/cargo-securement-guide">
  2511.                    <div class="tools-name">
  2512.                      Cargo Securement Guide
  2513.                    </div>
  2514.                  </a>
  2515.                </li>
  2516.                
  2517.                <li>
  2518.                  <a href="https://logicballs.com/tools/carrier-contract-analyzer">
  2519.                    <div class="tools-name">
  2520.                      Carrier Contract Analyzer
  2521.                    </div>
  2522.                  </a>
  2523.                </li>
  2524.                
  2525.                <li>
  2526.                  <a href="https://logicballs.com/tools/carrier-selection-guide">
  2527.                    <div class="tools-name">
  2528.                      Carrier Selection Guide
  2529.                    </div>
  2530.                  </a>
  2531.                </li>
  2532.                
  2533.                <li>
  2534.                  <a href="https://logicballs.com/tools/chain-of-custody-generator">
  2535.                    <div class="tools-name">
  2536.                      Chain of Custody Generator
  2537.                    </div>
  2538.                  </a>
  2539.                </li>
  2540.                
  2541.                <li>
  2542.                  <a href="https://logicballs.com/tools/compliance-training-guide">
  2543.                    <div class="tools-name">
  2544.                      Compliance Training Guide
  2545.                    </div>
  2546.                  </a>
  2547.                </li>
  2548.                
  2549.                <li>
  2550.                  <a href="https://logicballs.com/tools/cross-border-documentation">
  2551.                    <div class="tools-name">
  2552.                      Cross-Border Documentation
  2553.                    </div>
  2554.                  </a>
  2555.                </li>
  2556.                
  2557.                <li>
  2558.                  <a href="https://logicballs.com/tools/csa-score-improvement-plan">
  2559.                    <div class="tools-name">
  2560.                      CSA Score Improvement Plan
  2561.                    </div>
  2562.                  </a>
  2563.                </li>
  2564.                
  2565.                <li>
  2566.                  <a href="https://logicballs.com/tools/customs-documentation-helper">
  2567.                    <div class="tools-name">
  2568.                      Customs Documentation Helper
  2569.                    </div>
  2570.                  </a>
  2571.                </li>
  2572.                
  2573.                <li>
  2574.                  <a href="https://logicballs.com/tools/delivery-exception-handler">
  2575.                    <div class="tools-name">
  2576.                      Delivery Exception Handler
  2577.                    </div>
  2578.                  </a>
  2579.                </li>
  2580.                
  2581.            </ul>
  2582.            <div class="btn-wrap">
  2583.              <a href="https://logicballs.com/category/us-transportation-and-logistics">
  2584.                View all
  2585.              </a>
  2586.            </div>
  2587.          </div>
  2588.          
  2589.          <div class="card-new rounded bordered">
  2590.            <h3>
  2591.              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2592.                stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2593.                class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2594.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2595.                <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2596.                <path d="M16 7h4" />
  2597.                <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2598.              </svg>
  2599.              US Services
  2600.            </h3>
  2601.            <ul>
  2602.              
  2603.                <li>
  2604.                  <a href="https://logicballs.com/tools/auto-mechanic-inspection-checklist-generator">
  2605.                    <div class="tools-name">
  2606.                      AI Auto Mechanic Inspection Checklist Generator
  2607.                    </div>
  2608.                  </a>
  2609.                </li>
  2610.                
  2611.                <li>
  2612.                  <a href="https://logicballs.com/tools/auto-mechanic-maintenance-plan-generator">
  2613.                    <div class="tools-name">
  2614.                      Auto Mechanic Maintenance Plan Generator
  2615.                    </div>
  2616.                  </a>
  2617.                </li>
  2618.                
  2619.                <li>
  2620.                  <a href="https://logicballs.com/tools/auto-mechanic-proposal-generator">
  2621.                    <div class="tools-name">
  2622.                      AI Auto Mechanic Proposal Generator
  2623.                    </div>
  2624.                  </a>
  2625.                </li>
  2626.                
  2627.                <li>
  2628.                  <a href="https://logicballs.com/tools/auto-mechanic-service-call-report-generator">
  2629.                    <div class="tools-name">
  2630.                      AI Auto Mechanic Service Call Report Generator
  2631.                    </div>
  2632.                  </a>
  2633.                </li>
  2634.                
  2635.                <li>
  2636.                  <a href="https://logicballs.com/tools/auto-mechanic-service-description-generator">
  2637.                    <div class="tools-name">
  2638.                      AI Auto Mechanic Service Description Generator
  2639.                    </div>
  2640.                  </a>
  2641.                </li>
  2642.                
  2643.                <li>
  2644.                  <a href="https://logicballs.com/tools/electrical-service-call-report-generator">
  2645.                    <div class="tools-name">
  2646.                      AI Electrical Service Call Report Generator
  2647.                    </div>
  2648.                  </a>
  2649.                </li>
  2650.                
  2651.                <li>
  2652.                  <a href="https://logicballs.com/tools/handyman-inspection-checklist-generator">
  2653.                    <div class="tools-name">
  2654.                      Handyman Inspection Checklist Generator
  2655.                    </div>
  2656.                  </a>
  2657.                </li>
  2658.                
  2659.                <li>
  2660.                  <a href="https://logicballs.com/tools/handyman-maintenance-plan-generator">
  2661.                    <div class="tools-name">
  2662.                      AI Handyman Maintenance Plan Generator
  2663.                    </div>
  2664.                  </a>
  2665.                </li>
  2666.                
  2667.                <li>
  2668.                  <a href="https://logicballs.com/tools/handyman-project-description-generator">
  2669.                    <div class="tools-name">
  2670.                      AI Handyman Project Description Generator
  2671.                    </div>
  2672.                  </a>
  2673.                </li>
  2674.                
  2675.                <li>
  2676.                  <a href="https://logicballs.com/tools/handyman-service-call-report-generator">
  2677.                    <div class="tools-name">
  2678.                      AI Handyman Service Call Report Generator
  2679.                    </div>
  2680.                  </a>
  2681.                </li>
  2682.                
  2683.            </ul>
  2684.            <div class="btn-wrap">
  2685.              <a href="https://logicballs.com/category/us-services">
  2686.                View all
  2687.              </a>
  2688.            </div>
  2689.          </div>
  2690.          
  2691.          <div class="card-new rounded bordered">
  2692.            <h3>
  2693.              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2694.                stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2695.                class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2696.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2697.                <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2698.                <path d="M16 7h4" />
  2699.                <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2700.              </svg>
  2701.              US Patent Applications
  2702.            </h3>
  2703.            <ul>
  2704.              
  2705.                <li>
  2706.                  <a href="https://logicballs.com/tools/accelerated-exam-generator">
  2707.                    <div class="tools-name">
  2708.                      Accelerated Exam Generator
  2709.                    </div>
  2710.                  </a>
  2711.                </li>
  2712.                
  2713.                <li>
  2714.                  <a href="https://logicballs.com/tools/advisory-action-response">
  2715.                    <div class="tools-name">
  2716.                      Advisory Action Response
  2717.                    </div>
  2718.                  </a>
  2719.                </li>
  2720.                
  2721.                <li>
  2722.                  <a href="https://logicballs.com/tools/after-final-response-helper">
  2723.                    <div class="tools-name">
  2724.                      After Final Response Helper
  2725.                    </div>
  2726.                  </a>
  2727.                </li>
  2728.                
  2729.                <li>
  2730.                  <a href="https://logicballs.com/tools/appeal-brief-helper">
  2731.                    <div class="tools-name">
  2732.                      Appeal Brief Helper
  2733.                    </div>
  2734.                  </a>
  2735.                </li>
  2736.                
  2737.                <li>
  2738.                  <a href="https://logicballs.com/tools/art-unit-analyzer">
  2739.                    <div class="tools-name">
  2740.                      Art Unit Analyzer
  2741.                    </div>
  2742.                  </a>
  2743.                </li>
  2744.                
  2745.                <li>
  2746.                  <a href="https://logicballs.com/tools/best-mode-evaluator">
  2747.                    <div class="tools-name">
  2748.                      Best Mode Evaluator
  2749.                    </div>
  2750.                  </a>
  2751.                </li>
  2752.                
  2753.                <li>
  2754.                  <a href="https://logicballs.com/tools/certificate-of-correction">
  2755.                    <div class="tools-name">
  2756.                      Certificate of Correction
  2757.                    </div>
  2758.                  </a>
  2759.                </li>
  2760.                
  2761.                <li>
  2762.                  <a href="https://logicballs.com/tools/cip-content-identifier">
  2763.                    <div class="tools-name">
  2764.                      CIP Content Identifier
  2765.                    </div>
  2766.                  </a>
  2767.                </li>
  2768.                
  2769.                <li>
  2770.                  <a href="https://logicballs.com/tools/citation-generator">
  2771.                    <div class="tools-name">
  2772.                      Citation Generator
  2773.                    </div>
  2774.                  </a>
  2775.                </li>
  2776.                
  2777.                <li>
  2778.                  <a href="https://logicballs.com/tools/claims-generator">
  2779.                    <div class="tools-name">
  2780.                      Claims Generator
  2781.                    </div>
  2782.                  </a>
  2783.                </li>
  2784.                
  2785.            </ul>
  2786.            <div class="btn-wrap">
  2787.              <a href="https://logicballs.com/category/us-patent-applications">
  2788.                View all
  2789.              </a>
  2790.            </div>
  2791.          </div>
  2792.          
  2793.          <div class="card-new rounded bordered">
  2794.            <h3>
  2795.              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2796.                stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2797.                class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2798.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2799.                <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2800.                <path d="M16 7h4" />
  2801.                <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2802.              </svg>
  2803.              US Nonprofit Management
  2804.            </h3>
  2805.            <ul>
  2806.              
  2807.                <li>
  2808.                  <a href="https://logicballs.com/tools/community-engagement-planner">
  2809.                    <div class="tools-name">
  2810.                      Community Engagement Planner
  2811.                    </div>
  2812.                  </a>
  2813.                </li>
  2814.                
  2815.                <li>
  2816.                  <a href="https://logicballs.com/tools/affiliate-agreement-guide">
  2817.                    <div class="tools-name">
  2818.                      Affiliate Agreement Guide
  2819.                    </div>
  2820.                  </a>
  2821.                </li>
  2822.                
  2823.                <li>
  2824.                  <a href="https://logicballs.com/tools/board-assessment-survey">
  2825.                    <div class="tools-name">
  2826.                      Board Assessment Survey
  2827.                    </div>
  2828.                  </a>
  2829.                </li>
  2830.                
  2831.                <li>
  2832.                  <a href="https://logicballs.com/tools/board-committee-charter">
  2833.                    <div class="tools-name">
  2834.                      Board Committee Charter
  2835.                    </div>
  2836.                  </a>
  2837.                </li>
  2838.                
  2839.                <li>
  2840.                  <a href="https://logicballs.com/tools/board-giving-policy">
  2841.                    <div class="tools-name">
  2842.                      Board Giving Policy
  2843.                    </div>
  2844.                  </a>
  2845.                </li>
  2846.                
  2847.                <li>
  2848.                  <a href="https://logicballs.com/tools/board-meeting-agenda">
  2849.                    <div class="tools-name">
  2850.                      Board Meeting Agenda
  2851.                    </div>
  2852.                  </a>
  2853.                </li>
  2854.                
  2855.                <li>
  2856.                  <a href="https://logicballs.com/tools/board-meeting-minutes-writer">
  2857.                    <div class="tools-name">
  2858.                      Board Meeting Minutes Writer
  2859.                    </div>
  2860.                  </a>
  2861.                </li>
  2862.                
  2863.                <li>
  2864.                  <a href="https://logicballs.com/tools/board-orientation-guide">
  2865.                    <div class="tools-name">
  2866.                      Board Orientation Guide
  2867.                    </div>
  2868.                  </a>
  2869.                </li>
  2870.                
  2871.                <li>
  2872.                  <a href="https://logicballs.com/tools/board-portal-guide">
  2873.                    <div class="tools-name">
  2874.                      Board Portal Guide
  2875.                    </div>
  2876.                  </a>
  2877.                </li>
  2878.                
  2879.                <li>
  2880.                  <a href="https://logicballs.com/tools/board-resolution-template">
  2881.                    <div class="tools-name">
  2882.                      Board Resolution Template
  2883.                    </div>
  2884.                  </a>
  2885.                </li>
  2886.                
  2887.            </ul>
  2888.            <div class="btn-wrap">
  2889.              <a href="https://logicballs.com/category/us-non-profitmanagement">
  2890.                View all
  2891.              </a>
  2892.            </div>
  2893.          </div>
  2894.          
  2895.          <div class="card-new rounded bordered">
  2896.            <h3>
  2897.              <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  2898.                stroke="#6a4dff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  2899.                class="icon icon-tabler icons-tabler-outline icon-tabler-writing">
  2900.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  2901.                <path d="M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z" />
  2902.                <path d="M16 7h4" />
  2903.                <path d="M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3" />
  2904.              </svg>
  2905.              US Medical Documentation
  2906.            </h3>
  2907.            <ul>
  2908.              
  2909.                <li>
  2910.                  <a href="https://logicballs.com/tools/after-visit-summary-generator">
  2911.                    <div class="tools-name">
  2912.                      After Visit Summary Generator
  2913.                    </div>
  2914.                  </a>
  2915.                </li>
  2916.                
  2917.                <li>
  2918.                  <a href="https://logicballs.com/tools/care-plan-coordinator">
  2919.                    <div class="tools-name">
  2920.                      Care Plan Coordinator
  2921.                    </div>
  2922.                  </a>
  2923.                </li>
  2924.                
  2925.                <li>
  2926.                  <a href="https://logicballs.com/tools/chart-review-checklist-creator">
  2927.                    <div class="tools-name">
  2928.                      Chart Review Checklist Creator
  2929.                    </div>
  2930.                  </a>
  2931.                </li>
  2932.                
  2933.                <li>
  2934.                  <a href="https://logicballs.com/tools/consultation-report-builder">
  2935.                    <div class="tools-name">
  2936.                      Consultation Report Builder
  2937.                    </div>
  2938.                  </a>
  2939.                </li>
  2940.                
  2941.                <li>
  2942.                  <a href="https://logicballs.com/tools/emr-template-creator">
  2943.                    <div class="tools-name">
  2944.                      EMR Template Creator
  2945.                    </div>
  2946.                  </a>
  2947.                </li>
  2948.                
  2949.                <li>
  2950.                  <a href="https://logicballs.com/tools/health-maintenance-tracker">
  2951.                    <div class="tools-name">
  2952.                      Health Maintenance Tracker
  2953.                    </div>
  2954.                  </a>
  2955.                </li>
  2956.                
  2957.                <li>
  2958.                  <a href="https://logicballs.com/tools/healthcare-proxy-documentation">
  2959.                    <div class="tools-name">
  2960.                      Healthcare Proxy Documentation
  2961.                    </div>
  2962.                  </a>
  2963.                </li>
  2964.                
  2965.                <li>
  2966.                  <a href="https://logicballs.com/tools/home-health-documentation">
  2967.                    <div class="tools-name">
  2968.                      Home Health Documentation
  2969.                    </div>
  2970.                  </a>
  2971.                </li>
  2972.                
  2973.                <li>
  2974.                  <a href="https://logicballs.com/tools/lab-result-interpreter">
  2975.                    <div class="tools-name">
  2976.                      Lab Result Interpreter
  2977.                    </div>
  2978.                  </a>
  2979.                </li>
  2980.                
  2981.                <li>
  2982.                  <a href="https://logicballs.com/tools/medical-abbreviation-expander">
  2983.                    <div class="tools-name">
  2984.                      Medical Abbreviation Expander
  2985.                    </div>
  2986.                  </a>
  2987.                </li>
  2988.                
  2989.            </ul>
  2990.            <div class="btn-wrap">
  2991.              <a href="https://logicballs.com/category/us-medical-documentation">
  2992.                View all
  2993.              </a>
  2994.            </div>
  2995.          </div>
  2996.          
  2997.      </div>
  2998.  
  2999.      <div class="btn-wrap btn-center">
  3000.        <a href="https://logicballs.com/discover-ai/us" class="btn btn-primary btn-lg">Browse
  3001.          all US tools</a>
  3002.      </div>
  3003.    </section>
  3004.    
  3005.  
  3006.  
  3007.      <section class="testimonial-wrap bg-gray">
  3008.  <div>
  3009.    <div class="animation-icon">
  3010.      <svg width="140" height="126" viewBox="0 0 140 126" fill="none" xmlns="http://www.w3.org/2000/svg">
  3011.        <path class="animated-path"
  3012.          d="M138.5 7.49994C27.0002 -21.0007 53.5002 60 77.0428 41.0756C102 10.5 -4.9999 -1 10.0428 123.076L17.5 114C13.9639 117.772 11.7622 119.956 9.5 124C6.83799 120.229 5.53941 118.052 1.5 114"
  3013.          stroke="#6a4dff" stroke-width="2" stroke-linecap="round" />
  3014.      </svg>
  3015.    </div>
  3016.    <h2 class="text-center max-w-4xl mx-auto mb-lg">
  3017.      
  3018.        See What Our Happy Customers Are Saying
  3019.      
  3020.    </h2>
  3021.  
  3022.    <!-- Initial visible testimonials -->
  3023.    <div class="marquee-container" id="testimonial-show-id09">
  3024.      <div class="marquee-content">
  3025.        
  3026.        
  3027.          <div class="testimonial card-new shadow rounded padding">
  3028.            <a href="/testimonial"></a>
  3029.            <div class="star-rating" data-rating="0"></div>
  3030.            <div class="description">
  3031.              Logicballs has revolutionized the way we create content at our company. The AI understands our brand voice perfectly, and the copy it generates is always fresh and engaging. We&#39;ve seen a significant increase in website traffic and leads since we started using Logicballs.
  3032.              
  3033.            </div>
  3034.            <div class="testimonial-footer">
  3035.              <div class="name">Sarah Jones</div>
  3036.              <div class="designation">
  3037.                Marketing Director, Seattle, WA
  3038.                <span class="fi fi-us"></span>
  3039.              </div>
  3040.            </div>
  3041.          </div>
  3042.        
  3043.          <div class="testimonial card-new shadow rounded padding">
  3044.            <a href="/testimonial"></a>
  3045.            <div class="star-rating" data-rating="0"></div>
  3046.            <div class="description">
  3047.              Logicballs helps me write persuasive emails in minutes. Finally, a tool that understands the power of words!
  3048.              
  3049.            </div>
  3050.            <div class="testimonial-footer">
  3051.              <div class="name">Marco Bianchi</div>
  3052.              <div class="designation">
  3053.                Milan IT
  3054.                <span class="fi fi-it"></span>
  3055.              </div>
  3056.            </div>
  3057.          </div>
  3058.        
  3059.          <div class="testimonial card-new shadow rounded padding">
  3060.            <a href="/testimonial"></a>
  3061.            <div class="star-rating" data-rating="0"></div>
  3062.            <div class="description">
  3063.              As a busy restaurateur, I don&#39;t have the time to write fancy descriptions for my menu. Logicballs has been a lifesaver! The AI generates delicious-sounding descriptions that make my customers&#39; mouths water. Plus, it&#39;s incredibly affordable - a perfect solution for small businesses like mine.
  3064.              
  3065.            </div>
  3066.            <div class="testimonial-footer">
  3067.              <div class="name">Michael Rodriguez</div>
  3068.              <div class="designation">
  3069.                Restaurant Owner, Austin, TX
  3070.                <span class="fi fi-us"></span>
  3071.              </div>
  3072.            </div>
  3073.          </div>
  3074.        
  3075.          <div class="testimonial card-new shadow rounded padding">
  3076.            <a href="/testimonial"></a>
  3077.            <div class="star-rating" data-rating="0"></div>
  3078.            <div class="description">
  3079.              Logicballs é um divisor de águas para a nossa equipe de marketing. Agora podemos criar cópias de sites, descrições de produtos e até mesmo postagens de mídia social de alta qualidade em uma fração do tempo que levava antes. O Logicballs entende a voz da nossa marca e o público-alvo, e o conteúdo gerado por IA está sempre impecável.
  3080.              
  3081.                <div class="translate">
  3082.                  <strong>Translation:</strong>
  3083.                  Logicballs is a game-changer for our marketing team. Now we can create website copy, product descriptions, and even high-quality social media posts in a fraction of the time it used to take. Logicballs understands our brand voice and target audience, and the AI-generated content is always flawless.
  3084.                </div>
  3085.              
  3086.            </div>
  3087.            <div class="testimonial-footer">
  3088.              <div class="name">Isabela Oliveira</div>
  3089.              <div class="designation">
  3090.                Gerente de Marketing, São Paulo
  3091.                <span class="fi fi-br"></span>
  3092.              </div>
  3093.            </div>
  3094.          </div>
  3095.        
  3096.          <div class="testimonial card-new shadow rounded padding">
  3097.            <a href="/testimonial"></a>
  3098.            <div class="star-rating" data-rating="0"></div>
  3099.            <div class="description">
  3100.              Logicballs has helped me overcome my writer&#39;s block and take my blog to the next level. The AI helps me come up with creative ideas and write captivating blog posts that keep my readers coming back for more. It&#39;s also a great tool for generating catchy social media captions.
  3101.              
  3102.            </div>
  3103.            <div class="testimonial-footer">
  3104.              <div class="name">Williams, Blogger</div>
  3105.              <div class="designation">
  3106.                Portland, OR
  3107.                <span class="fi fi-us"></span>
  3108.              </div>
  3109.            </div>
  3110.          </div>
  3111.        
  3112.      </div>
  3113.    </div>
  3114.  
  3115.    <!-- Load more button (hidden if no more testimonials) -->
  3116.    
  3117.      <div class="btn-wrap btn-center">
  3118.        <button id="load-more-testimonials" class="btn btn-primary btn-lg">
  3119.          View all testimonial
  3120.        </button>
  3121.      </div>
  3122.    
  3123.  </div>
  3124. </section>
  3125. <script>
  3126.  document.getElementById("load-more-testimonials").addEventListener("click", function () {
  3127.    const hiddenTestimonials = document.querySelectorAll(".testimonial.card-new.hidden");
  3128.    const toShow = Array.from(hiddenTestimonials).slice(0, 5);
  3129.    toShow.forEach((testimonial) => testimonial.classList.remove("hidden"));
  3130.    if (hiddenTestimonials.length <= 5) {
  3131.      this.style.display = "none";
  3132.    }
  3133.  });
  3134. </script>
  3135. <script> var baseLangUrl = "https://logicballs.com";</script>
  3136. <script src="/js/testimonial.min.js" defer></script>
  3137.  
  3138. <style>
  3139.  .animated-path {
  3140.    stroke-dasharray: 1000;
  3141.    stroke-dashoffset: 1000;
  3142.    animation: draw 3s linear infinite;
  3143.  }
  3144.  
  3145.  @keyframes draw {
  3146.    to {
  3147.      stroke-dashoffset: 0;
  3148.    }
  3149.  }
  3150.  
  3151.  /* Optimize testimonial display */
  3152.  .marquee-content {
  3153.    will-change: transform; /* Improve animation performance */
  3154.  }
  3155.  
  3156.  .testimonial.card-new {
  3157.    contain: content; /* Improves rendering performance */
  3158.    flex: 0 0 auto; /* Prevent flex items from growing/shrinking */
  3159.    width: 300px; /* Fixed width for consistent layout */
  3160.  }
  3161. </style>
  3162.        <section class="stats-wrap">
  3163.          <div>
  3164.            <div class="grid-40-60">
  3165.              <div>
  3166.                <h2>
  3167.                  Users Across the World Use LogicBalls
  3168.                </h2>
  3169.                <div class="numbers">
  3170.                  500,000+
  3171.                </div>
  3172.                <p>
  3173.                  Total Customers
  3174.                </p>
  3175.              </div>
  3176.              <div class="stats ">
  3177.                <div>
  3178.                  <div class="number">
  3179.                    50M+
  3180.                  </div>
  3181.                  <p>
  3182.                    Total Generations
  3183.                  </p>
  3184.                </div>
  3185.  
  3186.                <div>
  3187.                  <div class="number">
  3188.                    200+
  3189.                  </div>
  3190.                  <p>
  3191.                    Countries Served
  3192.                  </p>
  3193.                </div>
  3194.  
  3195.                <div>
  3196.                  <div class="number">
  3197.                    5000+
  3198.                  </div>
  3199.                  <p>
  3200.                    Total Apps
  3201.                  </p>
  3202.                </div>
  3203.              </div>
  3204.            </div>
  3205.          </div>
  3206.        </section>
  3207.  
  3208.        <section class="Featured-wrap bg-gray">
  3209.          <div>
  3210.            <h2 class="text-center max-w-4xl mx-auto mb-lg">
  3211.              Featured on
  3212.            </h2>
  3213.            <div class="featured-logo">
  3214.              <ul>
  3215.                <li>
  3216.                  <img src="https://logicballs.com/images/featured-logos/getapp.svg" alt="getapp" loading="lazy">
  3217.                </li>
  3218.                <li>
  3219.                  <img src="https://logicballs.com/images/featured-logos/software-advice.svg" alt="software advice"
  3220.                    loading="lazy">
  3221.                </li>
  3222.                <li>
  3223.                  <img src="https://logicballs.com/images/featured-logos/topai.svg" alt="topai" loading="lazy">
  3224.                </li>
  3225.                <li>
  3226.                  <img src="https://logicballs.com/images/featured-logos/product-hunt.svg" alt="product hunt featured"
  3227.                    loading="lazy">
  3228.                </li>
  3229.                <li>
  3230.                  <img src="https://logicballs.com/images/featured-logos/futurepedia.svg" alt="futurepedia" loading="lazy">
  3231.                </li>
  3232.                <li>
  3233.                  <img src="https://logicballs.com/images/featured-logos/msn.svg" alt="MSN" loading="lazy">
  3234.                </li>
  3235.                <li>
  3236.                  <img src="https://logicballs.com/images/featured-logos/fox-news.svg" alt="fox news" loading="lazy">
  3237.                </li>
  3238.                <li>
  3239.                  <img src="https://logicballs.com/images/featured-logos/forbes.svg" alt="forbes" loading="lazy">
  3240.                </li>
  3241.                <li>
  3242.                  <img src="https://logicballs.com/images/featured-logos/yahoo-news.svg" alt="yahoo news" loading="lazy">
  3243.                </li>
  3244.                <li>
  3245.                  <img src="https://logicballs.com/images/featured-logos/today.svg" alt="today" loading="lazy">
  3246.                </li>
  3247.                <li>
  3248.                  <img src="https://logicballs.com/images/featured-logos/marketwatch.svg" alt="marketwatch" loading="lazy">
  3249.                </li>
  3250.                <li>
  3251.                  <a href="https://theresanaiforthat.com/ai/logicballs/?ref=featured&v=4641202" target="_blank"
  3252.                    rel="nofollow"> <img loading="lazy" max-height: 60px; alt="theresanaiforthat"
  3253.                      src="https://logicballs.com/images/featured-logos/featured-on-taaft.svg"></a>
  3254.                </li>
  3255.              </ul>
  3256.            </div>
  3257.          </div>
  3258.        </section>  </main>
  3259.  <div id="toast" class="toast"></div>
  3260.  <!-- Footer Include -->
  3261.  
  3262.  <div id="my_modal_12" class="pricingModal modal modal-new refer-modal" open="" style="display: none">
  3263.    <div id="inside-modal12" class="modal-box limit-exceed">
  3264.        <form method="dialog">
  3265.            <button id="closeBtn12" class="btn btn-circle btn-sm btn-ghost absolute right-2 top-2 rounded-full">
  3266.                ✕
  3267.            </button>
  3268.        </form>
  3269.        <div class="modal-container">
  3270.            <div class="modal-head">
  3271.                <h2>Refer a friend to get free subscription</h2>
  3272.            </div>
  3273.            <div class="modal-body">
  3274.                <div class="refer-box">
  3275.                    <div class="top-row row">
  3276.                        <div class="box box1">
  3277.                            <div class="icon">&nbsp;</div>
  3278.                            <div>
  3279.                                <div class="plan">25 Sign up</div>
  3280.                                <div class="subscription">Earn 1 Year Pro</div>
  3281.                            </div>
  3282.                        </div>
  3283.                        <div class="box box2">
  3284.                            <div class="icon">&nbsp;</div>
  3285.                            <div>
  3286.                                <div class="plan">12 Sign up</div>
  3287.                                <div class="subscription">Earn 4 Month Pro</div>
  3288.                            </div>
  3289.                        </div>
  3290.                    </div>
  3291.                    <div class="bottom-row row">
  3292.                        <div class="box box3">
  3293.                            <div class="icon">&nbsp;</div>
  3294.                            <div>
  3295.                                <div class="plan">9 Sign up</div>
  3296.                                <div class="subscription">Earn 3 Month Pro</div>
  3297.                            </div>
  3298.                        </div>
  3299.                        <div class="box box4">
  3300.                            <div class="icon">&nbsp;</div>
  3301.                            <div>
  3302.                                <div class="plan">6 Sign up</div>
  3303.                                <div class="subscription">Earn 2 Month Pro</div>
  3304.                            </div>
  3305.                        </div>
  3306.                        <div class="box box4">
  3307.                            <div class="icon">&nbsp;</div>
  3308.                            <div>
  3309.                                <div class="plan">3 Sign up</div>
  3310.                                <div class="subscription">Earn 1 Month Pro</div>
  3311.                            </div>
  3312.                        </div>
  3313.                    </div>
  3314.                </div>
  3315.                <div class="referel-info">
  3316.                    <div class="subheading">
  3317.                        Share the following link with your friends. You can get free subscription if they sign up or subscribe through this link.
  3318.                    </div>
  3319.                    <div class="form" id="tool-form">
  3320.                        <div class=" form-group">
  3321.                            <input id="refer-link-share" type="text" value="https://logicballs.com/?invite_code=l3Nlqm"  aria-label="Referral link">
  3322.                        </div>
  3323.                        <button class="btn btn-gradient" id="refer-button-copy">Copy link</button>
  3324.                    </div>
  3325.                </div>
  3326.            </div>
  3327.        </div>
  3328.    </div>
  3329. </div>
  3330. <script>
  3331.    document.getElementById("closeBtn12").addEventListener("click", function () {
  3332.        document.getElementById("my_modal_12").style.display = "none";
  3333.    });
  3334. </script>
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.        <section
  3341.          class="footercta bg-primary ">
  3342.          <div>
  3343.            <h2 class="text-center mb-md max-w-4xl mx-auto ">Make AI Work For You</h2>
  3344.            <p class="text-center mb-lg max-w-4xl mx-auto">Join over 200,000+ customers who use LogicBalls to write, create, and get more done with AI - no tech skills needed!</p>
  3345.            <a href="https://logicballs.com/auth" class="btn btn-primary mx-auto btn-lg">Try Now --></a>
  3346.          </div>
  3347.        </section>
  3348.        <footer class="footer-v1 bg-gray" role="contentinfo">
  3349.          <section class="footer-section top">
  3350.            <div>
  3351.              <div class="section-01">
  3352.                <div class="footer-logo">
  3353.                  <a href="/">
  3354.                    <img src="https://logicballs.com/images/logo.svg" alt="logicballs" aria-label="logo" width="165" alt="logo" />
  3355.                  </a>
  3356.                  <!-- <p>AI for everyone, everywhere</p> -->
  3357.                </div>
  3358.                <ul class="social-link">
  3359.                  <li>
  3360.                    <a href="https://x.com/logicballs_ai" target="_blank" aria-label="twitter">
  3361.                      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
  3362.                        <path
  3363.                          d="M18.2048 2.25H21.5128L14.2858 10.51L22.7878 21.75H16.1308L10.9168 14.933L4.95084 21.75H1.64084L9.37084 12.915L1.21484 2.25H8.04084L12.7538 8.481L18.2048 2.25ZM17.0438 19.77H18.8768L7.04484 4.126H5.07784L17.0438 19.77Z">
  3364.                        </path>
  3365.                      </svg>
  3366.                    </a>
  3367.                  </li>
  3368.                  <li>
  3369.                    <a href="https://www.linkedin.com/company/logicballs-ai" target="_blank" aria-label="linkedin">
  3370.                      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
  3371.                        <path
  3372.                          d="M18.3362 18.339H15.6707V14.1622C15.6707 13.1662 15.6505 11.8845 14.2817 11.8845C12.892 11.8845 12.6797 12.9683 12.6797 14.0887V18.339H10.0142V9.75H12.5747V10.9207H12.6092C12.967 10.2457 13.837 9.53325 15.1367 9.53325C17.8375 9.53325 18.337 11.3108 18.337 13.6245V18.339H18.3362ZM7.00373 8.57475C6.14573 8.57475 5.45648 7.88025 5.45648 7.026C5.45648 6.1725 6.14648 5.47875 7.00373 5.47875C7.85873 5.47875 8.55173 6.1725 8.55173 7.026C8.55173 7.88025 7.85798 8.57475 7.00373 8.57475ZM8.34023 18.339H5.66723V9.75H8.34023V18.339ZM19.6697 3H4.32923C3.59498 3 3.00098 3.5805 3.00098 4.29675V19.7033C3.00098 20.4202 3.59498 21 4.32923 21H19.6675C20.401 21 21.001 20.4202 21.001 19.7033V4.29675C21.001 3.5805 20.401 3 19.6675 3H19.6697Z">
  3373.                        </path>
  3374.                      </svg>
  3375.                    </a>
  3376.                  </li>
  3377.                  <li>
  3378.                    <a href="https://www.instagram.com/logic_balls/" target="_blank" aria-label="instagram">
  3379.                      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
  3380.                        <path
  3381.                          d="M13.0281 2.00073C14.1535 2.00259 14.7238 2.00855 15.2166 2.02322L15.4107 2.02956C15.6349 2.03753 15.8561 2.04753 16.1228 2.06003C17.1869 2.1092 17.9128 2.27753 18.5503 2.52503C19.2094 2.7792 19.7661 3.12253 20.3219 3.67837C20.8769 4.2342 21.2203 4.79253 21.4753 5.45003C21.7219 6.0867 21.8903 6.81337 21.9403 7.87753C21.9522 8.1442 21.9618 8.3654 21.9697 8.58964L21.976 8.78373C21.9906 9.27647 21.9973 9.84686 21.9994 10.9723L22.0002 11.7179C22.0003 11.809 22.0003 11.903 22.0003 12L22.0002 12.2821L21.9996 13.0278C21.9977 14.1532 21.9918 14.7236 21.9771 15.2163L21.9707 15.4104C21.9628 15.6347 21.9528 15.8559 21.9403 16.1225C21.8911 17.1867 21.7219 17.9125 21.4753 18.55C21.2211 19.2092 20.8769 19.7659 20.3219 20.3217C19.7661 20.8767 19.2069 21.22 18.5503 21.475C17.9128 21.7217 17.1869 21.89 16.1228 21.94C15.8561 21.9519 15.6349 21.9616 15.4107 21.9694L15.2166 21.9757C14.7238 21.9904 14.1535 21.997 13.0281 21.9992L12.2824 22C12.1913 22 12.0973 22 12.0003 22L11.7182 22L10.9725 21.9993C9.8471 21.9975 9.27672 21.9915 8.78397 21.9768L8.58989 21.9705C8.36564 21.9625 8.14444 21.9525 7.87778 21.94C6.81361 21.8909 6.08861 21.7217 5.45028 21.475C4.79194 21.2209 4.23444 20.8767 3.67861 20.3217C3.12278 19.7659 2.78028 19.2067 2.52528 18.55C2.27778 17.9125 2.11028 17.1867 2.06028 16.1225C2.0484 15.8559 2.03871 15.6347 2.03086 15.4104L2.02457 15.2163C2.00994 14.7236 2.00327 14.1532 2.00111 13.0278L2.00098 10.9723C2.00284 9.84686 2.00879 9.27647 2.02346 8.78373L2.02981 8.58964C2.03778 8.3654 2.04778 8.1442 2.06028 7.87753C2.10944 6.81253 2.27778 6.08753 2.52528 5.45003C2.77944 4.7917 3.12278 4.2342 3.67861 3.67837C4.23444 3.12253 4.79278 2.78003 5.45028 2.52503C6.08778 2.27753 6.81278 2.11003 7.87778 2.06003C8.14444 2.04816 8.36564 2.03847 8.58989 2.03062L8.78397 2.02433C9.27672 2.00969 9.8471 2.00302 10.9725 2.00086L13.0281 2.00073ZM12.0003 7.00003C9.23738 7.00003 7.00028 9.23956 7.00028 12C7.00028 14.7629 9.23981 17 12.0003 17C14.7632 17 17.0003 14.7605 17.0003 12C17.0003 9.23713 14.7607 7.00003 12.0003 7.00003ZM12.0003 9.00003C13.6572 9.00003 15.0003 10.3427 15.0003 12C15.0003 13.6569 13.6576 15 12.0003 15C10.3434 15 9.00028 13.6574 9.00028 12C9.00028 10.3431 10.3429 9.00003 12.0003 9.00003ZM17.2503 5.50003C16.561 5.50003 16.0003 6.05994 16.0003 6.74918C16.0003 7.43843 16.5602 7.9992 17.2503 7.9992C17.9395 7.9992 18.5003 7.4393 18.5003 6.74918C18.5003 6.05994 17.9386 5.49917 17.2503 5.50003Z">
  3382.                        </path>
  3383.                      </svg>
  3384.                    </a>
  3385.                  </li>
  3386.  
  3387.                  <li>
  3388.                    <a href="https://www.facebook.com/logicballsAI" target="_blank" rel="noreferrer"
  3389.                      aria-label="facebook">
  3390.                      <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"
  3391.                        xmlns="http://www.w3.org/2000/svg">
  3392.                        <path
  3393.                          d="M15.4024 21V14.0344H17.7347L18.0838 11.3265H15.4024V9.59765C15.4024 8.81364 15.62 8.27934 16.7443 8.27934L18.1783 8.27867V5.85676C17.9302 5.82382 17.0791 5.75006 16.0888 5.75006C14.0213 5.75006 12.606 7.01198 12.606 9.32952V11.3265H10.2677V14.0344H12.606V21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H15.4024Z">
  3394.                        </path>
  3395.                      </svg>
  3396.                    </a>
  3397.                  </li>
  3398.                </ul>
  3399.              </div>
  3400.            </div>
  3401.          </section>
  3402.          <section class="footer-section middle-top">
  3403.            <div>
  3404.              <div class="section-02">
  3405.                <div class="grid-25">
  3406.                  <div class="footer-widget">
  3407.                    <h3 class="mb-2">Popular Tools</h3>
  3408.                    <ul>
  3409.                      
  3410.                      <li>
  3411.                        <a href="/trip-planner">Trip Planner</a>
  3412.                      </li>
  3413.                      <li>
  3414.                        <a href="https://logicballs.com/agent/ai-fact-checker">AI Fact Checker</a>
  3415.                      </li>
  3416.                      <li>
  3417.                        <a href="https://logicballs.com/word-counter">Word Counter</a>
  3418.                      </li>
  3419.                      <li>
  3420.                        <a href="/ai-tools">AI Tool Directory<span class="new-label">
  3421.                            New</span></a>
  3422.                      </li>
  3423.                      <li>
  3424.                        <a href="https://logicballs.com/chat-with-pdf">Chat with PDF<span class="new-label">
  3425.                            New</span></a>
  3426.                      </li>
  3427.                      <li>
  3428.                        <a href="https://logicballs.com/translate">Translator <span class="new-label"> New</span></a>
  3429.                      </li>
  3430.                      <li>
  3431.                        <a href="https://logicballs.com/ai-images">Image Generator<span class="new-label">
  3432.                            New</span></a>
  3433.                      </li>
  3434.                      <li>
  3435.                        <a href="https://logicballs.com/ai-agents">AI Agents <span class="new-label"> New</span></a>
  3436.                      </li>
  3437.                      <li>
  3438.                        <a href="https://logicballs.com/chat">Chatbot <span class="new-label"> New</span></a>
  3439.                      </li>
  3440.                      <li>
  3441.                        <a href="https://logicballs.com/characters/">Characters <span class="new-label"> New</span></a>
  3442.                      </li>
  3443.                      <li>
  3444.                        <a href="https://logicballs.com/youtube-transcript-generator">YouTube Transcript Generator <span class="new-label"> New</span></a>
  3445.                      </li>
  3446.                      <li>
  3447.                        <a href="https://logicballs.com/youtube-video-summarizer">YouTube Video Summarizer <span class="new-label"> New</span></a>
  3448.                      </li>
  3449.                      <li>
  3450.                        <a href="https://logicballs.com/chat-youtube-video">Chat with YouTube Video <span class="new-label"> New</span></a>
  3451.                      </li>
  3452.                      <li>
  3453.                        <a href="https://logicballs.com/ai-voice-generator">AI Voice Generator <span class="new-label"> New</span></a>
  3454.                      </li>
  3455.                      <li>
  3456.                        <a href="https://logicballs.com/image-edit">AI Image Edit <span class="new-label"> New</span></a>
  3457.                      </li>
  3458.                      <li>
  3459.                        <a href="https://logicballs.com/ai-prompt">Prompt Library   <span class="new-label"> New</span></a>
  3460.                      </li>
  3461.                      <li>
  3462.                        <a href="https://logicballs.com/ai-detector">AI Detector <span class="new-label"> New</span></a>
  3463.                      </li>
  3464.                      <li>
  3465.                        <a href="https://logicballs.com/prompt-builder">AI Prompt Builder <span class="new-label"> New</span></a>
  3466.                      </li>
  3467.                      <li>
  3468.                        <a href="https://logicballs.com/llms-txt-generator">LLMs.Txt Generator <span class="new-label"> New</span></a>
  3469.                      </li>
  3470.                    </ul>
  3471.                  </div>
  3472.  
  3473.                  <div class="footer-widget">
  3474.                    <h3 class="mb-2">See How We Compare</h3>
  3475.                    <ul>
  3476.                      <li>
  3477.                        <a href="https://logicballs.com/comparison/logicballs-vs-bard">LogicBalls vs Bard - Which is easier?</a>
  3478.                      </li>
  3479.                      <li>
  3480.                        <a href="https://logicballs.com/comparison/logicballs-vs-chatgpt">LogicBalls vs ChatGPT - What's different?</a>
  3481.                      </li>
  3482.                      <li>
  3483.                        <a href="https://logicballs.com/comparison/logicballs-vs-copy-ai">LogicBalls vs Copy AI - Better for writing?</a>
  3484.                      </li>
  3485.                      <li>
  3486.                        <a href="https://logicballs.com/comparison">View all comparisons</a>
  3487.                      </li>
  3488.                    </ul>
  3489.                  </div>
  3490.  
  3491.  
  3492.                  <div class="footer-widget">
  3493.                    <h3 class="mb-2">Join Our Community</h3>
  3494.                    <ul>
  3495.                      <li>
  3496.                        <a href="https://logicballs.com/testimonial">Success Stories</a>
  3497.                      </li>
  3498.                      <li>
  3499.                        <a href="https://logicballs.com/blog">Our Blog</a>
  3500.                      </li>
  3501.                      <li>
  3502.                        <a href="https://logicballs.com/media">Media</a>
  3503.                      </li>
  3504.                      <li>
  3505.                        <a href="https://logicballs.com/tones">Tones</a>
  3506.                      </li>
  3507.                      <li>
  3508.                        <a href="https://logicballs.com/glossary">AI Glossary</a>
  3509.                      </li>
  3510.                      <li>
  3511.                        <a href="https://logicballs.com/questions">Questions</a>
  3512.                      </li>
  3513.                         <li>
  3514.                        <a href="https://logicballs.com/app-packs">Explore Our App Packs<span class="new-label"> New</span></a>
  3515.                      </li>
  3516.                      <li>
  3517.                        <a href="https://community.logicballs.com">Community Forum<span class="new-label"> New</span></a>
  3518.                      </li>
  3519.                      <li>
  3520.                        <a href="https://logicballs.com/affiliation">Advertise with Us</a>
  3521.                      </li>
  3522.                      <li>
  3523.                        <a href="https://logicballs.com/write-for-us">Write for Us</a>
  3524.                      </li>
  3525.                      <li>
  3526.                        <a href="https://logicballs.com/earn-with-logicballs">Earn With LogicBalls<span class="new-label"> New</span></a>
  3527.                      </li>
  3528.                      <li>
  3529.                        <a href="https://logicballs.com/ai-models">Explore AI Models<span class="new-label"> New</span></a>
  3530.                      </li>
  3531.                    </ul>
  3532.                  </div>
  3533.  
  3534.  
  3535.                  <div class="footer-widget">
  3536.                    <h3 class="mb-2"> Featured Partners</h3>
  3537.                    <ul>
  3538.                      <li>
  3539.                        <a target="_blank" href="https://gracker.ai/">AI-Powered Growth Engine Builds AI + pSEO Portals</a>
  3540.                      </li>
  3541.                      <li>
  3542.                        <a target="_blank" href="https://publish7.com/">AI Agents for Retail - Boost your sales</a>
  3543.                      </li>
  3544.                      <li>
  3545.                        <a target="_blank" href="https://pdf7.app/">Secure PDF - Protect your documents</a>
  3546.                      </li>
  3547.                      <li>
  3548.                        <a target="_blank" href="https://mojoauth.com/">Passwordless API for AI - Secure & Fast Auth</a>
  3549.                      </li>
  3550.                      <li>
  3551.                        <a target="_blank" href="https://social9.com/">Social Media AI Agent - Craft engaging posts</a>
  3552.                      </li>
  3553.                      <li>
  3554.                        <a target="_blank" href="https://kveeky.com/">Generative Voice AI - Create natural speech</a>
  3555.                      </li>
  3556.                      <li>
  3557.                        <a target="_blank" href="https://snapcorn.com/">Image AI Agents - Smart image tools</a>
  3558.                      </li>
  3559.                      <li>
  3560.                        <a target="_blank" href="https://productlaunchlist.com/">Product Launch Directory - Launch smarter</a>
  3561.                      </li>
  3562.                    </ul>
  3563.                  </div>
  3564.                </div>
  3565.              </div>
  3566.            </div>
  3567.          </section>
  3568.          <section class="footer-section middle-middle">
  3569.            <div>
  3570.              <div class="section-03">
  3571.                <ul>
  3572.                  <li>🔒 Safe & Secure</li>
  3573.                  <li>⚡️ Lightning Fast</li>
  3574.                  <li>💝 200K+ Happy Customers</li>
  3575.                  <li>🎯 Easy to Use</li>
  3576.                </ul>
  3577.              </div>
  3578.            </div>
  3579.          </section>
  3580.          <section class="logos-wrap footer-section middle-bottom">
  3581.            <div>
  3582.              <div class="section-04 logos card-new shadow padding rounded">
  3583.                <h3>Trusted Partners & Compliance</h3>
  3584.                <ul>
  3585.                  <li>
  3586.                    <img src="https://logicballs.com/images/featured-logos/replicate.svg" alt="replicate" loading="lazy">
  3587.                  </li>
  3588.                  <li>
  3589.                    <img src="https://logicballs.com/images/featured-logos/open-ai.svg" alt="open-ai" loading="lazy">
  3590.                  </li>
  3591.                  <li>
  3592.                    <img src="https://logicballs.com/images/featured-logos/gemini.svg" alt="gemini" loading="lazy">
  3593.                  </li>
  3594.                  <li>
  3595.                    <img src="https://logicballs.com/images/featured-logos/anthropc.svg" alt="anthropc" loading="lazy">
  3596.                  </li>
  3597.                  <li>
  3598.                    <img src="https://logicballs.com/images/featured-logos/cohere.svg" alt="cohere" loading="lazy">
  3599.                  </li>
  3600.  
  3601.                  <li>
  3602.                    <img src="https://logicballs.com/images/featured-logos/gdpr.webp" alt="gdpr" loading="lazy">
  3603.                  </li>
  3604.                  <li>
  3605.                    <img src="https://logicballs.com/images/featured-logos/ccpa.webp" alt="ccpa" loading="lazy">
  3606.                  </li>
  3607.  
  3608.                  <li>
  3609.                    <img src="https://logicballs.com/images/featured-logos/stripe.svg" alt="stripe" loading="lazy">
  3610.                  </li>
  3611.                  <li>
  3612.                    <img src="https://logicballs.com/images/featured-logos/cloudflare.svg" alt="cloudflare" loading="lazy">
  3613.                  </li>
  3614.                  <li>
  3615.                    <img src="https://logicballs.com/images/featured-logos/openid.svg" alt="openid" loading="lazy">
  3616.                  </li>
  3617.                  <li>
  3618.                    <img src="https://logicballs.com/images/featured-logos/nist.svg" alt="nist" loading="lazy">
  3619.                  </li>
  3620.                </ul>
  3621.              </div>
  3622.            </div>
  3623.          </section>
  3624.          <section class="footer-section bottom">
  3625.            <div>
  3626.              <div class="section-05">
  3627.                <div class="copyright">
  3628.                  <p>Made with ❤️ for everyone | &copy; LogicBalls 2025 - All Rights Reserved</p>
  3629.                </div>
  3630.                <ul class="link">
  3631.                  <li>
  3632.                    <a href="https://logicballs.com/about">About</a>
  3633.                  </li>
  3634.                  <li>
  3635.                    <a href="https://logicballs.com/privacy">Privacy</a>
  3636.                  </li>
  3637.                  <li>
  3638.                    <a href="https://logicballs.com/terms">Terms</a>
  3639.                  </li>
  3640.                </ul>
  3641.  
  3642.              </div>
  3643.            </div>
  3644.          </section>
  3645.        </footer>
  3646.        
  3647.        <div class="custom-search hidden" id="my-hidden-element">
  3648.    <div class="search-wrap">
  3649.        <label for="searchbox-input" class="sr-only">Search</label>
  3650.        <div id="searchbox"></div>
  3651.        <button id="hide-button" class="close">
  3652.            <span>✕</span>
  3653.            <span>Close</span>
  3654.        </button>
  3655.        <button id="filterElementsToggle" class="btn btn-primary btn-md">
  3656.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  3657.                stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  3658.                class="icon-tabler-adjustments">
  3659.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  3660.                <path d="M14 6m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
  3661.                <path d="M4 6l8 0" />
  3662.                <path d="M16 6l4 0" />
  3663.                <path d="M8 12m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
  3664.                <path d="M4 12l2 0" />
  3665.                <path d="M10 12l10 0" />
  3666.                <path d="M17 18m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" />
  3667.                <path d="M4 18l11 0" />
  3668.                <path d="M19 18l1 0" />
  3669.            </svg>
  3670.            <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none"
  3671.                stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"
  3672.                class="icon-tabler-x">
  3673.                <path stroke="none" d="M0 0h24v24H0z" fill="none" />
  3674.                <path d="M18 6l-12 12" />
  3675.                <path d="M6 6l12 12" />
  3676.            </svg>
  3677.        </button>
  3678.    </div>
  3679.    <div>
  3680.        <div class="custom-search-wrap">
  3681.            <div class="filter hidden" id="filterElements">
  3682.                <div id="tags-refinement-list"></div>
  3683.                <div id="category-refinement-list"></div>
  3684.  
  3685.            </div>
  3686.            <div class="result">
  3687.                <div id="hits"></div>
  3688.                <div id="pagination"></div>
  3689.            </div>
  3690.        </div>
  3691.    </div>
  3692. </div>
  3693.  
  3694.  
  3695.  
  3696. <script>
  3697. // Search lazy loader utility - only declare if not already defined
  3698. if (typeof window.SearchLazyLoader === 'undefined') {
  3699.    window.SearchLazyLoader = {
  3700.        loaded: false,
  3701.        loading: false,
  3702.        loadPromise: null,
  3703.        
  3704.        async loadScripts() {
  3705.            if (this.loaded) return Promise.resolve();
  3706.            if (this.loading) return this.loadPromise;
  3707.            
  3708.            this.loading = true;
  3709.            this.loadPromise = new Promise((resolve, reject) => {
  3710.                let scriptsToLoad = 2;
  3711.                let scriptsLoaded = 0;
  3712.                
  3713.                const onScriptLoad = () => {
  3714.                    scriptsLoaded++;
  3715.                    if (scriptsLoaded === scriptsToLoad) {
  3716.                        this.loaded = true;
  3717.                        this.loading = false;
  3718.                        resolve();
  3719.                    }
  3720.                };
  3721.                
  3722.                const onScriptError = (error) => {
  3723.                    this.loading = false;
  3724.                    reject(error);
  3725.                };
  3726.                
  3727.                // Load Typesense InstantSearch Adapter
  3728.                const script1 = document.createElement('script');
  3729.                script1.src = 'https://cdn.jsdelivr.net/npm/typesense-instantsearch-adapter@2/dist/typesense-instantsearch-adapter.min.js';
  3730.                script1.crossOrigin = 'anonymous';
  3731.                script1.onload = onScriptLoad;
  3732.                script1.onerror = onScriptError;
  3733.                document.head.appendChild(script1);
  3734.                
  3735.                // Load InstantSearch.js
  3736.                const script2 = document.createElement('script');
  3737.                script2.src = 'https://cdn.jsdelivr.net/npm/instantsearch.js@4.71.1/dist/instantsearch.production.min.js';
  3738.                script2.crossOrigin = 'anonymous';
  3739.                script2.onload = onScriptLoad;
  3740.                script2.onerror = onScriptError;
  3741.                document.head.appendChild(script2);
  3742.            });
  3743.            
  3744.            return this.loadPromise;
  3745.        }
  3746.    };
  3747. }
  3748.  
  3749. // Wait for scripts to load before initializing - only declare if not already defined
  3750. if (typeof window.initializeSearch === 'undefined') {
  3751.    window.initializeSearch = async function() {
  3752.    try {
  3753.        // Load search scripts first
  3754.        await window.SearchLazyLoader.loadScripts();
  3755.        
  3756.        // Check if libraries are available
  3757.        if (typeof instantsearch === 'undefined' || typeof TypesenseInstantSearchAdapter === 'undefined') {
  3758.            console.error('Search libraries failed to load');
  3759.            return;
  3760.        }
  3761.    } catch (error) {
  3762.        console.error('Failed to load search scripts:', error);
  3763.        return;
  3764.    }
  3765.    var { searchBox } = instantsearch.widgets;
  3766.    const { hits, sortBy, refinementList } = instantsearch.widgets;
  3767.    const { dynamicWidgets, menu, hierarchicalMenu, pagination, trendingItems } = instantsearch.widgets;
  3768.    const common = {"footer":{"links":{"about":"About","terms":"Terms","privacy":"Privacy"},"badges":{"easyToUse":"Easy to Use","lightningFast":"Lightning Fast","safeAndSecure":"Safe & Secure","happyCustomers":"200K+ Happy Customers"},"labels":{"new":"New"},"sections":{"moreAI":{"links":{"imageAI":"Image AI Agents - Smart image tools","securePDF":"Secure PDF - Protect your documents","socialMediaAI":"Social Media AI Agent - Craft engaging posts","passwordLessAI":"Passwordless API for AI - Secure & Fast Auth","aiAgentsForRetail":"AI Agents for Retail - Boost your sales","generativeVoiceAI":"Generative Voice AI - Create natural speech","productLaunchDirectory":"Product Launch Directory - Launch smarter","cybersecurityMarketingAI":"AI-Powered Growth Engine Builds AI + pSEO Portals"},"title":" Featured Partners"},"community":{"links":{"blog":"Our Blog","forum":"Community Forum","media":"Media","tones":"Tones","aiNews":"AI News","aiModels":"Explore AI Models","questions":"Questions","aiGlossary":"AI Glossary","writeforUS":"Write for Us","successStories":"Success Stories","exploreAppPacks":"Explore Our App Packs","earnWithLogicBalls":"Earn With LogicBalls","backlinkPartnership":"Advertise with Us"},"title":"Join Our Community"},"comparisons":{"links":{"viewAll":"View all comparisons","vsCopyAI":"LogicBalls vs Copy AI - Better for writing?","vsChatGPT":"LogicBalls vs ChatGPT - What's different?","vsGoogleBard":"LogicBalls vs Bard - Which is easier?"},"title":"See How We Compare"},"popularTools":{"links":{"chatbot":"Chatbot","aiAgents":"AI Agents","characters":"Characters","translator":"Translator","aiImageEdit":"AI Image Edit","tripPlanner":"Trip Planner","wordCounter":"Word Counter","aiFactChecker":"AI Fact Checker","chat_with_pdf":"Chat with PDF","imageGenerator":"Image Generator","LLMTxtGenerator":"LLMs.Txt Generator","aiToolDirectory":"AI Tool Directory","videoSummarizer":"YouTube Video Summarizer","aiVoiceGenerator":"AI Voice Generator","ai_prompt_builder":"AI Prompt Builder","youtubeTranscript":"YouTube Transcript Generator","chatWithYoutubeVideo":"Chat with YouTube Video"},"title":"Popular Tools"}},"copyright":{"logicBalls":"LogicBalls","madeWithLove":"Made with ❤️ for everyone","allRightsReserved":"All Rights Reserved"},"ctaSection":{"title":"Make AI Work For You","buttonText":"Try Now -->","description":"Join over 200,000+ customers who use LogicBalls to write, create, and get more done with AI - no tech skills needed!"},"trustedPartners":{"title":"Trusted Partners & Compliance"}},"header":{"earn":"Earn","logo":{"alt":"LogicBalls","title":"LogicBalls"},"search":{"askAI":"Ask AI ","placeholde2":"Try 'tool for writing a professional email'... ","placeholder":"Search","thinkingText":"AI is Thinking","errormessage1":"Please enter at least 2 characters to search...","errormessage2":"I couldn't find any tools matching your search. Try describing your task differently, for example 'create marketing content' instead of just 'marketing'.","errormessage3":"No tools found matching your search","errormessage4":"Sorry, I encountered an error while searching. Please try again or rephrase your search.","errormessage5":"An error occurred while searching. Please try again.","errormessage6":"Sorry, something went wrong. Please try again in a moment."},"navigation":{"userMenu":{"auth":{"login":"Login / Signup","logout":"Logout","dashboard":"Dashboard"},"links":{"tags":"Tags","pricing":"Pricing","support":"Contact US","categories":"Categories","comparison":"Comparison","referFriend":"Refer a friend"}}},"write_for_us":"Write for us"},"submit":"Submit","clickUP":{"try_next":"Try Next","get_started_free":"Get Started Free","streamline_your_projects":"Streamline Your Projects"},"competitor":{"title":"Why LogicBalls is the Best AI Writer & Copywriting Assistant","features":[{"title":"Best Output Quality","description":"We harness the power of GPT-3.5, GPT-4, and LLMs like BARD, LlaMA, and Cohere, combined with our proprietary layer of best practices and templates, to eliminate grammatical errors and infuse vibrancy into the language."},{"title":"Tailored to Your Writing Needs","description":"No matter the style, tone, or context you require, LogicBalls adapts seamlessly to meet your unique writing demands. LogicBalls versatility ensures your content stands out in any domain."},{"title":"Embrace the Future of Writing","description":"Stay ahead of the curve with LogicBalls - your gateway to the future of writing. As AI technology continues to evolve, so does our platform, ensuring you always have access to the latest innovations in AI-driven content creation."},{"title":"Enhance Your Brand Voice","description":"At LogicBalls, we understand the essence of brand identity. Our AI writer not only maintains consistency with your brand's unique voice but also enriches it with fresh perspectives and creative flair. Let LogicBalls be your trusted partner in crafting compelling narratives that resonate with your target audience."},{"title":"Super Affordable","description":"LogicBalls has a Free Forever plan, which will stay free. And premium starts with $19/m for unlimited usage, LogicBalls offers one of the most cost-effective solutions in the market that gives you complete value for money."}]},"referPopup":{"title":"Refer a friend to get free subscription","rewards":{"yearPro":{"reward":"Earn 1 Year Pro","signups":"25 Sign up"},"oneMonthPro":{"reward":"Earn 1 Month Pro","signups":"3 Sign up"},"twoMonthPro":{"reward":"Earn 2 Month Pro","signups":"6 Sign up"},"fourMonthPro":{"reward":"Earn 4 Month Pro","signups":"12 Sign up"},"threeMonthPro":{"reward":"Earn 3 Month Pro","signups":"9 Sign up"}},"referralInfo":{"copyButton":"Copy link","description":"Share the following link with your friends. You can get free subscription if they sign up or subscribe through this link."}},"Translation":"Translation","competitors":{"competitorsCard":{"title1":"Best","title2":"Alternatives & Competitors 2025","metaDescription1":"Looking for an alternative to ","metaDescription2":"? Explore our extensive list of ","metaDescription3":" alternatives to choose the best one for your needs."},"competitorsPage":{"title":"LogicBalls Comparison: Compare Top AI Writing Tools","linkText":"   Here is an in-depth post we published recently about the best","alternative":"alternatives","metaDescription":"Comparisons of the top AI writing tools to help you decide which AI writing software is best for your content needs."}},"stripePopup":{"feature_1":"AI Agents for deep research like human","feature_2":"Premium AI models (ChatGPT 4, Claude Sonnet etc.)","feature_3":"2000+ Premium AI Tools and AI Agents","price_period":"/month","refer_button":"Refer a Friend","discount_text":"75% Off","modal_heading":"10x your writing output @ 1/4 price of ChatGPT","monthly_price":"$4.99","guarantee_span":"7-Day Money-Back Guarantee","guarantee_text":"Enjoy a","upgrade_button":"Upgrade Now","dropdown_default":"1 Day","dropdown_option_1":"1 Day","dropdown_option_2":"2 Days","dropdown_option_3":"7 Days","dropdown_option_4":"1 Month","guarantee_text_end":"Without Question.","modal_heading_span":"($200/month)","error_message_print":"Error message","price_strikethrough":"$240","yearly_billing_text":"Billed $59.99/year"},"Alternatives":{"AlternativesCard":{"title1":"Best","title2":"Alternatives & Competitors 2025","metaDescription1":"Looking for an alternative to ","metaDescription2":"? Explore our extensive list of ","metaDescription3":" alternatives to choose the best one for your needs."},"AlternativesPage":{"title":"The Best AI Writer Alternatives","metaDescription":"Looking for a free AI writer? Look no further than LogicBalls! We offer Unlimited words with 200+ AI templates at 5x lesser cost than our competitors."}},"testimonials":{"title":"See What Our Happy Customers Are Saying","metaTitle":"Testimonial - LogicBalls","description":"Trust their words, not just ours","toolOgTitle":"FREE AI Apps & Tools for Every Need | No Login Required","metaDescription":"Read genuine testimonials from our satisfied customers and learn how our products/services have transformed their lives and businesses. Real stories of success and satisfaction."},"breadcrumbText":{"auth":"Auth","chat":"Chat","home":"Home","tags":"Tags","about":"About","terms":"Terms","tones":"Tones","tools":"Tools","pricing":"Pricing","privacy":"Privacy","academia":"Academia","ai-agents":"AI Agents","ai-images":"AI Images","translate":"Translate","categories":"Categories","comparison":"Comparison","affiliation":"Affiliation","discover-ai":"Discover AI","testimonial":"Testimonial","alternatives":"Alternatives","trip-planner":"Trip Planner","word-counter":"Word Counter","write-for-us":"Write for Us","chat-with-pdf":"Chat with PDF","academia/advisors":"Academic Advisors","chat-youtube-video":"Chat with YouTube Video","ai-answer-generator":"AI Answer Generator","earn-with-logicballs":"Earn with LogicBalls","agent/ai-fact-checker":"AI Fact Checker","agent/keywords-generator":"Keywords Generator","youtube-video-summarizer":"YouTube Video Summarizer","youtube-transcript-generator":"YouTube Transcript Generator"},"newReferPopup ":{"subtitle":"Share the power of our tools with friends and get rewarded!","bonusText":"🎉 Already a subscriber? Get a BONUS year added to your current plan when your friends join!","popupTitle":"Unlock Your FREE Year of Premium Access! 🎁","planCategories":[{"name":"Pro Plan","badge":"Most Popular","price":"$59","buttonText":"Copy Referral Link","description":"Refer 2 friends to our Pro plan and unlock a FULL YEAR of premium access absolutely FREE!"},{"name":"Premium Plan","badge":"Premium Choice","price":"$99","buttonText":"Copy Referral Link","description":"Refer 2 friends to our Premium plan and enjoy a FULL YEAR of our top-tier features FREE!"}]},"tryPremiumPopup":{"title":"Compare our Premium Output","Answer":"Answer","buttons":{"upgrade":"Upgrade Now"},"Question":"Question","comparison":{"free":{"title":"Free","example":{"answer":{"intro":"To improve your website's SEO:","points":["Use relevant keywords in your content.","Optimize meta titles and descriptions.","Build quality backlinks.","Ensure your website is mobile-friendly and has a fast loading speed."]},"question":"How can I improve website SEO?"}},"premium":{"title":"✨ Premium","example":{"answer":{"intro":"Improving your website's SEO involves a strategic approach tailored to your audience and goals. Here's a detailed guide:","points":[{"title":"Keyword Research","content":"Use tools like Ahrefs or SEMrush to find high-traffic, low-competition keywords. For instance, target long-tail keywords like \"best eco-friendly coffee brands\" for niche traffic."},{"title":"Content Optimization","content":"Write engaging content around these keywords. Include keywords in headers, body text, and alt text for images while maintaining natural readability."},{"title":"Technical SEO","content":"Ensure mobile-friendliness, optimize page speed, and implement schema markup effectively."},{"title":"Link Building","content":"Focus on quality over quantity. Reach out to authority websites for guest posting or create shareable content like infographics."},{"title":"Regular Audits","content":"Use tools like Screaming Frog to identify broken links, duplicate content, and crawl issues."}]},"question":"How can I improve website SEO?"}}}},"randomTestimonials":{"title":"See What Our Happy Customers Are Saying","viewAlltext":"View all testimonial"}};
  3769.    const language = "en";
  3770.  
  3771.  
  3772.    const tomorrow = new Date();
  3773. tomorrow.setDate(tomorrow.getDate() + 1);
  3774.  
  3775. const unixTimestamp = tomorrow.getTime(); // Get time in milliseconds
  3776.  
  3777. // Function to convert absolute URL to relative path and then to current host
  3778. // Function to convert absolute URL to relative path and then to current host
  3779. function convertUrlToCurrentHost(originalUrl) {
  3780.    try {
  3781.        const url = new URL(originalUrl);
  3782.        const pathname = url.pathname;
  3783.        const currentProtocol = window.location.protocol;
  3784.        const currentHost = window.location.host;
  3785.        return currentProtocol + '//' + currentHost + pathname;
  3786.    } catch (e) {
  3787.        // If URL parsing fails, return original URL
  3788.        return originalUrl;
  3789.    }
  3790. }
  3791.  
  3792.  
  3793.    const typesenseInstantsearchAdapter = new TypesenseInstantSearchAdapter({
  3794.    server: {
  3795.        nodes: [{
  3796.            host: 'typesense.logicballs.com',
  3797.            protocol: 'https'
  3798.        }],
  3799.        apiKey: '=&9Yl?_vO{iOW.Tx',
  3800.        connectionTimeoutSeconds: 5,
  3801.        cacheSearchResultsForSeconds: 2 * 60
  3802.    },
  3803.    additionalSearchParameters: {
  3804.        query_by: "name,category,tags",  // Search primarily in name field
  3805.        sort_by: "order:asc,_text_match:desc",  // Sort by text match score
  3806.        prefix: true,
  3807.        filter_by: `publishDate:<${unixTimestamp}`,
  3808.        per_page: 9,
  3809.        typo_tolerance_enabled: true,
  3810.        num_typos: 1,  // Reduced typo tolerance for more accurate matching
  3811.        highlight_full_fields: "name",
  3812.        token_ranking_type: "position", // Prioritize matches based on position in text
  3813.        prioritize_token_position: true, // This should help prioritize matches at start of name
  3814.        exhaustive_search: true
  3815.    }
  3816. });
  3817.  
  3818.  
  3819.    const searchClient = typesenseInstantsearchAdapter.searchClient;
  3820.     let dataIndex =  'logicballs-frontend-' + language
  3821.     if(window.location.hostname == 'logicballs.com') {
  3822.         dataIndex = 'logicballs-frontend-'  + language
  3823.     }
  3824.  
  3825.    const search = instantsearch({
  3826.        searchClient,
  3827.        indexName: dataIndex,
  3828.    });
  3829.  
  3830.    search.addWidgets([
  3831.        searchBox({
  3832.            container: "#searchbox",
  3833.            placeholder:  common?.header?.search?.placeholder ,
  3834.            autofocus: true,
  3835.            showLoadingIndicator: true,
  3836.            cssClasses: {
  3837.    input: "ais-SearchBox-input tool-search" // ← won’t help with `id`
  3838.  },
  3839.  
  3840.        }),
  3841. hits({
  3842.    container: "#hits",
  3843.    transformItems(items) {
  3844.        return items.map(item => ({
  3845.            ...item,
  3846.            dynamicUrl: convertUrlToCurrentHost(item.url)
  3847.        }));
  3848.    },
  3849.    templates: {
  3850.        item: `
  3851.      <div class="hit-name ">
  3852.    <div class="category">
  3853.        <a href="{{dynamicUrl}}" class="new-tag">{{#helpers.highlight}}{ "attribute": "category" }{{/helpers.highlight}} </a>
  3854.    </div>
  3855.    <div class="tooltitle">
  3856.       <a href="{{dynamicUrl}}">{{#helpers.highlight}}{ "attribute": "name" }{{/helpers.highlight}}</a>
  3857.    </div>
  3858.    <div class="tags">
  3859.        <ul><li>{{tags.0}}</li><li>{{tags.1}}</li><li>{{tags.2}}</li><li>{{tags.3}}</li><li>{{tags.4}}</li><li>{{tags.5}}</li></ul>
  3860.    </div>
  3861. </div>
  3862.  `,
  3863.    },
  3864. }),
  3865.        pagination({
  3866.            container: '#pagination'
  3867.        }),
  3868.        refinementList({
  3869.            container: "#category-refinement-list",
  3870.            attribute: "category",
  3871.            searchable: true,
  3872.            searchablePlaceholder: "Search Categories",
  3873.            showMore: true,
  3874.            showMoreLimit: 40,
  3875.            cssClasses: {
  3876.                searchableInput: "form-control form-control-sm mb-2 border-light-2",
  3877.                searchableSubmit: "d-none",
  3878.                searchableReset: "d-none",
  3879.                showMore: "btn btn-outline btn-sm",
  3880.                list: "list-unstyled",
  3881.                count: "badge badge-light bg-light-2 ml-2",
  3882.                label: "d-flex align-items-center text-capitalize",
  3883.                checkbox: "mr-2",
  3884.            },
  3885.        }),
  3886.        refinementList({
  3887.            container: "#tags-refinement-list",
  3888.            attribute: "tags",
  3889.            searchable: true,
  3890.            searchablePlaceholder: "Search Tags",
  3891.            showMore: true,
  3892.            showMoreLimit: 40,
  3893.            cssClasses: {
  3894.                searchableInput: "form-control form-control-sm mb-2 border-light-2",
  3895.                searchableSubmit: "d-none",
  3896.                searchableReset: "d-none",
  3897.                showMore: "btn btn-outline btn-sm",
  3898.                list: "list-unstyled",
  3899.                count: "badge badge-light bg-light-2 ml-2",
  3900.                label: "d-flex align-items-center text-capitalize",
  3901.                checkbox: "mr-2",
  3902.            },
  3903.        }),
  3904.  
  3905.    ]);
  3906. search.on('render', function() {
  3907.    fixSearchBoxAccessibility();
  3908.    fixRefinementListAccessibility();
  3909. });
  3910.  
  3911. function fixSearchBoxAccessibility() {
  3912.    // Fix main search box
  3913.    const mainSearchInput = document.querySelector('#searchbox .ais-SearchBox-input');
  3914.    if (mainSearchInput && !mainSearchInput.id) {
  3915.        mainSearchInput.id = 'searchbox-input';
  3916.    }
  3917.    
  3918.    // Fix category refinement search
  3919.    const categorySearchInput = document.querySelector('#category-refinement-list .ais-SearchBox-input');
  3920.    if (categorySearchInput && !categorySearchInput.id) {
  3921.        categorySearchInput.id = 'category-search-input';
  3922.        
  3923.        // Create or update label
  3924.        let categoryLabel = document.querySelector('#category-search-label');
  3925.        if (!categoryLabel) {
  3926.            categoryLabel = document.createElement('label');
  3927.            categoryLabel.id = 'category-search-label';
  3928.            categoryLabel.className = 'sr-only';
  3929.            categoryLabel.textContent = 'Search Categories';
  3930.            categoryLabel.setAttribute('for', 'category-search-input');
  3931.            categorySearchInput.parentNode.insertBefore(categoryLabel, categorySearchInput);
  3932.        }
  3933.    }
  3934.    
  3935.    // Fix tags refinement search
  3936.    const tagsSearchInput = document.querySelector('#tags-refinement-list .ais-SearchBox-input');
  3937.    if (tagsSearchInput && !tagsSearchInput.id) {
  3938.        tagsSearchInput.id = 'tags-search-input';
  3939.        
  3940.        // Create or update label
  3941.        let tagsLabel = document.querySelector('#tags-search-label');
  3942.        if (!tagsLabel) {
  3943.            tagsLabel = document.createElement('label');
  3944.            tagsLabel.id = 'tags-search-label';
  3945.            tagsLabel.className = 'sr-only';
  3946.            tagsLabel.textContent = 'Search Tags';
  3947.            tagsLabel.setAttribute('for', 'tags-search-input');
  3948.            tagsSearchInput.parentNode.insertBefore(tagsLabel, tagsSearchInput);
  3949.        }
  3950.    }
  3951. }
  3952.  
  3953. function fixRefinementListAccessibility() {
  3954.    // Fix category refinement checkboxes
  3955.    fixCheckboxes('#category-refinement-list', 'category');
  3956.    
  3957.    // Fix tags refinement checkboxes
  3958.    fixCheckboxes('#tags-refinement-list', 'tags');
  3959. }
  3960.  
  3961. function fixCheckboxes(containerSelector, prefix) {
  3962.    const container = document.querySelector(containerSelector);
  3963.    if (!container) return;
  3964.    
  3965.    const checkboxes = container.querySelectorAll('.ais-RefinementList-checkbox');
  3966.    const labels = container.querySelectorAll('.ais-RefinementList-label');
  3967.    
  3968.    checkboxes.forEach((checkbox, index) => {
  3969.        if (!checkbox.id) {
  3970.            const uniqueId = `${prefix}-checkbox-${index}`;
  3971.            checkbox.id = uniqueId;
  3972.            
  3973.            // Find corresponding label and associate it
  3974.            const label = labels[index];
  3975.            if (label) {
  3976.                label.setAttribute('for', uniqueId);
  3977.            }
  3978.        }
  3979.    });
  3980. }
  3981.  
  3982.    search.start();
  3983.    const inbox = document.getElementById('show-button');
  3984.  
  3985.    // Add click event listener
  3986.    if (inbox) {    
  3987.    inbox.addEventListener('click', function () {
  3988.        // Call your JavaScript function here
  3989.        window.hightlightSearchBoxCursor();
  3990.    });
  3991.    }
  3992.    const inboxShowButton = document.getElementById('show-button-hero');
  3993.    // Add click event listener
  3994.    if (inboxShowButton) {
  3995.  
  3996.        inboxShowButton.addEventListener('click', function () {
  3997.            // Call your JavaScript function here
  3998.            window.hightlightSearchBoxCursor();
  3999.        });
  4000.    }
  4001.  
  4002.    const mytogglebutton = document.querySelector('#filterElementsToggle');
  4003.  
  4004.    // variable for the target element that I will show and hide
  4005.    const mytargetelement = document.querySelector('#filterElements');
  4006.    const mybuttonlement = document.querySelector('#filterElementsToggle');
  4007.  
  4008.    // event listener (onclick) with a function to toggle the class on the target element to show and hide it
  4009.    mytogglebutton.onclick = function () {
  4010.        // function actions/statements go here
  4011.        mytargetelement.classList.toggle('hidden');
  4012.        mybuttonlement.classList.toggle('active');
  4013.  
  4014.        // If the target element is not hidden, scroll it into view
  4015.        if (!mytargetelement.classList.contains('hidden')) {
  4016.            mytargetelement.scrollIntoView({ behavior: 'smooth' });
  4017.        }
  4018.    };
  4019.    }; // Close initializeSearch function
  4020. }
  4021.  
  4022. // Create global function to initialize search when needed - only declare if not already defined
  4023. if (typeof window.lazyInitializeSearch === 'undefined') {
  4024.    window.lazyInitializeSearch = async function() {
  4025.        if (!window.SearchLazyLoader.loaded && !window.SearchLazyLoader.loading) {
  4026.            try {
  4027.                await window.initializeSearch();
  4028.            } catch (error) {
  4029.                console.error('Search initialization failed:', error);
  4030.            }
  4031.        } else if (window.SearchLazyLoader.loading) {
  4032.            try {
  4033.                await window.SearchLazyLoader.loadPromise;
  4034.            } catch (error) {
  4035.                console.error('Search loading failed:', error);
  4036.            }
  4037.        }
  4038.    };
  4039. }
  4040.  
  4041. // Export hightlightSearchBoxCursor for global access - only declare if not already defined
  4042. if (typeof window.hightlightSearchBoxCursor === 'undefined') {
  4043.    window.hightlightSearchBoxCursor = async function() {
  4044.        // First, show the search overlay if it's hidden
  4045.        const targetElement = document.querySelector('#my-hidden-element');
  4046.        const showButton = document.querySelector('#show-button-typesence');
  4047.        const hideButton = document.querySelector('#hide-button');
  4048.        const bodyElement = document.body;
  4049.        
  4050.        if (targetElement) {
  4051.            if (targetElement.classList.contains('hidden')) {
  4052.                // Show the search overlay first
  4053.                targetElement.classList.remove('hidden');
  4054.                if (showButton) showButton.classList.add('hidden');
  4055.                if (hideButton) hideButton.classList.remove('hidden');
  4056.                bodyElement.classList.add('searchOpen');
  4057.            }
  4058.        } else {
  4059.            console.error('Search overlay element (#my-hidden-element) not found!');
  4060.            return;
  4061.        }
  4062.        
  4063.        // If search hasn't been initialized yet, initialize it first
  4064.        if (window.SearchLazyLoader && !window.SearchLazyLoader.loaded) {
  4065.            await window.lazyInitializeSearch();
  4066.            // Try again after scripts are loaded
  4067.            setTimeout(() => {
  4068.                const textSearchElements = document.getElementsByClassName('ais-SearchBox-input');
  4069.                if (textSearchElements.length > 0) {
  4070.                    textSearchElements[0].focus();
  4071.                    textSearchElements[0].select();
  4072.                }
  4073.            }, 100);
  4074.            return;
  4075.        }
  4076.        
  4077.        // Search already loaded, focusing input...
  4078.        const textSearchElements = document.getElementsByClassName('ais-SearchBox-input');
  4079.        if (textSearchElements.length > 0) {
  4080.            textSearchElements[0].focus();
  4081.            textSearchElements[0].select();
  4082.        } else {
  4083.            await window.lazyInitializeSearch();
  4084.            setTimeout(() => {
  4085.                const textSearchElements = document.getElementsByClassName('ais-SearchBox-input');
  4086.                if (textSearchElements.length > 0) {
  4087.                    textSearchElements[0].focus();
  4088.                    textSearchElements[0].select();
  4089.                }
  4090.            }, 200);
  4091.        }
  4092.    };
  4093. }
  4094.  
  4095. // Add hide button functionality - only declare if not already defined
  4096. if (typeof window.hideSearchOverlay === 'undefined') {
  4097.    window.hideSearchOverlay = function() {
  4098.        const targetElement = document.querySelector('#my-hidden-element');
  4099.        const showButton = document.querySelector('#show-button-typesence');
  4100.        const hideButton = document.querySelector('#hide-button');
  4101.        const bodyElement = document.body;
  4102.        
  4103.        if (targetElement && !targetElement.classList.contains('hidden')) {
  4104.            targetElement.classList.add('hidden');
  4105.            if (showButton) showButton.classList.remove('hidden');
  4106.            if (hideButton) hideButton.classList.add('hidden');
  4107.            bodyElement.classList.remove('searchOpen');
  4108.        }
  4109.    };
  4110. }
  4111.  
  4112. // Initialize hide button event listener when DOM is ready
  4113. document.addEventListener('DOMContentLoaded', function() {
  4114.    const hideButton = document.querySelector('#hide-button');
  4115.    if (hideButton) {
  4116.        hideButton.addEventListener('click', window.hideSearchOverlay);
  4117.    }
  4118. });
  4119.  
  4120. // Don't auto-initialize - wait for user interaction
  4121. // Search will be initialized when first opened
  4122. </script>
  4123.          <script src="/js/footer.min.js" defer></script>
  4124.        
  4125.          
  4126.  
  4127. </body>
  4128.  
  4129.  
  4130. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda