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://889993241.xyz

  1.  
  2.  
  3.  
  4. <!DOCTYPE html>
  5. <html lang="en" data-font-scheme="mulish">
  6.  
  7.  
  8. <head>
  9.    <meta charset="utf-8">
  10.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  11.    <meta name="viewport" content="width=device-width, initial-scale=1">
  12.    
  13.        <link rel="shortcut icon" type="image/png" href="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/favicon/favicons/KEITHSTON_-_2025-04-28T170605.392_CeZ1Z7a_fkf0PDJ_qaEBKbQ.png">
  14.    
  15.  
  16.    <title>Tech Insights &amp; Digital Trends Blog - Latest Updates</title>
  17.    <meta name="description" content="Explore the latest in technology, digital trends, and innovative insights. Stay updated with expert analysis and practical tips for the modern world.">
  18.    <link href="/static/blogapp/assets/css/themify-icons.css" rel="stylesheet">
  19.    <link href="/static/blogapp/assets/css/flaticon.css" rel="stylesheet">
  20.    <link href="/static/blogapp/assets/css/bootstrap.min.css" rel="stylesheet">
  21.    <link href="/static/blogapp/assets/css/animate.css" rel="stylesheet">
  22.    <link href="/static/blogapp/assets/css/owl.carousel.css" rel="stylesheet">
  23.    <link href="/static/blogapp/assets/css/owl.theme.css" rel="stylesheet">
  24.    <link href="/static/blogapp/assets/css/slick.css" rel="stylesheet">
  25.    <link href="/static/blogapp/assets/css/slick-theme.css" rel="stylesheet">
  26.    <link href="/static/blogapp/assets/css/swiper.min.css" rel="stylesheet">
  27.    <link href="/static/blogapp/assets/css/owl.transitions.css" rel="stylesheet">
  28.    <link href="/static/blogapp/assets/css/jquery.fancybox.css" rel="stylesheet">
  29.    <link href="/static/blogapp/assets/css/odometer-theme-default.css" rel="stylesheet">
  30.    <link href="/static/blogapp/assets/css/component.css" rel="stylesheet">
  31.    <link href="/static/blogapp/assets/sass/style.css" rel="stylesheet">
  32.    <link href="/static/blogapp/assets/sass/layout/navbar.css" rel="stylesheet">
  33.    <link href="/static/blogapp/assets/css/responsive.css" rel="stylesheet">
  34.    <link href="/static/blogapp/assets/sass/fonts.css" rel="stylesheet">
  35.    <link rel="canonical" href="https://889993241.xyz/">
  36.    <!-- Dynamic CSS Override -->
  37.    
  38. <style>
  39.    :root {
  40.        /* Bootstrap 5 Color Overrides */
  41.        --bs-primary: #8aa084;
  42.        --bs-primary-rgb: 8aa084;
  43.        --bs-secondary: #6b6e74;
  44.        --bs-success: #2a9d8f;
  45.        --bs-danger: #dc2626;
  46.        --bs-warning: #d97706;
  47.        --bs-info: #457b9d;
  48.        --bs-light: #f0f4f2;
  49.        --bs-dark: #283618;
  50.        
  51.        /* Your SCSS Variables Override */
  52.        --theme-primary-color: #8aa084;
  53.        --theme-primary-color-s2: #8aa084;
  54.        --body-bg-color: #ffffff;
  55.        --section-bg-color: #f9faff;
  56.        --text-color: #283618;
  57.        --text-light-color: #676767;
  58.        --heading-color: #283618;
  59.        --border-color: #d8d5c4;
  60.        --border-color-s2: #eef0fc;
  61.        --border-color-black: #3c3c40;
  62.        --body-color: #777777;
  63.        --small-black: #777777;
  64.        --light: #8188a9;
  65.        --cyan: #848892;
  66.        --black-section-text-color: #CBCBCB;
  67.        --black-bg-color: #202026;
  68.        --black-bg-color-s2: #2C2C32;
  69.        --dark-gray: #232f4b;
  70.        
  71.        /* Component Specific Colors (Bootstrap + Your SCSS) */
  72.        --navbar-bg: #ffffff;
  73.        --nav-bg: #ffffff;
  74.        --sub-nav: #e9ece2;
  75.        --navbar-color: #283618;
  76.        --topbar-bg: #f0f4f2;
  77.        --topbar-color: #283618;
  78.        --footer-bg: #283618;
  79.        --footer-color: #ffffff;
  80.        --card-bg: #ffffff;
  81.        --card-border: #d8d5c4;
  82.        --card-radius: 12px;
  83.        --link-color: #8aa084;
  84.        --link-hover: #6f856a;
  85.        --blog-color: #ffffff;
  86.        --blog-bg: rgba(138, 160, 132, 0.1);
  87.        
  88.        /* Simplified Font System */
  89.        --border-radius: 12px;
  90.        
  91.        /* Bootstrap Font Override - Uses CSS font system from fonts.css */
  92.        --bs-font-sans-serif: var(--font-primary);
  93.    }
  94.    
  95.    /* Font Override - Let CSS font system handle fonts via data-font-scheme */
  96.    body {
  97.        /* Remove font-family override - let data-font-scheme handle it */
  98.        font-weight: 400;
  99.        color: var(--text-color) !important;
  100.        
  101.            background-color: var(--body-bg-color) !important;
  102.        
  103.        min-height: 100vh;
  104.    }
  105.    
  106.    /* Headings - Let CSS font system handle fonts via data-font-scheme */
  107.    h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  108.        /* Remove font-family override - let data-font-scheme handle it */
  109.        font-weight: 600;
  110.        color: var(--heading-color) !important;
  111.    }
  112.    
  113.    /* Bootstrap Primary Color Throughout Site */
  114.    .btn-primary {
  115.        background-color: var(--bs-primary) !important;
  116.        border-color: var(--bs-primary) !important;
  117.        transition: all 0.3s ease;
  118.    }
  119.    
  120.    .btn-primary:hover {
  121.        background-color: var(--theme-primary-color-s2) !important;
  122.        border-color: var(--theme-primary-color-s2) !important;
  123.        transform: translateY(-2px);
  124.        box-shadow: 0 5px 15px rgba(var(--bs-primary-rgb), 0.4);
  125.    }
  126.    
  127.    .btn-outline-primary {
  128.        color: var(--bs-primary) !important;
  129.        border-color: var(--bs-primary) !important;
  130.    }
  131.    
  132.    .btn-outline-primary:hover {
  133.        background-color: var(--bs-primary) !important;
  134.        border-color: var(--bs-primary) !important;
  135.    }
  136.    
  137.    .text-primary {
  138.        color: var(--bs-primary) !important;
  139.    }
  140.    
  141.    .bg-primary {
  142.        background-color: var(--bs-primary) !important;
  143.    }
  144.    
  145.    /* Your Navigation System */
  146.    .navigation.navbar,
  147.    .navbar {
  148.        
  149.            background-color: var(--navbar-bg) !important ;
  150.        
  151.        /* Remove font-family override - let data-font-scheme handle it */
  152.        
  153.        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important ;
  154.    }
  155.    
  156.    .navigation.navbar .fluid-container{
  157.        min-height: 60px;
  158.    }
  159.    
  160.    .navigation .navbar-brand,
  161.    .navigation .navbar-nav .nav-link,
  162.    .navbar-brand,
  163.    nav a,
  164.    .navbar-nav .nav-link {
  165.        color: var(--navbar-color) !important;
  166.        /* Remove font-family override - let data-font-scheme handle it */
  167.        transition: all 0.3s ease;
  168.    }
  169.    
  170.    .navigation .navbar-nav .nav-link:hover,
  171.    .navbar-nav .nav-link:hover,
  172.    nav a:hover,
  173.    .navigation .navbar-nav .nav-link.active,
  174.    .navbar-nav .nav-link.active {
  175.        color: var(--navbar-color) !important;
  176.        transform: translateY(-1px);
  177.        opacity: 0.85;
  178.    }
  179.    
  180.    /* Your existing navbar specific classes */
  181.    .navigation .sub-menu {
  182.        background: var(--navbar-bg) !important;
  183.        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  184.        border: 1px solid var(--border-color);
  185.    }
  186.    
  187.    .border-color{
  188.        border-color: var(--border-color) !important;
  189.    }
  190.    
  191.    .navigation .sub-menu li a {
  192.        color: var(--navbar-color) !important;
  193.        /* Remove font-family override - let data-font-scheme handle it */
  194.    }
  195.    
  196.    .navigation .sub-menu li a:hover {
  197.        background: var(--bs-primary) !important;
  198.        color: #ffffff !important;
  199.    }
  200.    
  201.    .card {
  202.        
  203.            background-color: var(--card-bg) !important;
  204.        
  205.        border: 1px solid var(--border-color) !important;
  206.        transition: all 0.3s ease;
  207.        border-radius: 12px;
  208.        color: var(--text-color) !important;
  209.    }
  210.     .navbar-brand img{
  211.            height: 70px;
  212.            object-fit: contain;
  213.        }
  214.    
  215.    .card:hover {
  216.        transform: translateY(-5px);
  217.        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
  218.    }
  219.    
  220.    .card-header {
  221.        background-color: var(--section-bg-color) !important;
  222.        border-color: var(--border-color) !important;
  223.        color: var(--text-color) !important;
  224.    }
  225.    
  226.    /* Bootstrap Form Controls */
  227.    .form-control {
  228.        color: var(--text-color) !important;
  229.        background-color: var(--body-bg-color) !important;
  230.        border-color: var(--border-color) !important;
  231.        /* Remove font-family override - let data-font-scheme handle it */
  232.    }
  233.    
  234.    .form-control:focus {
  235.        border-color: var(--bs-primary) !important;
  236.        box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary), 0.25) !important;
  237.    }
  238.    
  239.    /* Links throughout site */
  240.  .nav1 a {
  241.        color: var(--link-color) !important;
  242.        text-decoration: none;
  243.        transition: all 0.3s ease;
  244.    }
  245.    
  246.    a:hover {
  247.        color: var(--link-hover) !important;
  248.    }
  249.    
  250.    /* Text color classes */
  251.    .text-muted {
  252.        color: var(--body-color) !important;
  253.    }
  254.    
  255.    .text-light {
  256.        color: var(--light) !important;
  257.    }
  258.    
  259.    /* Section backgrounds */
  260.    .section-bg,
  261.    .bg-light {
  262.        background-color: var(--section-bg-color) !important;
  263.    }
  264.    
  265.    /* Dark sections */
  266.    .bg-dark,
  267.    .dark-section {
  268.        background-color: var(--black-bg-color) !important;
  269.        color: var(--black-section-text-color) !important;
  270.    }
  271.    
  272.    /* Footer styling */
  273.    .footer,
  274.    footer {
  275.        
  276.            background-color: var(--footer-bg) !important;
  277.        
  278.        color: var(--footer-color) !important;
  279.    }
  280.    
  281.    .footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6,
  282.    footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
  283.        color: var(--black-section-text-color) !important;
  284.        /* Remove font-family override - let data-font-scheme handle it */
  285.    }
  286.    
  287.    .footer a, footer a {
  288.        color: var(--black-section-text-color) !important;
  289.    }
  290.    
  291.    .footer a:hover, footer a:hover {
  292.        color: var(--bs-primary) !important;
  293.    }
  294.    
  295.    /* Bootstrap Secondary Colors */
  296.    .btn-secondary {
  297.        background-color: var(--bs-secondary) !important;
  298.        border-color: var(--bs-secondary) !important;
  299.    }
  300.    
  301.    .text-secondary {
  302.        color: var(--bs-secondary) !important;
  303.    }
  304.    
  305.    .bg-secondary {
  306.        background-color: var(--bs-secondary) !important;
  307.    }
  308.    
  309.    /* Bootstrap Success, Danger, Warning, Info */
  310.    .btn-success { background-color: var(--bs-success) !important; border-color: var(--bs-success) !important; }
  311.    .btn-danger { background-color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; }
  312.    .btn-warning { background-color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; }
  313.    .btn-info { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; }
  314.    
  315.    .text-success { color: var(--bs-success) !important; }
  316.    .text-danger { color: var(--bs-danger) !important; }
  317.    .text-warning { color: var(--bs-warning) !important; }
  318.    .text-info { color: var(--bs-info) !important; }
  319.    
  320.    .bg-success { background-color: var(--bs-success) !important; }
  321.    .bg-danger { background-color: var(--bs-danger) !important; }
  322.    .bg-warning { background-color: var(--bs-warning) !important; }
  323.    .bg-info { background-color: var(--bs-info) !important; }
  324.    
  325.    /* Mobile menu styling */
  326.    .navbar-toggler,
  327.    .open-btn {
  328.        border-color: var(--navbar-color) !important;
  329.    }
  330.    
  331.    .icon-bar {
  332.        background-color: var(--navbar-color) !important;
  333.    }
  334.    
  335.    /* Smooth Animations */
  336.    .fade-in-up {
  337.        animation: fadeInUp 0.6s ease-out;
  338.    }
  339.    
  340.    @keyframes fadeInUp {
  341.        from {
  342.            opacity: 0;
  343.            transform: translateY(30px);
  344.        }
  345.        to {
  346.            opacity: 1;
  347.            transform: translateY(0);
  348.        }
  349.    }
  350.    
  351.    /* Responsive adjustments */
  352.    @media (max-width: 768px) {
  353.        .navbar {
  354.            padding: 0.5rem 0;
  355.        }
  356.        
  357.        .card:hover {
  358.            transform: none;
  359.        }
  360.    }
  361.    
  362. </style>
  363.    
  364.    
  365.    
  366.  
  367. <script>
  368.    var _paq = window._paq = window._paq || [];
  369.    /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  370.    _paq.push(['trackPageView']);
  371.    _paq.push(['enableLinkTracking']);
  372.    (function() {
  373.        var u = "//analytics.tech-vikings.com/";
  374.        _paq.push(['setTrackerUrl', u + 'matomo.php']);
  375.        _paq.push(['setSiteId', '2']);
  376.        var d = document,
  377.            g = d.createElement('script'),
  378.            s = d.getElementsByTagName('script')[0];
  379.        g.async = true;
  380.        g.src = u + 'matomo.js';
  381.        s.parentNode.insertBefore(g, s);
  382.    })();
  383. </script>
  384. </head>
  385.  
  386.  
  387.  
  388. <body class="page-blogapp:homepage theme-theme_38">
  389.    <div id="healthcheck"></div>
  390.    <!-- start page-wrapper -->
  391.    <div class="page-wrapper">
  392.        
  393.            <!-- start preloader -->
  394.                
  395.            <!-- end preloader -->
  396.        
  397.        <!-- Start header -->
  398.        <header id="header" class="wpo-site-header">
  399.            
  400.  
  401.  
  402.    
  403.  
  404.  
  405.  
  406.  
  407.            
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414. <header class="header-v2 mb-4">
  415.    <div class="main-header-v2">
  416.        <div class="container-fluid fluid-container">
  417.            <div class="row align-items-center">
  418.                <div class="col-lg-3 col-md-4 col-6">
  419.                   <div class="logo-area-v2">
  420.                        <a class="navbar-brand" href="/">
  421.                            
  422.                                <img src="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/site_logos/e7318954-549f-48ff-ad1a-907e94fdb2ae_logo.png" alt="889993241 Insights">
  423.                            
  424.                        </a>
  425.                    </div>
  426.                </div>
  427.  
  428.                <div class="col-lg-6 col-md-8 col-6 d-none d-md-block">
  429.                    <div class="search-area-v2">
  430.                        <form class="search-wrapper-v2" action="#" method="get">
  431.                            <input type="search" class="search-field-v2"
  432.                                placeholder="Search articles, news, tutorials..." name="q" id="search-input1">
  433.                            <!-- <button type="submit" class="search-button-v2">
  434.                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor"
  435.                                    stroke-width="2">
  436.                                    <circle cx="11" cy="11" r="8"></circle>
  437.                                    <path d="m21 21-4.35-4.35"></path>
  438.                                </svg>
  439.                                <span>Search</span>
  440.                            </button> -->
  441.                            <!-- The search results will be displayed here -->
  442.                        </form>
  443.                        <div id="search-results1" class="search-results-container search-v1"></div>
  444.                    </div>
  445.                </div>
  446.            </div>
  447.  
  448.            <!-- Mobile Search -->
  449.            <div class="row d-md-none">
  450.                <div class="col-12">
  451.                    <div class="search-area-v2">
  452.                        <form class="search-wrapper-v2" action="#" method="get">
  453.                            <input type="search" class="search-field-v2" placeholder="Search..." name="q" id="search-input">
  454.                            <!-- <button type="submit" class="search-button-v2">
  455.                                <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor"
  456.                                    stroke-width="2">
  457.                                    <circle cx="11" cy="11" r="8"></circle>
  458.                                    <path d="m21 21-4.35-4.35"></path>
  459.                                </svg>
  460.                                <span>Search</span>
  461.                            </button> -->
  462.                        <!-- The search results will be displayed here -->
  463.                    </form>
  464.                    <div id="search-results12" class="search-results-container search-v1"></div>
  465.                    </div>
  466.                </div>
  467.            </div>
  468.        </div>
  469.    </div>
  470.  
  471.    <!-- Navigation Bar -->
  472.    <nav class="nav-bar-v2">
  473.        <div class="container-fluid fluid-container">
  474.            <div class="nav-container-v2 py-2">
  475.  
  476.                <!-- Mobile Menu Toggle -->
  477.                <button class="mobile-toggle d-lg-none" type="button" onclick="toggleMobileMenu()">
  478.                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
  479.                        <line x1="3" y1="6" x2="21" y2="6"></line>
  480.                        <line x1="3" y1="12" x2="21" y2="12"></line>
  481.                        <line x1="3" y1="18" x2="21" y2="18"></line>
  482.                    </svg>
  483.                    Menu
  484.                </button>
  485.  
  486.                <!-- Navigation Menu -->
  487.                <ul class="nav-menu-v2" id="navMenu">
  488.  
  489.                    
  490.                    <li class="nav-item-v2">
  491.                        <a href="/" class="nav-link-v2 active-v2">Home</a>
  492.                    </li>
  493.  
  494.                    
  495.                    
  496.                     <li class="nav-item-v2">
  497.                        <a href="/category/all-posts/" class="nav-link-v2">
  498.                            All Posts
  499.                        </a>
  500.                        </li>
  501.  
  502.                        
  503.  
  504.                                
  505.                                
  506.                        
  507.                     <li class="nav-item-v2">
  508.                        <a href="/category/business/" class="nav-link-v2">
  509.                            Business
  510.                        </a>
  511.                        </li>
  512.  
  513.                        
  514.  
  515.                                
  516.                                
  517.                        
  518.                     <li class="nav-item-v2">
  519.                        <a href="/category/esports/" class="nav-link-v2">
  520.                            Esports
  521.                        </a>
  522.                        </li>
  523.  
  524.                        
  525.  
  526.                                
  527.                                
  528.                        
  529.                     <li class="nav-item-v2">
  530.                        <a href="/category/fashion/" class="nav-link-v2">
  531.                            Fashion
  532.                        </a>
  533.                        </li>
  534.  
  535.                        
  536.  
  537.                                
  538.                                
  539.                        
  540.                     <li class="nav-item-v2">
  541.                        <a href="/category/featured/" class="nav-link-v2">
  542.                            Featured
  543.                        </a>
  544.                        </li>
  545.  
  546.                        
  547.  
  548.                                
  549.                                
  550.                        
  551.                    
  552.                        
  553.                        <li class="nav-item-v2" onclick="toggleDropdown(this, event)">
  554.                            <a href="#" class="nav-link-v2">
  555.                                More
  556.                                <svg class="d-lg-none" width="12" height="12" style="margin-left: 5px;"
  557.                                    viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
  558.                                    <path d="m6 9 6 6 6-6"></path>
  559.                                </svg>
  560.                            </a>
  561.                            <div class="dropdown-v2">
  562.                                <a href="/category/gaming/" class="dropdown-link-v2">
  563.                                    Gaming
  564.                                </a>
  565.                                
  566.  
  567.                                
  568.                                
  569.                        
  570.                    
  571.                                <a href="/category/health/" class="dropdown-link-v2">
  572.                                    Health
  573.                                </a>
  574.                                
  575.  
  576.                                
  577.                                
  578.                        
  579.                    
  580.                                <a href="/category/life-fitness/" class="dropdown-link-v2">
  581.                                    Life &amp; Fitness
  582.                                </a>
  583.                                
  584.  
  585.                                
  586.                                
  587.                        
  588.                    
  589.                                <a href="/category/lifestyle/" class="dropdown-link-v2">
  590.                                    Lifestyle
  591.                                </a>
  592.                                
  593.  
  594.                                
  595.                                
  596.                        
  597.                    
  598.                                <a href="/category/news/" class="dropdown-link-v2">
  599.                                    News
  600.                                </a>
  601.                                
  602.  
  603.                                
  604.                                
  605.                        
  606.                    
  607.                                <a href="/category/others/" class="dropdown-link-v2">
  608.                                    Others
  609.                                </a>
  610.                                
  611.  
  612.                                
  613.                                
  614.                        
  615.                    
  616.                                <a href="/category/politics/" class="dropdown-link-v2">
  617.                                    Politics
  618.                                </a>
  619.                                
  620.  
  621.                                
  622.                                
  623.                        
  624.                    
  625.                                <a href="/category/sports/" class="dropdown-link-v2">
  626.                                    Sports
  627.                                </a>
  628.                                
  629.  
  630.                                
  631.                                
  632.                        
  633.                    
  634.                                <a href="/category/tech/" class="dropdown-link-v2">
  635.                                    Tech
  636.                                </a>
  637.                                
  638.  
  639.                                
  640.                                
  641.                        
  642.                    
  643.                                <a href="/category/travel/" class="dropdown-link-v2">
  644.                                    Travel
  645.                                </a>
  646.                                
  647.  
  648.                                
  649.                                
  650.                            </div>
  651.                        </li>
  652.                        
  653.                        
  654. <li>
  655.                  <a href="/page/contact-us/">
  656.                     Contact Us
  657.                  </a>
  658.              </li>
  659.                </ul>
  660.  
  661.            </div>
  662.        </div>
  663.    </nav>
  664. </header>
  665.  
  666. <script>
  667.    function toggleMobileMenu() {
  668.        const navMenu = document.getElementById('navMenu');
  669.        navMenu.classList.toggle('show');
  670.    }
  671.  
  672.    function toggleDropdown(element, event) {
  673.        // Only handle dropdown toggle on mobile
  674.        if (window.innerWidth < 992) {
  675.            event.preventDefault();
  676.            element.classList.toggle('dropdown-open');
  677.        }
  678.    }
  679.  
  680.    // Close mobile menu when clicking outside
  681.    document.addEventListener('click', function (event) {
  682.        const navMenu = document.getElementById('navMenu');
  683.        const mobileToggle = document.querySelector('.mobile-toggle');
  684.  
  685.        if (!navMenu.contains(event.target) && !mobileToggle.contains(event.target)) {
  686.            navMenu.classList.remove('show');
  687.        }
  688.    });
  689.  
  690.    // Handle window resize
  691.    window.addEventListener('resize', function () {
  692.        const navMenu = document.getElementById('navMenu');
  693.        if (window.innerWidth >= 992) {
  694.            navMenu.classList.remove('show');
  695.            // Remove all dropdown-open classes
  696.            document.querySelectorAll('.dropdown-open').forEach(item => {
  697.                item.classList.remove('dropdown-open');
  698.            });
  699.        }
  700.    });
  701. </script>
  702.  
  703. <script>
  704.  document.addEventListener("DOMContentLoaded", function () {
  705.    console.log("loaded");
  706.  
  707.    //const searchInput = document.getElementById("search-input1");
  708.     const searchInput = window.innerWidth <= 991
  709.      ? document.getElementById("search-input")
  710.      : document.getElementById("search-input1");
  711.    const searchResults = window.innerWidth <= 991
  712.      ? document.getElementById("search-results12") :document.getElementById("search-results1");
  713.  
  714.    if (!searchInput || !searchResults) {
  715.      console.error("Search input/results not found");
  716.      return;
  717.    }
  718.  
  719.    // Prevent form submission
  720.    if (searchInput.form) {
  721.      searchInput.form.addEventListener("submit", function (e) {
  722.        e.preventDefault();
  723.      });
  724.    }
  725.  
  726.    // Add event listener for keyup
  727.    searchInput.addEventListener("keyup", function (e) {
  728.      console.log("Key pressed:", e.key);
  729.      e.preventDefault();
  730.  
  731.      const query = searchInput.value.trim();
  732.      console.log("User is typing: " + query);
  733.  
  734.      // If empty → clear and hide
  735.      if (query === "") {
  736.        searchResults.innerHTML = "";
  737.        searchResults.style.display = "none";
  738.        return;
  739.      }
  740.  
  741.      // Show results
  742.      searchResults.style.display = "block";
  743.  
  744.      // Fetch search results
  745.      fetch("/search-posts?version=v1&q=" + encodeURIComponent(query), {
  746.        method: "GET",
  747.        headers: { "X-Requested-With": "XMLHttpRequest" },
  748.      })
  749.        .then(response => {
  750.          console.log("Response Status:", response.status);
  751.          return response.json();
  752.        })
  753.        .then(data => {
  754.          console.log("Data received:", data);
  755.          if (data.html) {
  756.            searchResults.innerHTML = data.html;
  757.          } else {
  758.            searchResults.innerHTML = "<p>No results found.</p>";
  759.          }
  760.        })
  761.        .catch(error => {
  762.          console.error("Error fetching search results:", error);
  763.        });
  764.    });
  765.  
  766.    // Close results when clicking outside
  767.    document.addEventListener("click", function (e) {
  768.      if (!searchInput.contains(e.target) && !searchResults.contains(e.target)) {
  769.        searchResults.style.display = "none";
  770.      }
  771.    });
  772.  
  773.    // Close results on ESC key
  774.    document.addEventListener("keydown", function (e) {
  775.      if (e.key === "Escape") {
  776.        searchResults.style.display = "none";
  777.      }
  778.    });
  779.  });
  780. </script>
  781.  
  782. <style>
  783.        /* search field */
  784.  .search-results-container {
  785.  position: absolute;
  786.  top: 100%; /* Position it below the input field */
  787.  left: 10px;
  788.  right: 10px;
  789.  background-color: white;
  790.  border: 1px solid #ddd;
  791.  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  792.  max-height: 300px;
  793.  overflow-y: auto;
  794.  z-index: 1000;
  795.  display: none; /* Initially hidden */
  796. }
  797.  
  798. .search-results-container p {
  799.  margin: 0;
  800. }
  801.  
  802. .search-results-container .result-item {
  803.  padding: 10px;
  804.  cursor: pointer;
  805. }
  806.  
  807. .search-results-container .result-item:hover {
  808.  background-color: #f0f0f0;
  809. }
  810. </style>
  811.  
  812.        </header>
  813.        <!-- end of header -->
  814.        <!-- start of wpo-blog-hero -->
  815.        
  816.  
  817.  
  818.  
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.        <!-- end of wpo-blog-hero -->
  826.  
  827.        <!-- start of wpo-breacking-news -->
  828.        
  829.        <!-- end of wpo-breacking-news -->
  830.        
  831.        <!-- start wpo-blog-highlights-section -->
  832.        
  833.  
  834.  
  835.  
  836.    
  837.  
  838.  
  839.  
  840.  
  841. <style>
  842.    .blog-highlights-v3 {
  843.        padding: 80px 0;
  844.        position: relative;
  845.        overflow: hidden;
  846.    }
  847.    
  848.    .blog-highlights-v3::before {
  849.        content: '';
  850.        position: absolute;
  851.        top: 0;
  852.        left: 0;
  853.        width: 100%;
  854.        height: 100%;
  855.        background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  856.        z-index: 0;
  857.    }
  858.    
  859.    .masonry-container {
  860.        display: grid;
  861.        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  862.        grid-gap: 25px;
  863.    }
  864.    
  865.    .blog-card-v3 {
  866.        border: 1px solid var(--border-color) !important;
  867.        border-radius: 25px;
  868.        overflow: hidden;
  869.        background: var(--card-bg);
  870.        backdrop-filter: blur(10px);
  871.        border: 1px solid var(--border-color);
  872.        position: relative;
  873.        transition: all 0.5s cubic-bezier(0.23, 1, 0.320, 1);
  874.        cursor: pointer;
  875.        transform: translateY(0) rotateX(0) rotateY(0);
  876.        transform-style: preserve-3d;
  877.        perspective: 1000px;
  878.        z-index: 1;
  879.    }
  880.    .span-21 { grid-row-end: span 21; }
  881.    .span-22 { grid-row-end: span 22; }
  882.    
  883.    .blog-card-v3::before {
  884.        content: '';
  885.        position: absolute;
  886.        top: 0;
  887.        left: 0;
  888.        width: 100%;
  889.        height: 100%;
  890.        background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(0,0,0,0.02) 100%);
  891.        opacity: 0;
  892.        transition: opacity 0.3s ease;
  893.        z-index: 1;
  894.    }
  895.    
  896.    .blog-card-v3:hover {
  897.        transform: translateY(-20px) rotateX(5deg) rotateY(5deg) scale(1.03);
  898.        box-shadow:
  899.            0 30px 60px rgba(0,0,0,0.15),
  900.            0 15px 30px rgba(0,0,0,0.1),
  901.            inset 0 1px 0 rgba(255,255,255,0.3);
  902.        z-index: 10;
  903.    }
  904.    
  905.    .blog-card-v3:hover::before {
  906.        opacity: 1;
  907.    }
  908.    
  909.    .blog-image-v3 {
  910.        position: relative;
  911.        overflow: hidden;
  912.        height: 50%;
  913.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  914.    }
  915.    
  916.    .blog-image-v3::after {
  917.        content: '';
  918.        position: absolute;
  919.        top: 0;
  920.        left: 0;
  921.        width: 100%;
  922.        height: 100%;
  923.        background:
  924.            radial-gradient(circle at top right, rgba(255,255,255,0.3) 0%, transparent 50%),
  925.            linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.4) 100%);
  926.        z-index: 2;
  927.    }
  928.    
  929.    .blog-image-v3 img {
  930.        width: 100%;
  931.        height: 100%;
  932.        object-fit: cover;
  933.        transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  934.        transform: scale(1);
  935.        filter: brightness(1) saturate(1);
  936.    }
  937.    
  938.    .blog-card-v3:hover .blog-image-v3 img {
  939.        transform: scale(1.15);
  940.        filter: brightness(1.1) saturate(1.2);
  941.    }
  942.    
  943.    .blog-floating-elements {
  944.        position: absolute;
  945.        top: 0;
  946.        left: 0;
  947.        width: 100%;
  948.        height: 100%;
  949.        pointer-events: none;
  950.        z-index: 3;
  951.    }
  952.    
  953.    .floating-dot {
  954.        position: absolute;
  955.        width: 8px;
  956.        height: 8px;
  957.        background: rgba(255,255,255,0.6);
  958.        border-radius: 50%;
  959.        animation: float 3s ease-in-out infinite;
  960.    }
  961.    
  962.    .floating-dot:nth-child(1) { top: 20%; left: 15%; animation-delay: 0s; }
  963.    .floating-dot:nth-child(2) { top: 60%; right: 20%; animation-delay: 0.5s; }
  964.    .floating-dot:nth-child(3) { bottom: 30%; left: 25%; animation-delay: .5s; }
  965.    
  966.    @keyframes float {
  967.        0%, 100% { transform: translateY(0px); }
  968.        50% { transform: translateY(-10px); }
  969.    }
  970.    
  971.    .blog-category-v3 {
  972.        position: absolute;
  973.        top: 25px;
  974.        right: 25px;
  975.        padding: 10px 18px;
  976.        border-radius: 30px;
  977.        font-size: 11px;
  978.        font-weight: 800;
  979.        text-transform: uppercase;
  980.        letter-spacing: 1.2px;
  981.        backdrop-filter: blur(10px);
  982.        z-index: 4;
  983.        transform: translateY(0) scale(1);
  984.        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  985.        box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  986.        border: 1px solid rgba(255,255,255,0.3);
  987.    }
  988.    
  989.    .blog-card-v3:hover .blog-category-v3 {
  990.        transform: translateY(-10px) scale(1.1);
  991.        background: rgba(var(--card-bg),1);
  992.        box-shadow: 0 12px 30px rgba(0,0,0,0.15);
  993.    }
  994.    
  995.    .blog-content-v3 {
  996.        padding: 35px 30px 30px;
  997.        height: 50%;
  998.        display: flex;
  999.        flex-direction: column;
  1000.        justify-content: space-between;
  1001.        position: relative;
  1002.        z-index: 2;
  1003.    }
  1004.    
  1005.    .blog-title-v3 {
  1006.        font-size: 19px;
  1007.        font-weight: 700;
  1008.        line-height: 1.3;
  1009.        margin-bottom: 18px;
  1010.        position: relative;
  1011.    }
  1012.    
  1013.    .blog-title-v3 a {
  1014.        text-decoration: none;
  1015.        color: var(--top-color) !important;
  1016.        transition: all 0.3s ease;
  1017.        position: relative;
  1018.        display: inline-block;
  1019.    }
  1020.    
  1021.    .blog-title-v3 a::before {
  1022.        content: '';
  1023.        position: absolute;
  1024.        bottom: -3px;
  1025.        left: 0;
  1026.        width: 0;
  1027.        height: 3px;
  1028.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1029.        border-radius: 2px;
  1030.        transition: width 0.5s cubic-bezier(0.23, 1, 0.320, 1);
  1031.    }
  1032.    
  1033.    .blog-card-v3:hover .blog-title-v3 a::before {
  1034.        width: 100%;
  1035.    }
  1036.    
  1037.    .blog-meta-v3 {
  1038.        display: flex;
  1039.        align-items: center;
  1040.        gap: 15px;
  1041.        margin-bottom: 18px;
  1042.        font-size: 13px;
  1043.        color: #7f8c8d;
  1044.        padding-bottom: 18px;
  1045.        border-bottom: 1px solid rgba(127, 140, 141, 0.1);
  1046.        position: relative;
  1047.    }
  1048.    
  1049.    .blog-meta-v3::after {
  1050.        content: '';
  1051.        position: absolute;
  1052.        bottom: -1px;
  1053.        left: 0;
  1054.        width: 0;
  1055.        height: 1px;
  1056.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1057.        transition: width 0.6s ease 0.3s;
  1058.    }
  1059.    
  1060.    .blog-card-v3:hover .blog-meta-v3::after {
  1061.        width: 80px;
  1062.    }
  1063.    
  1064.    .blog-author-img-v3 {
  1065.        width: 35px;
  1066.        height: 35px;
  1067.        border-radius: 50%;
  1068.        object-fit: cover;
  1069.        border: 3px solid rgba(255,255,255,0.8);
  1070.        transition: all 0.4s ease;
  1071.        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  1072.    }
  1073.    
  1074.    .blog-card-v3:hover .blog-author-img-v3 {
  1075.        transform: scale(1.15);
  1076.        border-color: rgba(102, 126, 234, 0.5);
  1077.        box-shadow: 0 8px 25px rgba(102, 126, 234, 0.2);
  1078.    }
  1079.    
  1080.    .blog-excerpt-v3 {
  1081.        font-size: 14px;
  1082.        line-height: 1.7;
  1083.        color: #5a6c7d;
  1084.        margin-bottom: 20px;
  1085.        display: -webkit-box;
  1086.        -webkit-line-clamp: 3;
  1087.        -webkit-box-orient: vertical;
  1088.        overflow: hidden;
  1089.        opacity: 0.9;
  1090.        transition: opacity 0.3s ease;
  1091.    }
  1092.    
  1093.    .blog-card-v3:hover .blog-excerpt-v3 {
  1094.        opacity: 1;
  1095.    }
  1096.    
  1097.    .blog-actions-v3 {
  1098.        display: flex;
  1099.        justify-content: space-between;
  1100.        align-items: center;
  1101.    }
  1102.    
  1103.    .blog-read-time-v3 {
  1104.        font-size: 12px;
  1105.        color: #95a5a6;
  1106.        display: flex;
  1107.        align-items: center;
  1108.        gap: 6px;
  1109.    }
  1110.    
  1111.    .blog-read-more-v3 {
  1112.        width: 50px;
  1113.        height: 50px;
  1114.        border-radius: 50%;
  1115.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1116.        display: flex;
  1117.        align-items: center;
  1118.        justify-content: center;
  1119.        color: white;
  1120.        text-decoration: none;
  1121.        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  1122.        transform: scale(0) rotate(0deg);
  1123.        opacity: 0;
  1124.        box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);
  1125.        position: relative;
  1126.        overflow: hidden;
  1127.    }
  1128.    
  1129.    .blog-read-more-v3::before {
  1130.        content: '';
  1131.        position: absolute;
  1132.        top: 50%;
  1133.        left: 50%;
  1134.        width: 0;
  1135.        height: 0;
  1136.        background: rgba(255,255,255,0.2);
  1137.        border-radius: 50%;
  1138.        transition: all 0.6s ease;
  1139.        transform: translate(-50%, -50%);
  1140.    }
  1141.    
  1142.    .blog-card-v3:hover .blog-read-more-v3 {
  1143.        transform: scale(1) rotate(360deg);
  1144.        opacity: 1;
  1145.    }
  1146.    
  1147.    .blog-read-more-v3:hover::before {
  1148.        width: 100%;
  1149.        height: 100%;
  1150.    }
  1151.    
  1152.    .section-header-v3 {
  1153.        text-align: center;
  1154.        margin-bottom: 80px;
  1155.        position: relative;
  1156.        z-index: 2;
  1157.    }
  1158.    
  1159.    .section-title-v3 {
  1160.        font-size: 3.5rem;
  1161.        font-weight: 900;
  1162.        margin-bottom: 25px;
  1163.        color: #2c3e50;
  1164.        position: relative;
  1165.        display: inline-block;
  1166.    }
  1167.    
  1168.    .section-title-v3::before {
  1169.        content: '';
  1170.        position: absolute;
  1171.        top: -15px;
  1172.        right: -15px;
  1173.        width: 30px;
  1174.        height: 30px;
  1175.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1176.        border-radius: 50%;
  1177.        opacity: 0.3;
  1178.        animation: pulse 2s infinite;
  1179.    }
  1180.    
  1181.    @keyframes pulse {
  1182.        0%, 100% { transform: scale(1); opacity: 0.3; }
  1183.        50% { transform: scale(1.2); opacity: 0.6; }
  1184.    }
  1185.    
  1186.    .section-subtitle-v3 {
  1187.        font-size: 1.2rem;
  1188.        color: #7f8c8d;
  1189.        max-width: 700px;
  1190.        margin: 0 auto;
  1191.        line-height: 1.7;
  1192.        font-weight: 300;
  1193.    }
  1194.    
  1195.    .scroll-reveal {
  1196.        opacity: 0;
  1197.        transform: translateY(50px) scale(0.9);
  1198.        transition: all 0.8s cubic-bezier(0.23, 1, 0.320, 1);
  1199.    }
  1200.    
  1201.    .scroll-reveal.revealed {
  1202.        opacity: 1;
  1203.        transform: translateY(0) scale(1);
  1204.    }
  1205.    
  1206.    .scroll-reveal:nth-child(1) { transition-delay: 0.1s; }
  1207.    .scroll-reveal:nth-child(2) { transition-delay: 0.1s; }
  1208.    .scroll-reveal:nth-child(3) { transition-delay: 0.1s; }
  1209.    .scroll-reveal:nth-child(4) { transition-delay: 0.1s; }
  1210.    .scroll-reveal:nth-child(5) { transition-delay: 0.1s; }
  1211.    .scroll-reveal:nth-child(6) { transition-delay: 0.1s; }
  1212.  
  1213.    @media (max-width: 768px) {
  1214.        .masonry-container {
  1215.            display: flex;
  1216.            flex-direction: column;
  1217.            grid-gap: 20px;
  1218.        }
  1219.        .blog-card-v3:nth-child(n) {
  1220.            grid-row-end: span 20;
  1221.        }
  1222.        .section-title-v3 {
  1223.            font-size: 2.8rem;
  1224.        }
  1225.        .blog-highlights-v3 {
  1226.            padding: 60px 0;
  1227.        }
  1228.        .blog-content-v3 {
  1229.            padding: 25px 20px;
  1230.        }
  1231.        .blog-card-v3:hover {
  1232.            transform: translateY(-15px) scale(1.02);
  1233.        }
  1234.        .blog-image-v3{
  1235.            max-height: 350px;
  1236.            height: 100%;
  1237.        }
  1238.    }
  1239. </style>
  1240.  
  1241. <section class="blog-highlights-v3">
  1242.    <div class="container-fluid fluid-container">
  1243.        <div class="row">
  1244.            <div class="col-12">
  1245.                 <div class="wpo-section-title">
  1246.            <h2>
  1247.                Today's Top Highlights
  1248.                   </h2>
  1249.        </div>
  1250.            </div>
  1251.        </div>
  1252.        
  1253.        <div class="row">
  1254.            <div class="col-lg-8 col-12">
  1255.                <div class="masonry-container">
  1256.                    
  1257.                    
  1258.  
  1259.                </div>
  1260.            </div>
  1261.            
  1262.               <div class="col col-lg-4 col-12">
  1263.                
  1264.  
  1265.  
  1266.  
  1267.    
  1268.  
  1269.  
  1270. <!-- Blog Sidebar V2 - Focused Design -->
  1271.  <div class="sidebar mb-3">
  1272.    <!-- Recent Posts Section -->
  1273.    <div class="sidebar-widget mb-5">
  1274.      <div class="widget-title-wrapper mb-3">
  1275.        <h4 class="widget-title bg-primary text-white  px-4 py-3 mb-0 position-relative">
  1276.          <i class="ti-time me-2"></i>Recent Posts
  1277.          <span class="title-arrow-primary"></span>
  1278.        </h4>
  1279.      </div>
  1280.      <div class="widget-content border border-light shadow-sm rounded-3 p-4">
  1281.        <div class="recent-post-list">
  1282.          
  1283.        </div>
  1284.  
  1285.        <div class="text-center mt-4 pt-3 border-top border-light">
  1286.          <a href="#" class="btn btn-primary btn-sm px-4"><i class="ti-plus me-1"></i>Load More Posts</a>
  1287.        </div>
  1288.      </div>
  1289.    </div>
  1290.  
  1291.    
  1292.  </div>
  1293.  
  1294. <!-- Sidebar V2 Styles -->
  1295. <style>
  1296.  .sidebar-widget {
  1297.    position: relative;
  1298.  }
  1299.  
  1300.  .widget-title {
  1301.    font-size: 1.1rem;
  1302.    font-weight: 700;
  1303.    display: inline-block;
  1304.    position: relative;
  1305.    z-index: 2;
  1306.    border-radius: 0;
  1307.  }
  1308.  
  1309.  /* Green arrow for August Blog Roll */
  1310.  .title-arrow::after {
  1311.    content: '';
  1312.    position: absolute;
  1313.    top: 0;
  1314.    right: -22px;
  1315.    width: 0;
  1316.    height: 0;
  1317.    border-left: 22px solid var(--bs-primary);
  1318.    border-top: 22px solid transparent;
  1319.    border-bottom: 22px solid transparent;
  1320.    z-index: 1;
  1321.  }
  1322.  
  1323.  /* Blue arrow for Recent Posts */
  1324.  .title-arrow-primary::after {
  1325.    content: '';
  1326.    position: absolute;
  1327.    top: 0;
  1328.    right: -22px;
  1329.    width: 0;
  1330.    height: 0;
  1331.    border-left: 22px solid var(--bs-primary);
  1332.    border-top: 22px solid transparent;
  1333.    border-bottom: 22px solid transparent;
  1334.    z-index: 1;
  1335.  }
  1336.  
  1337.  .widget-content {
  1338.    margin-top: -1px;
  1339.    position: relative;
  1340.    z-index: 1;
  1341.     background-color: var(--card-bg);
  1342.  }
  1343.  
  1344.  /* Blog Roll Items Hover Effects */
  1345.  .blog-roll-item:hover .blog-title {
  1346.    color: #198754 !important;
  1347.    transform: translateX(5px);
  1348.    transition: all 0.3s ease;
  1349.  }
  1350.  
  1351.  /* Recent Post Items Hover Effects */
  1352.  .recent-post-item:hover .post-title a {
  1353.    color: #0d6efd !important;
  1354.    transition: color 0.3s ease;
  1355.  }
  1356.  
  1357.  .recent-post-item:hover .post-image img {
  1358.    transform: scale(1.05);
  1359.    transition: transform 0.3s ease;
  1360.  }
  1361.  
  1362.  /* Button Hover Effects */
  1363.  .btn:hover {
  1364.    transform: translateY(-2px);
  1365.    transition: all 0.3s ease;
  1366.    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  1367.  }
  1368.  
  1369.  /* Badge Hover Effects */
  1370.  .badge:hover {
  1371.    transform: scale(1.05);
  1372.    transition: transform 0.3s ease;
  1373.  }
  1374.  
  1375.  @media (max-width: 991px) {
  1376.    .sidebar {
  1377.      margin-top: 3rem;
  1378.    }
  1379.  }
  1380.  
  1381.  @media (max-width: 576px) {
  1382.    .widget-title {
  1383.      font-size: 1rem;
  1384.      padding: 0.75rem 1rem !important;
  1385.    }
  1386.  
  1387.    .title-arrow::after,
  1388.    .title-arrow-primary::after {
  1389.      right: -18px;
  1390.      border-left-width: 18px;
  1391.      border-top-width: 18px;
  1392.      border-bottom-width: 18px;
  1393.    }
  1394.  
  1395.    .post-image {
  1396.      width: 70px !important;
  1397.      height: 55px !important;
  1398.    }
  1399.  
  1400.    .blog-meta {
  1401.      flex-direction: column !important;
  1402.      align-items: flex-start !important;
  1403.      gap: 0.5rem;
  1404.    }
  1405.  }
  1406. </style>
  1407.  
  1408.    
  1409.            </div>
  1410.        </div>
  1411.    </div>
  1412. </section>
  1413.  
  1414. <script>
  1415. // Enhanced Intersection Observer with staggered animations
  1416. document.addEventListener('DOMContentLoaded', function() {
  1417.    const observerOptions = {
  1418.        threshold: 0.1,
  1419.        rootMargin: '0px 0px -100px 0px'
  1420.    };
  1421.  
  1422.    const observer = new IntersectionObserver(function(entries) {
  1423.        entries.forEach(entry => {
  1424.            if (entry.isIntersecting) {
  1425.                setTimeout(() => {
  1426.                    entry.target.classList.add('revealed');
  1427.                }, 100);
  1428.            }
  1429.        });
  1430.    }, observerOptions);
  1431.  
  1432.    // Observe all scroll-reveal elements
  1433.    document.querySelectorAll('.scroll-reveal').forEach(el => {
  1434.        observer.observe(el);
  1435.    });
  1436.  
  1437.    // Add parallax effect to floating dots
  1438.    document.addEventListener('mousemove', function(e) {
  1439.        const cards = document.querySelectorAll('.blog-card-v3');
  1440.        cards.forEach(card => {
  1441.            const rect = card.getBoundingClientRect();
  1442.            const x = (e.clientX - rect.left) / rect.width;
  1443.            const y = (e.clientY - rect.top) / rect.height;
  1444.            
  1445.            const dots = card.querySelectorAll('.floating-dot');
  1446.            dots.forEach((dot, index) => {
  1447.                const moveX = (x - 0.5) * (10 + index * 5);
  1448.                const moveY = (y - 0.5) * (10 + index * 5);
  1449.                dot.style.transform = `translate(${moveX}px, ${moveY}px)`;
  1450.            });
  1451.        });
  1452.    });
  1453. });
  1454. </script>
  1455.  
  1456.    
  1457.        
  1458.        <!-- end wpo-blog-highlights-section -->
  1459.        <!-- start wpo-blog-sponsored-section -->
  1460.        
  1461.  
  1462.  
  1463.  
  1464.    
  1465.  
  1466.  
  1467.    
  1468.        <!-- end wpo-blog-sponsored-section -->
  1469.        <!-- start wpo-subscribe-section -->
  1470.        
  1471.        <!-- end subscribe-section -->
  1472.        <!-- start of wpo-site-footer-section -->
  1473.        
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480. <!-- Footer V5 - Clean Minimalist Bootstrap Design -->
  1481. <footer class="footer-v5 bg-primary-gradient border-top">
  1482.    
  1483.    <!-- Main Footer Content -->
  1484.    <div class="container-fluid py-5">
  1485.        
  1486.        <!-- Top Section with Logo and Description -->
  1487.        <div class="row mb-5">
  1488.            <div class="col-12 text-center">
  1489.                <div class="footer-brand mb-4">
  1490.                    
  1491.                        <img src="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/site_logos/e7318954-549f-48ff-ad1a-907e94fdb2ae_logo.png" alt="889993241 Insights" class="footer-logo mb-3" height="60">
  1492.                    
  1493.                    <h4 class="fw-bold footer-color mb-2">889993241 Insights</h4>
  1494.                    <p class="footer-color opacity-50">Explore the latest in technology, digital trends, and innovative insights. Stay updated with expert analysis and practical tips for the modern world.</p>
  1495.                </div>
  1496.            </div>
  1497.        </div>
  1498.  
  1499.        <!-- Content Grid -->
  1500.        <div class="d-flex justify-content-between flex-wrap gap-2 px-3">
  1501.            
  1502.            <!-- Quick Links Column -->
  1503.            <div class="">
  1504.                <div class="footer-section">
  1505.                    <h6 class="fw-bold footer-color mb-3 d-flex align-items-center">
  1506.                        Quick Links
  1507.                    </h6>
  1508.                    <ul class="list-unstyled footer-links">
  1509.                        
  1510.                        <li class="">No featured posts available</li>
  1511.                        
  1512.                    </ul>
  1513.                </div>
  1514.            </div>
  1515.  
  1516.            <!-- Resources Column -->
  1517.            <div class="">
  1518.                <div class="footer-section">
  1519.                    <h6 class="fw-bold footer-color mb-3 d-flex align-items-center">
  1520.                        Resources
  1521.                    </h6>
  1522.                   <ul class="footer-links" id="footerLinks">
  1523.        
  1524.        
  1525.  
  1526.        
  1527.        
  1528.        
  1529.        
  1530.    </ul>
  1531.                </div>
  1532.            </div>
  1533.  
  1534.            <!-- Categories Column -->
  1535.            <div class="">
  1536.                <div class="footer-section">
  1537.                    <h6 class="fw-bold footer-color mb-3 d-flex align-items-center">
  1538.                        Categories
  1539.                    </h6>
  1540.                    <div class="category-tags">
  1541.                      
  1542.                                <li>
  1543.                                    <a href="/category/all-posts/" class="footer-link footer-color">
  1544.                                        All Posts
  1545.                                    </a>
  1546.                                </li>
  1547.                                
  1548.                                <li>
  1549.                                    <a href="/category/business/" class="footer-link footer-color">
  1550.                                        Business
  1551.                                    </a>
  1552.                                </li>
  1553.                                
  1554.                                <li>
  1555.                                    <a href="/category/esports/" class="footer-link footer-color">
  1556.                                        Esports
  1557.                                    </a>
  1558.                                </li>
  1559.                                
  1560.                                <li>
  1561.                                    <a href="/category/fashion/" class="footer-link footer-color">
  1562.                                        Fashion
  1563.                                    </a>
  1564.                                </li>
  1565.                                
  1566.                                <li>
  1567.                                    <a href="/category/featured/" class="footer-link footer-color">
  1568.                                        Featured
  1569.                                    </a>
  1570.                                </li>
  1571.                                
  1572.                                <li>
  1573.                                    <a href="/category/gaming/" class="footer-link footer-color">
  1574.                                        Gaming
  1575.                                    </a>
  1576.                                </li>
  1577.                                
  1578.                    </div>
  1579.                </div>
  1580.            </div>
  1581.  
  1582.        </div>
  1583.  
  1584.    </div>
  1585.  
  1586.    <!-- Footer Bottom -->
  1587.    <div class="footer-bottom  border-top py-3">
  1588.        <div class="container-fluid fluid-container">
  1589.            <div class=" d-flex justify-content-between flex-wrap">
  1590.                <div class="">
  1591.                    <p class="mb-0 footer-color  ">
  1592.                        © 2026 <span class="fw-semibold footer-color">889993241 Insights</span>. All rights reserved.
  1593.                    </p>
  1594.                </div>
  1595.                <div class="">
  1596.                    <div class="footer-nav">
  1597.                        <a href="/page/write-for-us/" class="text-decoration-none   me-3">
  1598.                            <i class="bi bi-file-text me-1"></i>Write For Us
  1599.                        </a>
  1600.                        <a href="/page/terms-and-conditions/" class="text-decoration-none   me-3">
  1601.                            <i class="bi bi-file-text me-1"></i>Terms
  1602.                        </a>
  1603.                        <a href="/sitemap.xml" class="text-decoration-none  ">
  1604.                            <i class="bi bi-diagram-3 me-1"></i>Sitemap
  1605.                        </a>
  1606.                    </div>
  1607.                </div>
  1608.            </div>
  1609.        </div>
  1610.    </div>
  1611.  
  1612. </footer>
  1613.  
  1614. <style>
  1615. /* Footer V5 - Clean Minimalist Bootstrap Design */
  1616.  
  1617.  
  1618.  
  1619.  
  1620. .footer-logo {
  1621.    border-radius: 8px;
  1622. }
  1623.  
  1624. /* Footer Sections */
  1625. .footer-section {
  1626.    padding: 0 15px;
  1627. }
  1628.  
  1629. .footer-section h6 {
  1630.    position: relative;
  1631.    padding-bottom: 8px;
  1632. }
  1633.  
  1634. .footer-section h6::after {
  1635.    content: '';
  1636.    position: absolute;
  1637.    bottom: 0;
  1638.    left: 0;
  1639.    width: 30px;
  1640.    height: 2px;
  1641.    background: linear-gradient(45deg, var(--bs-primary), var(--footer-color));
  1642.    border-radius: 1px;
  1643. }
  1644.  
  1645. /* Links Styling */
  1646. .footer-links a {
  1647.    transition: all 0.3s ease;
  1648.    padding: 4px 0;
  1649.    border-radius: 4px;
  1650. }
  1651.  
  1652. .footer-links a:hover {
  1653.    color: var(--bs-primary) !important;
  1654.    padding-left: 8px;
  1655. }
  1656.  
  1657. .footer-links a:hover i {
  1658.    transform: translateX(2px);
  1659. }
  1660.  
  1661. /* Category Tags */
  1662. .category-tag {
  1663.    transition: all 0.3s ease;
  1664.    padding: 6px 12px !important;
  1665.    font-size: 0.875rem;
  1666. }
  1667.  
  1668.  
  1669.  
  1670. /* Footer Bottom */
  1671. .footer-bottom {
  1672.    backdrop-filter: blur(10px);
  1673. }
  1674.  
  1675. /* Responsive Design */
  1676. @media (max-width: 768px) {
  1677.    .footer-v5 {
  1678.        margin-top: 60px;
  1679.    }
  1680.    
  1681.    .footer-section {
  1682.        text-align:start;
  1683.        margin-bottom: 40px;
  1684.    }
  1685.    
  1686.    .footer-links a,
  1687.    .category-tags {
  1688.        justify-content:start;
  1689.    }
  1690.    
  1691.    .social-links .d-flex {
  1692.        justify-content:start;
  1693.    }
  1694. }
  1695.  
  1696. @media (max-width: 576px) {
  1697.    .footer-brand h4 {
  1698.        font-size: 1.25rem;
  1699.    }
  1700.    
  1701.    .stats-item h5 {
  1702.        font-size: 1.1rem;
  1703.    }
  1704.    
  1705.    .newsletter-form .btn {
  1706.        padding: 8px 12px;
  1707.    }
  1708. }
  1709.  
  1710. /* Animation Classes */
  1711. .fade-in {
  1712.    animation: fadeIn 0.6s ease-in;
  1713. }
  1714.  
  1715. @keyframes fadeIn {
  1716.    from { opacity: 0; transform: translateY(20px); }
  1717.    to { opacity: 1; transform: translateY(0); }
  1718. }
  1719.  
  1720. /* Loading State */
  1721. .loading {
  1722.    pointer-events: none;
  1723.    opacity: 0.7;
  1724. }
  1725.  
  1726. .loading .btn {
  1727.    position: relative;
  1728. }
  1729.  
  1730. .loading .btn::after {
  1731.    content: '';
  1732.    position: absolute;
  1733.    top: 50%;
  1734.    left: 50%;
  1735.    width: 16px;
  1736.    height: 16px;
  1737.    margin: -8px 0 0 -8px;
  1738.    border: 2px solid transparent;
  1739.    border-top-color: currentColor;
  1740.    border-radius: 50%;
  1741.    animation: spin 1s linear infinite;
  1742. }
  1743.  
  1744. @keyframes spin {
  1745.    to { transform: rotate(360deg); }
  1746. }
  1747.  
  1748. /* Utility Classes */
  1749. .text-gradient {
  1750.    background: linear-gradient(45deg, var(--bs-primary), var(--bs-success));
  1751.    -webkit-background-clip: text;
  1752.    -webkit-text-fill-color: transparent;
  1753.    background-clip: text;
  1754. }
  1755.  
  1756. .hover-lift {
  1757.    transition: transform 0.3s ease;
  1758. }
  1759.  
  1760. .hover-lift:hover {
  1761.    transform: translateY(-2px);
  1762. }
  1763. </style>
  1764.  
  1765.  
  1766. <script>
  1767. document.addEventListener('DOMContentLoaded', function() {
  1768.    
  1769.    // Initialize Bootstrap tooltips
  1770.    const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
  1771.    tooltipTriggerList.map(function (tooltipTriggerEl) {
  1772.        return new bootstrap.Tooltip(tooltipTriggerEl);
  1773.    });
  1774.  
  1775.    // Newsletter form handling
  1776.    const newsletterForm = document.querySelector('.newsletter-form');
  1777.    if (newsletterForm) {
  1778.        newsletterForm.addEventListener('submit', function(e) {
  1779.            e.preventDefault();
  1780.            
  1781.            const email = this.querySelector('input[name="email"]').value.trim();
  1782.            const submitBtn = this.querySelector('button[type="submit"]');
  1783.            const originalContent = submitBtn.innerHTML;
  1784.            
  1785.            // Validate email
  1786.            if (!email || !isValidEmail(email)) {
  1787.                showToast('Please enter a valid email address', 'error');
  1788.                return;
  1789.            }
  1790.            
  1791.            // Show loading state
  1792.            this.classList.add('loading');
  1793.            submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm me-1"></span>Subscribing...';
  1794.            submitBtn.disabled = true;
  1795.            
  1796.            // Simulate API call
  1797.            setTimeout(() => {
  1798.                // Success state
  1799.                submitBtn.innerHTML = '<i class="bi bi-check-lg me-1"></i>Subscribed!';
  1800.                submitBtn.classList.remove('btn-primary');
  1801.                submitBtn.classList.add('btn-success');
  1802.                
  1803.                showToast('Successfully subscribed to newsletter!', 'success');
  1804.                
  1805.                // Reset form
  1806.                setTimeout(() => {
  1807.                    this.classList.remove('loading');
  1808.                    submitBtn.innerHTML = originalContent;
  1809.                    submitBtn.classList.remove('btn-success');
  1810.                    submitBtn.classList.add('btn-primary');
  1811.                    submitBtn.disabled = false;
  1812.                    this.reset();
  1813.                }, 2000);
  1814.                
  1815.            }, 1500);
  1816.        });
  1817.    }
  1818.    
  1819.    // Email validation function
  1820.    function isValidEmail(email) {
  1821.        const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  1822.        return emailRegex.test(email);
  1823.    }
  1824.    
  1825.    // Toast notification function
  1826.    function showToast(message, type = 'info') {
  1827.        // Remove existing toasts
  1828.        const existingToasts = document.querySelectorAll('.custom-toast');
  1829.        existingToasts.forEach(toast => toast.remove());
  1830.        
  1831.        // Create toast
  1832.        const toast = document.createElement('div');
  1833.        toast.className = `custom-toast position-fixed top-0 end-0 m-3 alert alert-${type === 'error' ? 'danger' : type} alert-dismissible fade show`;
  1834.        toast.style.zIndex = '9999';
  1835.        toast.innerHTML = `
  1836.            <div class="d-flex align-items-center">
  1837.                <i class="bi bi-${type === 'success' ? 'check-circle-fill' : type === 'error' ? 'exclamation-triangle-fill' : 'info-circle-fill'} me-2"></i>
  1838.                <span>${message}</span>
  1839.                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
  1840.            </div>
  1841.        `;
  1842.        
  1843.        document.body.appendChild(toast);
  1844.        
  1845.        // Auto remove after 4 seconds
  1846.        setTimeout(() => {
  1847.            if (toast && toast.parentNode) {
  1848.                toast.remove();
  1849.            }
  1850.        }, 4000);
  1851.    }
  1852.    
  1853.    // Smooth scroll for internal links
  1854.    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  1855.        anchor.addEventListener('click', function(e) {
  1856.            e.preventDefault();
  1857.            const target = document.querySelector(this.getAttribute('href'));
  1858.            if (target) {
  1859.                target.scrollIntoView({
  1860.                    behavior: 'smooth',
  1861.                    block: 'start'
  1862.                });
  1863.            }
  1864.        });
  1865.    });
  1866.    
  1867.    // Add fade-in animation to footer sections on scroll
  1868.    const observerOptions = {
  1869.        threshold: 0.1,
  1870.        rootMargin: '0px 0px -50px 0px'
  1871.    };
  1872.    
  1873.    const sectionObserver = new IntersectionObserver((entries) => {
  1874.        entries.forEach(entry => {
  1875.            if (entry.isIntersecting) {
  1876.                entry.target.classList.add('fade-in');
  1877.            }
  1878.        });
  1879.    }, observerOptions);
  1880.    
  1881.    // Observe footer sections
  1882.    document.querySelectorAll('.footer-section, .stats-item').forEach(section => {
  1883.        sectionObserver.observe(section);
  1884.    });
  1885.    
  1886.    // Enhanced hover effects for category tags
  1887.    document.querySelectorAll('.category-tag').forEach(tag => {
  1888.        tag.addEventListener('mouseenter', function() {
  1889.            this.style.transform = 'translateY(-2px) scale(1.02)';
  1890.        });
  1891.        
  1892.        tag.addEventListener('mouseleave', function() {
  1893.            this.style.transform = 'translateY(0) scale(1)';
  1894.        });
  1895.    });
  1896.    
  1897.    // Prevent default for demo links
  1898.    document.querySelectorAll('a[href="#"]').forEach(link => {
  1899.        link.addEventListener('click', function(e) {
  1900.            e.preventDefault();
  1901.        });
  1902.    });
  1903.    
  1904.    // Add click ripple effect to buttons
  1905.    document.querySelectorAll('.btn').forEach(btn => {
  1906.        btn.addEventListener('click', function(e) {
  1907.            const ripple = document.createElement('span');
  1908.            const rect = this.getBoundingClientRect();
  1909.            const size = Math.max(rect.width, rect.height);
  1910.            const x = e.clientX - rect.left - size / 2;
  1911.            const y = e.clientY - rect.top - size / 2;
  1912.            
  1913.            ripple.style.cssText = `
  1914.                position: absolute;
  1915.                left: ${x}px;
  1916.                top: ${y}px;
  1917.                width: ${size}px;
  1918.                height: ${size}px;
  1919.                border-radius: 50%;
  1920.                background: rgba(255, 255, 255, 0.4);
  1921.                transform: scale(0);
  1922.                animation: ripple-effect 0.6s linear;
  1923.                pointer-events: none;
  1924.            `;
  1925.            
  1926.            this.style.position = 'relative';
  1927.            this.style.overflow = 'hidden';
  1928.            this.appendChild(ripple);
  1929.            
  1930.            setTimeout(() => ripple.remove(), 600);
  1931.        });
  1932.    });
  1933.    
  1934. });
  1935.  
  1936. // Add ripple animation CSS
  1937. const rippleCSS = document.createElement('style');
  1938. rippleCSS.textContent = `
  1939.    @keyframes ripple-effect {
  1940.        to {
  1941.            transform: scale(4);
  1942.            opacity: 0;
  1943.        }
  1944.    }
  1945. `;
  1946. document.head.appendChild(rippleCSS);
  1947.  
  1948. document.addEventListener('DOMContentLoaded', function () {
  1949.    var btn = document.getElementById('toggleFooterLinks');
  1950.    if (!btn) return; // No extra links, no button
  1951.  
  1952.    var extras = document.querySelectorAll('#footerLinks li.extra');
  1953.  
  1954.    btn.addEventListener('click', function () {
  1955.        var anyHidden = Array.prototype.some.call(extras, function (li) {
  1956.            return li.classList.contains('d-none');
  1957.        });
  1958.  
  1959.        extras.forEach(function (li) {
  1960.            if (anyHidden) {
  1961.                li.classList.remove('d-none');
  1962.                li.classList.add('show');
  1963.            } else {
  1964.                li.classList.add('d-none');
  1965.                li.classList.remove('show');
  1966.            }
  1967.        });
  1968.  
  1969.        btn.textContent = anyHidden ? 'View less' : 'View more';
  1970.        btn.setAttribute('aria-expanded', anyHidden ? 'true' : 'false');
  1971.    });
  1972. });
  1973.  
  1974. </script>
  1975.  
  1976.        <!-- end of wpo-site-footer-section -->
  1977.    </div>
  1978.    <!-- end of page-wrapper -->
  1979.  
  1980.    <!-- All JavaScript files
  1981.    ================================================== -->
  1982.    
  1983.  
  1984. <script src="/static/blogapp/assets/js/jquery.min.js"></script>
  1985. <script src="/static/blogapp/assets/js/bootstrap.bundle.min.js"></script>
  1986. <!-- Plugins for this template -->
  1987. <script src="/static/blogapp/assets/js/modernizr.custom.js"></script>
  1988. <script src="/static/blogapp/assets/js/jquery-plugin-collection.js"></script>
  1989. <!-- Custom script for this template -->
  1990. <script src="/static/blogapp/assets/js/script.js"></script>
  1991.  
  1992. <script>
  1993. (function () {
  1994. var fallbackImageSrc = "/static/blogapp/assets/images/breaking-news/img-1.jpg";
  1995. console.log("[ImageFallback] Initialized with fallback:", fallbackImageSrc);
  1996.  
  1997. function applyFallback(img) {
  1998. if (!img || img.dataset.fallbackApplied === "1") {
  1999. return;
  2000. }
  2001. var failedSrc = img.currentSrc || img.src || "";
  2002. img.dataset.fallbackApplied = "1";
  2003. img.onerror = null;
  2004. img.src = fallbackImageSrc;
  2005. console.warn("[ImageFallback] Replaced broken image:", {
  2006. failedSrc: failedSrc,
  2007. fallbackSrc: fallbackImageSrc,
  2008. alt: img.alt || "",
  2009. });
  2010. }
  2011.  
  2012. document.querySelectorAll("img").forEach(function (img) {
  2013. if (img.complete && img.naturalWidth === 0) {
  2014. console.warn("[ImageFallback] Found broken image at load, applying fallback.", {
  2015. failedSrc: img.currentSrc || img.src || "",
  2016. alt: img.alt || "",
  2017. });
  2018. applyFallback(img);
  2019. }
  2020. });
  2021.  
  2022. document.addEventListener(
  2023. "error",
  2024. function (event) {
  2025. var target = event.target;
  2026. if (target && target.tagName === "IMG") {
  2027. applyFallback(target);
  2028. }
  2029. },
  2030. true
  2031. );
  2032. })();
  2033. </script>
  2034.  
  2035. <!-- <script src="https://api-new.nextbacklinks.com/static/ads/ad-script.js"></script> -->
  2036.  
  2037.  
  2038.  
  2039. <script defer src="https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" data-cf-beacon='{"version":"2024.11.0","token":"109154663b4c431aa27470b3445b3d1b","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
  2040. </body>
  2041.  
  2042. </html>
  2043.  
  2044.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda