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://889993029.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_8_ciB31uU_irWgZIB.png">
  14.    
  15.  
  16.    <title>Explore Tech Insights and Digital Trends | 889993029 Blog</title>
  17.    <meta name="description" content="Discover the latest technology news, digital marketing tips, and software development insights. Stay updated with expert analysis and practical guides.">
  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://889993029.xyz/">
  36.    <!-- Dynamic CSS Override -->
  37.    
  38. <style>
  39.    :root {
  40.        /* Bootstrap 5 Color Overrides */
  41.        --bs-primary: #7e57c2;
  42.        --bs-primary-rgb: 7e57c2;
  43.        --bs-secondary: #6b7280;
  44.        --bs-success: #2dd4bf;
  45.        --bs-danger: #f43f5e;
  46.        --bs-warning: #f59e0b;
  47.        --bs-info: #60a5fa;
  48.        --bs-light: #f2e9ff;
  49.        --bs-dark: #2e1065;
  50.        
  51.        /* Your SCSS Variables Override */
  52.        --theme-primary-color: #7e57c2;
  53.        --theme-primary-color-s2: #7e57c2;
  54.        --body-bg-color: #ffffff;
  55.        --section-bg-color: #f9faff;
  56.        --text-color: #2e1065;
  57.        --text-light-color: #676767;
  58.        --heading-color: #2e1065;
  59.        --border-color: #d6bcfa;
  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: #e9d5ff;
  75.        --navbar-color: #2e1065;
  76.        --topbar-bg: #f2e9ff;
  77.        --topbar-color: #2e1065;
  78.        --footer-bg: #2e1065;
  79.        --footer-color: #ffffff;
  80.        --card-bg: #ffffff;
  81.        --card-border: #d6bcfa;
  82.        --card-radius: 14px;
  83.        --link-color: #7e57c2;
  84.        --link-hover: #6b46a3;
  85.        --blog-color: #ffffff;
  86.        --blog-bg: rgba(126, 87, 194, 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_94">
  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. <div class="top-bg">
  406. <div class="unique-topbar2 d-sm-flex d-none container-fluid fluid-container">
  407.    <span id="current-time"></span>
  408.    
  409.    <div class="unique-news-container2">
  410.        <div class="unique-news-wrapper2 top-color" id="newsWrapper">
  411.            <!-- News items will be dynamically added here -->
  412.        </div>
  413.    </div>
  414.  
  415.    <div class="contact-info">
  416.        <ul class="d-flex list-unstyled gap-3 pe-3 flex-wrap">
  417.            <li><a href="#"><i class="top-color ti-facebook"></i></a></li>
  418.            <li><a href="#"><i class="top-color ti-twitter-alt"></i></a></li>
  419.            <li><a href="#"><i class="top-color ti-instagram"></i></a></li>
  420.            <li><a href="#"><i class="top-color ti-google"></i></a></li>
  421.        </ul>
  422.    </div>
  423. </div>
  424. </div>
  425.  
  426. <script>
  427.  // ----------------- Clock -----------------
  428.  function updateCurrentTime() {
  429.    const currentDate = new Date();
  430.    const day = currentDate.getDate().toString().padStart(2, '0');
  431.    const monthNames = ["January","February","March","April","May","June","July","August","September","October","November","December"];
  432.    const month = monthNames[currentDate.getMonth()];
  433.    const year = currentDate.getFullYear();
  434.    const hours = currentDate.getHours().toString().padStart(2, '0');
  435.    const minutes = currentDate.getMinutes().toString().padStart(2, '0');
  436.    const seconds = currentDate.getSeconds().toString().padStart(2, '0');
  437.    document.getElementById('current-time').innerHTML =
  438.      `<span class="fw-bold text-black p-2">${hours}:${minutes}:${seconds}</span> <span>${month} ${day}, ${year}</span>`;
  439.  }
  440.  setInterval(updateCurrentTime, 1000);
  441.  updateCurrentTime();
  442.  
  443.  // ----------------- News from Django -----------------
  444.  const newsItems = [
  445.    
  446.      { title: "No news available", url: "#" }
  447.    
  448.  ];
  449.  
  450.  let currentNewsIndex = 0;
  451.  const newsWrapper = document.getElementById('newsWrapper');
  452.  let newsElements = [];
  453.  
  454.  function createNewsElements() {
  455.      newsItems.forEach((news, index) => {
  456.          const newsElement = document.createElement('div');
  457.          newsElement.className = 'unique-news-item2 top-color';
  458.          newsElement.innerHTML = `<a href="${news.url}" class="top-color">${news.title}</a>`;
  459.          newsWrapper.appendChild(newsElement);
  460.          newsElements.push(newsElement);
  461.      });
  462.      if (newsElements.length > 0) {
  463.          newsElements[0].classList.add('active');
  464.      }
  465.  }
  466.  
  467.  function changeNews() {
  468.      const currentElement = newsElements[currentNewsIndex];
  469.      const nextIndex = (currentNewsIndex + 1) % newsItems.length;
  470.      const nextElement = newsElements[nextIndex];
  471.  
  472.      currentElement.classList.remove('active');
  473.      currentElement.classList.add('exit-up');
  474.  
  475.      setTimeout(() => {
  476.          nextElement.classList.add('active');
  477.          currentNewsIndex = nextIndex;
  478.          setTimeout(() => {
  479.              currentElement.classList.remove('exit-up');
  480.          }, 100);
  481.      }, 250);
  482.  }
  483.  
  484.  function startNewsRotation() {
  485.      setInterval(changeNews, 5000);
  486.  }
  487.  
  488.  window.onload = function() {
  489.      createNewsElements();
  490.      startNewsRotation();
  491.  };
  492. </script>
  493.  
  494.  
  495.  
  496.            
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503. <nav class="navigation navbar navbar-expand-lg mb-4">
  504.  <div class="container-fluid fluid-container">
  505.    <div class=" gap-3 align-items-center pt-md-0 pt-3 justify-content-lg-start justify-content-between flex-wrap d-flex w-100">
  506.      <div class="navbar-header d-md-none mb-0 justify-content-center d-flex w-sm-full">
  507.          <a class="navbar-brand" href="/">
  508.              
  509.                  <img src="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/site_logos/f5de2eee-a874-46dc-81d6-39a17527c126_logo.png" alt="889993029 Blog" />
  510.              
  511.          </a>
  512.      </div>
  513.      <div class="">
  514.        <div class="style-card">
  515.          <div class="minimal-search mb-md-4 mb-0">
  516.            <input type="search" class="search-input mt-md-4 mt-0" placeholder="Search..." />
  517.            <svg class="search-icon" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
  518.              <circle cx="11" cy="11" r="8"></circle>
  519.              <path d="m21 21-4.35-4.35"></path>
  520.            </svg>
  521.          </div>
  522.          <!-- The search results will be displayed here -->
  523.          <div id="search-results" class="search-results-container search-v1"></div>
  524.        </div>
  525.      </div>
  526.      <div class=" d-flex flex-wrap">
  527.        <div class="navbar-header d-lg-none d-none d-md-flex">
  528.          <a class="navbar-brand" href='/'><img src="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/site_logos/f5de2eee-a874-46dc-81d6-39a17527c126_logo.png" alt="" /></a>
  529.        </div>
  530.        <div id="navbar" class="collapse navbar-collapse navigation-holder">
  531.          <button class="menu-close"><i class="ti-close"></i></button>
  532.  
  533.    <ul class="nav navbar-nav mb-2 mb-lg-0 align-items-center">
  534.    <li>
  535.      <a href="/">
  536.        Home
  537.      </a>
  538.    </li>
  539.  
  540.  
  541.    <li>
  542.      <a href="/category/all-posts/">
  543.        All Posts
  544.      </a>
  545.    </li>
  546.  
  547.    <li>
  548.      <a href="/category/business/">
  549.        Business
  550.      </a>
  551.    </li>
  552.  
  553.    <li>
  554.      <a href="/category/esports/">
  555.        Esports
  556.      </a>
  557.    </li>
  558.  
  559.  
  560.  
  561.  <div class="navbar-header d-lg-block d-none">
  562.    <a class="navbar-brand" href="/">
  563.      <img src="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/site_logos/f5de2eee-a874-46dc-81d6-39a17527c126_logo.png" alt="" />
  564.    </a>
  565.  </div>
  566.  
  567.  
  568.  
  569.    
  570.    
  571.    
  572.      <li>
  573.        <a href="/category/fashion/">
  574.          Fashion
  575.        </a>
  576.      </li>
  577.    
  578.      <li>
  579.        <a href="/category/featured/">
  580.          Featured
  581.        </a>
  582.      </li>
  583.    
  584.  
  585.    
  586.    
  587.      <li class="menu-item-has-children">
  588.        <a href="#">More</a>
  589.        <ul class="sub-menu">
  590.          
  591.            <li>
  592.              <a href="/category/gaming/">
  593.                Gaming
  594.              </a>
  595.            </li>
  596.          
  597.            <li>
  598.              <a href="/category/health/">
  599.                Health
  600.              </a>
  601.            </li>
  602.          
  603.            <li>
  604.              <a href="/category/life-fitness/">
  605.                Life &amp; Fitness
  606.              </a>
  607.            </li>
  608.          
  609.            <li>
  610.              <a href="/category/lifestyle/">
  611.                Lifestyle
  612.              </a>
  613.            </li>
  614.          
  615.            <li>
  616.              <a href="/category/news/">
  617.                News
  618.              </a>
  619.            </li>
  620.          
  621.            <li>
  622.              <a href="/category/others/">
  623.                Others
  624.              </a>
  625.            </li>
  626.          
  627.            <li>
  628.              <a href="/category/politics/">
  629.                Politics
  630.              </a>
  631.            </li>
  632.          
  633.            <li>
  634.              <a href="/category/sports/">
  635.                Sports
  636.              </a>
  637.            </li>
  638.          
  639.            <li>
  640.              <a href="/category/tech/">
  641.                Tech
  642.              </a>
  643.            </li>
  644.          
  645.            <li>
  646.              <a href="/category/travel/">
  647.                Travel
  648.              </a>
  649.            </li>
  650.          
  651.        </ul>
  652.      </li>
  653.    
  654.  
  655.  
  656. <li>
  657.                  <a href="/page/contact-us/">
  658.                     Contact Us
  659.                  </a>
  660.              </li>
  661. </ul>
  662.  
  663.        </div>
  664.        <div class="sidebar-blur"></div>
  665.        <!-- end of nav-collapse -->
  666.      </div>
  667.      <div class="me-3">
  668.        <div class="mobail-menu d-xl-none d-block">
  669.          <button type="button" class="navbar-toggler open-btn">
  670.            <span class="sr-only">Toggle navigation</span>
  671.            <span class="icon-bar first-angle"></span>
  672.            <span class="icon-bar middle-angle"></span>
  673.            <span class="icon-bar last-angle"></span>
  674.          </button>
  675.        </div>
  676.        <!-- <div class="header-right">
  677.          <div class="header-right-menu-wrapper d-xl-block d-none">
  678.            <div class="header-right-menu">
  679.              <div class="right-menu-toggle-btn">
  680.                <span></span>
  681.                <span></span>
  682.                <span></span>
  683.              </div>
  684.              <div class="header-right-menu-wrap" style="z-index: 999;">
  685.                <button class="right-menu-close"><i class="ti-close"></i></button>
  686.                <div class="logo">
  687.                  <img src="/static/blogapp/assets/images/logo2.png" alt="" />
  688.                </div>
  689.                <div class="header-right-sec">
  690.                  <div class="project-widget widget">
  691.                    <h3 class="text-white">Our Latest News</h3>
  692.                    <div class="posts">
  693.                      <div class="post">
  694.                        <div class="img-holder">
  695.                          <img src="/static/blogapp/assets/images/recent-posts/img-1.jpg" alt />
  696.                        </div>
  697.                        <div class="details">
  698.                          <span class="date">19 Jun 2022</span>
  699.                          <h4><a href="blog-single.html" class="text-white">Perfect Photo Clicking Idea You Must Know.</a></h4>
  700.                        </div>
  701.                      </div>
  702.                      <div class="post">
  703.                        <div class="img-holder">
  704.                          <img src="/static/blogapp/assets/images/recent-posts/img-2.jpg" alt />
  705.                        </div>
  706.                        <div class="details">
  707.                          <span class="date">22 May 2022</span>
  708.                          <h4><a href="blog-single.html" class="text-white">Best tourism site all over the world.</a></h4>
  709.                        </div>
  710.                      </div>
  711.                      <div class="post">
  712.                        <div class="img-holder">
  713.                          <img src="/static/blogapp/assets/images/recent-posts/img-3.jpg" alt />
  714.                        </div>
  715.                        <div class="details">
  716.                          <span class="date">12 Apr 2022</span>
  717.                          <h4><a href="blog-single.html" class="text-white">Whats In Trend in Now Woman Fashion.</a></h4>
  718.                        </div>
  719.                      </div>
  720.                    </div>
  721.                  </div>
  722.                  <div class="widget wpo-contact-widget">
  723.                    <div class="widget-title">
  724.                      <h3 class="text-white">Contact Us</h3>
  725.                    </div>
  726.                    <div class="contact-ft">
  727.                      <ul>
  728.                        <li>
  729.                          <i class="fi flaticon-location"></i>68D, Belsion Town 2365 <br /> Fna city, LH 3656, USA
  730.                        </li>
  731.                        <li>
  732.                          <i class="fi flaticon-telephone"></i>+ 8 (123) 123 456 789 <br />
  733.                          + 8 (123) 123 456 789
  734.                        </li>
  735.                        <li>
  736.                          <i class="fi flaticon-email"></i>Bloggar@gmail.com
  737.                        </li>
  738.                      </ul>
  739.                    </div>
  740.                  </div>
  741.                </div>
  742.              </div>
  743.              <div class="sidebar-blur"></div>
  744.            </div>
  745.          </div>
  746.        </div> -->
  747.      </div>
  748.    </div>
  749.  </div>
  750.  <!-- end of container -->
  751. </nav>
  752. <style>
  753.  .navbar-brand img{
  754.    height: 70px;
  755.    object-fit: contain;
  756.  }
  757.    /* search field */
  758.  .search-results-container {
  759.  position: absolute;
  760.  top: 100%; /* Position it below the input field */
  761. left: 10px;
  762.  right: 10px;
  763.  background-color: white;
  764.  border: 1px solid #ddd;
  765.  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
  766.  max-height: 300px;
  767.  overflow-y: auto;
  768.  z-index: 1000;
  769.  display: none; /* Initially hidden */
  770. }
  771.  
  772. .search-results-container p {
  773.  margin: 0;
  774. }
  775.  
  776. .search-results-container .result-item {
  777.  padding: 10px;
  778.  cursor: pointer;
  779. }
  780.  
  781. .search-results-container .result-item:hover {
  782.  background-color: #f0f0f0;
  783. }
  784. @media (max-width:576px) {
  785.  .w-sm-full{
  786.    padding-top: 10px;
  787.    width: 100%;
  788.  }
  789.  .m-s-0{
  790.    margin-top: 0px !important;
  791.  }
  792. }
  793. @media (max-width:768px) {
  794. .search-icon{
  795. top: 50%;
  796. }
  797. }
  798.  
  799.  
  800. </style>
  801. <script>
  802.  const searchInput = document.querySelector(".search-input");
  803.  const searchResults = document.getElementById("search-results");
  804.  
  805.  // Handle typing
  806.  searchInput.addEventListener("keyup", function (e) {
  807.    e.preventDefault();
  808.  
  809.    const query = searchInput.value;
  810.  
  811.    if (query === "") {
  812.      searchResults.innerHTML = "";
  813.      searchResults.style.display = "none";
  814.      return;
  815.    }
  816.  
  817.    searchResults.style.display = "block";
  818.  
  819.    fetch("/search-posts?version=v1&q=" + encodeURIComponent(query), {
  820.      method: "GET",
  821.      headers: {
  822.        "X-Requested-With": "XMLHttpRequest",
  823.      },
  824.    })
  825.      .then(response => response.json())
  826.      .then(data => {
  827.        if (data.html) {
  828.          searchResults.innerHTML = data.html;
  829.        } else {
  830.          searchResults.innerHTML = "<p>No results found.</p>";
  831.        }
  832.      })
  833.      .catch(error => {
  834.        console.error("Error fetching search results:", error);
  835.      });
  836.  });
  837.  
  838.  // Close results when clicking outside
  839.  document.addEventListener("click", function (e) {
  840.    if (!searchInput.contains(e.target) && !searchResults.contains(e.target)) {
  841.      searchResults.style.display = "none";
  842.    }
  843.  });
  844. </script>
  845.  
  846.  
  847.        </header>
  848.        <!-- end of header -->
  849.        <!-- start of wpo-blog-hero -->
  850.        
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.        <!-- end of wpo-blog-hero -->
  861.  
  862.        <!-- start of wpo-breacking-news -->
  863.        
  864.        <!-- end of wpo-breacking-news -->
  865.        
  866.        <!-- start wpo-blog-highlights-section -->
  867.        
  868.  
  869.  
  870.  
  871.    
  872.  
  873.  
  874.  
  875.  
  876. <style>
  877.    .blog-highlights-v3 {
  878.        padding: 80px 0;
  879.        position: relative;
  880.        overflow: hidden;
  881.    }
  882.    
  883.    .blog-highlights-v3::before {
  884.        content: '';
  885.        position: absolute;
  886.        top: 0;
  887.        left: 0;
  888.        width: 100%;
  889.        height: 100%;
  890.        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");
  891.        z-index: 0;
  892.    }
  893.    
  894.    .masonry-container {
  895.        display: grid;
  896.        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  897.        grid-gap: 25px;
  898.    }
  899.    
  900.    .blog-card-v3 {
  901.        border: 1px solid var(--border-color) !important;
  902.        border-radius: 25px;
  903.        overflow: hidden;
  904.        background: var(--card-bg);
  905.        backdrop-filter: blur(10px);
  906.        border: 1px solid var(--border-color);
  907.        position: relative;
  908.        transition: all 0.5s cubic-bezier(0.23, 1, 0.320, 1);
  909.        cursor: pointer;
  910.        transform: translateY(0) rotateX(0) rotateY(0);
  911.        transform-style: preserve-3d;
  912.        perspective: 1000px;
  913.        z-index: 1;
  914.    }
  915.    .span-21 { grid-row-end: span 21; }
  916.    .span-22 { grid-row-end: span 22; }
  917.    
  918.    .blog-card-v3::before {
  919.        content: '';
  920.        position: absolute;
  921.        top: 0;
  922.        left: 0;
  923.        width: 100%;
  924.        height: 100%;
  925.        background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(0,0,0,0.02) 100%);
  926.        opacity: 0;
  927.        transition: opacity 0.3s ease;
  928.        z-index: 1;
  929.    }
  930.    
  931.    .blog-card-v3:hover {
  932.        transform: translateY(-20px) rotateX(5deg) rotateY(5deg) scale(1.03);
  933.        box-shadow:
  934.            0 30px 60px rgba(0,0,0,0.15),
  935.            0 15px 30px rgba(0,0,0,0.1),
  936.            inset 0 1px 0 rgba(255,255,255,0.3);
  937.        z-index: 10;
  938.    }
  939.    
  940.    .blog-card-v3:hover::before {
  941.        opacity: 1;
  942.    }
  943.    
  944.    .blog-image-v3 {
  945.        position: relative;
  946.        overflow: hidden;
  947.        height: 50%;
  948.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  949.    }
  950.    
  951.    .blog-image-v3::after {
  952.        content: '';
  953.        position: absolute;
  954.        top: 0;
  955.        left: 0;
  956.        width: 100%;
  957.        height: 100%;
  958.        background:
  959.            radial-gradient(circle at top right, rgba(255,255,255,0.3) 0%, transparent 50%),
  960.            linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.4) 100%);
  961.        z-index: 2;
  962.    }
  963.    
  964.    .blog-image-v3 img {
  965.        width: 100%;
  966.        height: 100%;
  967.        object-fit: cover;
  968.        transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  969.        transform: scale(1);
  970.        filter: brightness(1) saturate(1);
  971.    }
  972.    
  973.    .blog-card-v3:hover .blog-image-v3 img {
  974.        transform: scale(1.15);
  975.        filter: brightness(1.1) saturate(1.2);
  976.    }
  977.    
  978.    .blog-floating-elements {
  979.        position: absolute;
  980.        top: 0;
  981.        left: 0;
  982.        width: 100%;
  983.        height: 100%;
  984.        pointer-events: none;
  985.        z-index: 3;
  986.    }
  987.    
  988.    .floating-dot {
  989.        position: absolute;
  990.        width: 8px;
  991.        height: 8px;
  992.        background: rgba(255,255,255,0.6);
  993.        border-radius: 50%;
  994.        animation: float 3s ease-in-out infinite;
  995.    }
  996.    
  997.    .floating-dot:nth-child(1) { top: 20%; left: 15%; animation-delay: 0s; }
  998.    .floating-dot:nth-child(2) { top: 60%; right: 20%; animation-delay: 0.5s; }
  999.    .floating-dot:nth-child(3) { bottom: 30%; left: 25%; animation-delay: .5s; }
  1000.    
  1001.    @keyframes float {
  1002.        0%, 100% { transform: translateY(0px); }
  1003.        50% { transform: translateY(-10px); }
  1004.    }
  1005.    
  1006.    .blog-category-v3 {
  1007.        position: absolute;
  1008.        top: 25px;
  1009.        right: 25px;
  1010.        padding: 10px 18px;
  1011.        border-radius: 30px;
  1012.        font-size: 11px;
  1013.        font-weight: 800;
  1014.        text-transform: uppercase;
  1015.        letter-spacing: 1.2px;
  1016.        backdrop-filter: blur(10px);
  1017.        z-index: 4;
  1018.        transform: translateY(0) scale(1);
  1019.        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  1020.        box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  1021.        border: 1px solid rgba(255,255,255,0.3);
  1022.    }
  1023.    
  1024.    .blog-card-v3:hover .blog-category-v3 {
  1025.        transform: translateY(-10px) scale(1.1);
  1026.        background: rgba(var(--card-bg),1);
  1027.        box-shadow: 0 12px 30px rgba(0,0,0,0.15);
  1028.    }
  1029.    
  1030.    .blog-content-v3 {
  1031.        padding: 35px 30px 30px;
  1032.        height: 50%;
  1033.        display: flex;
  1034.        flex-direction: column;
  1035.        justify-content: space-between;
  1036.        position: relative;
  1037.        z-index: 2;
  1038.    }
  1039.    
  1040.    .blog-title-v3 {
  1041.        font-size: 19px;
  1042.        font-weight: 700;
  1043.        line-height: 1.3;
  1044.        margin-bottom: 18px;
  1045.        position: relative;
  1046.    }
  1047.    
  1048.    .blog-title-v3 a {
  1049.        text-decoration: none;
  1050.        color: var(--top-color) !important;
  1051.        transition: all 0.3s ease;
  1052.        position: relative;
  1053.        display: inline-block;
  1054.    }
  1055.    
  1056.    .blog-title-v3 a::before {
  1057.        content: '';
  1058.        position: absolute;
  1059.        bottom: -3px;
  1060.        left: 0;
  1061.        width: 0;
  1062.        height: 3px;
  1063.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1064.        border-radius: 2px;
  1065.        transition: width 0.5s cubic-bezier(0.23, 1, 0.320, 1);
  1066.    }
  1067.    
  1068.    .blog-card-v3:hover .blog-title-v3 a::before {
  1069.        width: 100%;
  1070.    }
  1071.    
  1072.    .blog-meta-v3 {
  1073.        display: flex;
  1074.        align-items: center;
  1075.        gap: 15px;
  1076.        margin-bottom: 18px;
  1077.        font-size: 13px;
  1078.        color: #7f8c8d;
  1079.        padding-bottom: 18px;
  1080.        border-bottom: 1px solid rgba(127, 140, 141, 0.1);
  1081.        position: relative;
  1082.    }
  1083.    
  1084.    .blog-meta-v3::after {
  1085.        content: '';
  1086.        position: absolute;
  1087.        bottom: -1px;
  1088.        left: 0;
  1089.        width: 0;
  1090.        height: 1px;
  1091.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1092.        transition: width 0.6s ease 0.3s;
  1093.    }
  1094.    
  1095.    .blog-card-v3:hover .blog-meta-v3::after {
  1096.        width: 80px;
  1097.    }
  1098.    
  1099.    .blog-author-img-v3 {
  1100.        width: 35px;
  1101.        height: 35px;
  1102.        border-radius: 50%;
  1103.        object-fit: cover;
  1104.        border: 3px solid rgba(255,255,255,0.8);
  1105.        transition: all 0.4s ease;
  1106.        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  1107.    }
  1108.    
  1109.    .blog-card-v3:hover .blog-author-img-v3 {
  1110.        transform: scale(1.15);
  1111.        border-color: rgba(102, 126, 234, 0.5);
  1112.        box-shadow: 0 8px 25px rgba(102, 126, 234, 0.2);
  1113.    }
  1114.    
  1115.    .blog-excerpt-v3 {
  1116.        font-size: 14px;
  1117.        line-height: 1.7;
  1118.        color: #5a6c7d;
  1119.        margin-bottom: 20px;
  1120.        display: -webkit-box;
  1121.        -webkit-line-clamp: 3;
  1122.        -webkit-box-orient: vertical;
  1123.        overflow: hidden;
  1124.        opacity: 0.9;
  1125.        transition: opacity 0.3s ease;
  1126.    }
  1127.    
  1128.    .blog-card-v3:hover .blog-excerpt-v3 {
  1129.        opacity: 1;
  1130.    }
  1131.    
  1132.    .blog-actions-v3 {
  1133.        display: flex;
  1134.        justify-content: space-between;
  1135.        align-items: center;
  1136.    }
  1137.    
  1138.    .blog-read-time-v3 {
  1139.        font-size: 12px;
  1140.        color: #95a5a6;
  1141.        display: flex;
  1142.        align-items: center;
  1143.        gap: 6px;
  1144.    }
  1145.    
  1146.    .blog-read-more-v3 {
  1147.        width: 50px;
  1148.        height: 50px;
  1149.        border-radius: 50%;
  1150.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1151.        display: flex;
  1152.        align-items: center;
  1153.        justify-content: center;
  1154.        color: white;
  1155.        text-decoration: none;
  1156.        transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  1157.        transform: scale(0) rotate(0deg);
  1158.        opacity: 0;
  1159.        box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);
  1160.        position: relative;
  1161.        overflow: hidden;
  1162.    }
  1163.    
  1164.    .blog-read-more-v3::before {
  1165.        content: '';
  1166.        position: absolute;
  1167.        top: 50%;
  1168.        left: 50%;
  1169.        width: 0;
  1170.        height: 0;
  1171.        background: rgba(255,255,255,0.2);
  1172.        border-radius: 50%;
  1173.        transition: all 0.6s ease;
  1174.        transform: translate(-50%, -50%);
  1175.    }
  1176.    
  1177.    .blog-card-v3:hover .blog-read-more-v3 {
  1178.        transform: scale(1) rotate(360deg);
  1179.        opacity: 1;
  1180.    }
  1181.    
  1182.    .blog-read-more-v3:hover::before {
  1183.        width: 100%;
  1184.        height: 100%;
  1185.    }
  1186.    
  1187.    .section-header-v3 {
  1188.        text-align: center;
  1189.        margin-bottom: 80px;
  1190.        position: relative;
  1191.        z-index: 2;
  1192.    }
  1193.    
  1194.    .section-title-v3 {
  1195.        font-size: 3.5rem;
  1196.        font-weight: 900;
  1197.        margin-bottom: 25px;
  1198.        color: #2c3e50;
  1199.        position: relative;
  1200.        display: inline-block;
  1201.    }
  1202.    
  1203.    .section-title-v3::before {
  1204.        content: '';
  1205.        position: absolute;
  1206.        top: -15px;
  1207.        right: -15px;
  1208.        width: 30px;
  1209.        height: 30px;
  1210.        background: linear-gradient(135deg, var(--bs-primary), var(--bs-dark));
  1211.        border-radius: 50%;
  1212.        opacity: 0.3;
  1213.        animation: pulse 2s infinite;
  1214.    }
  1215.    
  1216.    @keyframes pulse {
  1217.        0%, 100% { transform: scale(1); opacity: 0.3; }
  1218.        50% { transform: scale(1.2); opacity: 0.6; }
  1219.    }
  1220.    
  1221.    .section-subtitle-v3 {
  1222.        font-size: 1.2rem;
  1223.        color: #7f8c8d;
  1224.        max-width: 700px;
  1225.        margin: 0 auto;
  1226.        line-height: 1.7;
  1227.        font-weight: 300;
  1228.    }
  1229.    
  1230.    .scroll-reveal {
  1231.        opacity: 0;
  1232.        transform: translateY(50px) scale(0.9);
  1233.        transition: all 0.8s cubic-bezier(0.23, 1, 0.320, 1);
  1234.    }
  1235.    
  1236.    .scroll-reveal.revealed {
  1237.        opacity: 1;
  1238.        transform: translateY(0) scale(1);
  1239.    }
  1240.    
  1241.    .scroll-reveal:nth-child(1) { transition-delay: 0.1s; }
  1242.    .scroll-reveal:nth-child(2) { transition-delay: 0.1s; }
  1243.    .scroll-reveal:nth-child(3) { transition-delay: 0.1s; }
  1244.    .scroll-reveal:nth-child(4) { transition-delay: 0.1s; }
  1245.    .scroll-reveal:nth-child(5) { transition-delay: 0.1s; }
  1246.    .scroll-reveal:nth-child(6) { transition-delay: 0.1s; }
  1247.  
  1248.    @media (max-width: 768px) {
  1249.        .masonry-container {
  1250.            display: flex;
  1251.            flex-direction: column;
  1252.            grid-gap: 20px;
  1253.        }
  1254.        .blog-card-v3:nth-child(n) {
  1255.            grid-row-end: span 20;
  1256.        }
  1257.        .section-title-v3 {
  1258.            font-size: 2.8rem;
  1259.        }
  1260.        .blog-highlights-v3 {
  1261.            padding: 60px 0;
  1262.        }
  1263.        .blog-content-v3 {
  1264.            padding: 25px 20px;
  1265.        }
  1266.        .blog-card-v3:hover {
  1267.            transform: translateY(-15px) scale(1.02);
  1268.        }
  1269.        .blog-image-v3{
  1270.            max-height: 350px;
  1271.            height: 100%;
  1272.        }
  1273.    }
  1274. </style>
  1275.  
  1276. <section class="blog-highlights-v3">
  1277.    <div class="container-fluid fluid-container">
  1278.        <div class="row">
  1279.            <div class="col-12">
  1280.                 <div class="wpo-section-title">
  1281.            <h2>
  1282.                Today's Top Highlights
  1283.                   </h2>
  1284.        </div>
  1285.            </div>
  1286.        </div>
  1287.        
  1288.        <div class="row">
  1289.            <div class="col-lg-8 col-12">
  1290.                <div class="masonry-container">
  1291.                    
  1292.                    
  1293.  
  1294.                </div>
  1295.            </div>
  1296.            
  1297.               <div class="col col-lg-4 col-12">
  1298.                
  1299.  
  1300.  
  1301.  
  1302.    
  1303.  
  1304.  
  1305. <!-- Blog Sidebar V2 - Focused Design -->
  1306.  <div class="sidebar mb-3">
  1307.    <!-- Recent Posts Section -->
  1308.    <div class="sidebar-widget mb-4">
  1309.      <div class="widget-title-wrapper mb-3">
  1310.        <h4 class="widget-title bg-primary text-white  px-4 py-3 mb-0 position-relative">
  1311.          <i class="ti-time me-2"></i>Recent Posts
  1312.          <span class="title-arrow-primary"></span>
  1313.        </h4>
  1314.      </div>
  1315.      <div class="widget-content border border-light shadow-sm rounded-3 p-4">
  1316.        <div class="recent-post-list">
  1317.          
  1318.  
  1319.        </div>
  1320.  
  1321.        <div class="text-center mt-4 pt-3 border-top border-light">
  1322.          <a href="#" class="btn btn-primary btn-sm px-4"><i class="ti-plus me-1"></i>Load More Posts</a>
  1323.        </div>
  1324.      </div>
  1325.    </div>
  1326.  
  1327.    
  1328.  </div>
  1329.  
  1330. <!-- Sidebar V2 Styles -->
  1331. <style>
  1332.  .sidebar-widget {
  1333.    position: relative;
  1334.  }
  1335.  
  1336.  .widget-title {
  1337.    font-size: 1.1rem;
  1338.    font-weight: 700;
  1339.    display: inline-block;
  1340.    position: relative;
  1341.    z-index: 2;
  1342.    border-radius: 0;
  1343.  }
  1344.  
  1345.  /* Green arrow for August Blog Roll */
  1346.  .title-arrow::after {
  1347.    content: '';
  1348.    position: absolute;
  1349.    top: 0;
  1350.    right: -22px;
  1351.    width: 0;
  1352.    height: 0;
  1353.    border-left: 22px solid var(--bs-primary);
  1354.    border-top: 22px solid transparent;
  1355.    border-bottom: 22px solid transparent;
  1356.    z-index: 1;
  1357.  }
  1358.  
  1359.  /* Blue arrow for Recent Posts */
  1360.  .title-arrow-primary::after {
  1361.    content: '';
  1362.    position: absolute;
  1363.    top: 0;
  1364.    right: -22px;
  1365.    width: 0;
  1366.    height: 0;
  1367.    border-left: 22px solid var(--bs-primary);
  1368.    border-top: 22px solid transparent;
  1369.    border-bottom: 22px solid transparent;
  1370.    z-index: 1;
  1371.  }
  1372.  
  1373.  .widget-content {
  1374.    margin-top: -1px;
  1375.    position: relative;
  1376.    z-index: 1;
  1377.     background-color: var(--card-bg);
  1378.  }
  1379.  
  1380.  /* Blog Roll Items Hover Effects */
  1381.  .blog-roll-item:hover .blog-title {
  1382.    color: #198754 !important;
  1383.    transform: translateX(5px);
  1384.    transition: all 0.3s ease;
  1385.  }
  1386.  
  1387.  /* Recent Post Items Hover Effects */
  1388.  .recent-post-item:hover .post-title a {
  1389.    color: #0d6efd !important;
  1390.    transition: color 0.3s ease;
  1391.  }
  1392.  
  1393.  .recent-post-item:hover .post-image img {
  1394.    transform: scale(1.05);
  1395.    transition: transform 0.3s ease;
  1396.  }
  1397.  
  1398.  /* Button Hover Effects */
  1399.  .btn:hover {
  1400.    transform: translateY(-2px);
  1401.    transition: all 0.3s ease;
  1402.    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  1403.  }
  1404.  
  1405.  /* Badge Hover Effects */
  1406.  .badge:hover {
  1407.    transform: scale(1.05);
  1408.    transition: transform 0.3s ease;
  1409.  }
  1410.  
  1411.  @media (max-width: 991px) {
  1412.    .sidebar {
  1413.      margin-top: 3rem;
  1414.    }
  1415.  }
  1416.  
  1417.  @media (max-width: 576px) {
  1418.    .widget-title {
  1419.      font-size: 1rem;
  1420.      padding: 0.75rem 1rem !important;
  1421.    }
  1422.  
  1423.    .title-arrow::after,
  1424.    .title-arrow-primary::after {
  1425.      right: -18px;
  1426.      border-left-width: 18px;
  1427.      border-top-width: 18px;
  1428.      border-bottom-width: 18px;
  1429.    }
  1430.  
  1431.    .post-image {
  1432.      width: 70px !important;
  1433.      height: 55px !important;
  1434.    }
  1435.  
  1436.    .blog-meta {
  1437.      flex-direction: column !important;
  1438.      align-items: flex-start !important;
  1439.      gap: 0.5rem;
  1440.    }
  1441.  }
  1442. </style>
  1443.  
  1444.    
  1445.            </div>
  1446.        </div>
  1447.    </div>
  1448. </section>
  1449.  
  1450. <script>
  1451. // Enhanced Intersection Observer with staggered animations
  1452. document.addEventListener('DOMContentLoaded', function() {
  1453.    const observerOptions = {
  1454.        threshold: 0.1,
  1455.        rootMargin: '0px 0px -100px 0px'
  1456.    };
  1457.  
  1458.    const observer = new IntersectionObserver(function(entries) {
  1459.        entries.forEach(entry => {
  1460.            if (entry.isIntersecting) {
  1461.                setTimeout(() => {
  1462.                    entry.target.classList.add('revealed');
  1463.                }, 100);
  1464.            }
  1465.        });
  1466.    }, observerOptions);
  1467.  
  1468.    // Observe all scroll-reveal elements
  1469.    document.querySelectorAll('.scroll-reveal').forEach(el => {
  1470.        observer.observe(el);
  1471.    });
  1472.  
  1473.    // Add parallax effect to floating dots
  1474.    document.addEventListener('mousemove', function(e) {
  1475.        const cards = document.querySelectorAll('.blog-card-v3');
  1476.        cards.forEach(card => {
  1477.            const rect = card.getBoundingClientRect();
  1478.            const x = (e.clientX - rect.left) / rect.width;
  1479.            const y = (e.clientY - rect.top) / rect.height;
  1480.            
  1481.            const dots = card.querySelectorAll('.floating-dot');
  1482.            dots.forEach((dot, index) => {
  1483.                const moveX = (x - 0.5) * (10 + index * 5);
  1484.                const moveY = (y - 0.5) * (10 + index * 5);
  1485.                dot.style.transform = `translate(${moveX}px, ${moveY}px)`;
  1486.            });
  1487.        });
  1488.    });
  1489. });
  1490. </script>
  1491.  
  1492.    
  1493.        
  1494.        <!-- end wpo-blog-highlights-section -->
  1495.        <!-- start wpo-blog-sponsored-section -->
  1496.        
  1497.  
  1498.  
  1499.  
  1500.    
  1501.  
  1502.  
  1503.  
  1504.    
  1505.        <!-- end wpo-blog-sponsored-section -->
  1506.        <!-- start wpo-subscribe-section -->
  1507.        
  1508.        <!-- end subscribe-section -->
  1509.        <!-- start of wpo-site-footer-section -->
  1510.        
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517. <!-- Footer V5 - Clean Minimalist Bootstrap Design -->
  1518. <footer class="footer-v5 bg-primary-gradient border-top">
  1519.    
  1520.    <!-- Main Footer Content -->
  1521.    <div class="container-fluid py-5">
  1522.        
  1523.        <!-- Top Section with Logo and Description -->
  1524.        <div class="row mb-5">
  1525.            <div class="col-12 text-center">
  1526.                <div class="footer-brand mb-4">
  1527.                    
  1528.                        <img src="https://usc1.contabostorage.com/83226f3934d449eb8c821d388b39f7b1:nextbacklinks/site_logos/f5de2eee-a874-46dc-81d6-39a17527c126_logo.png" alt="889993029 Blog" class="footer-logo mb-3" height="60">
  1529.                    
  1530.                    <h4 class="fw-bold footer-color mb-2">889993029 Blog</h4>
  1531.                    <p class="footer-color opacity-50">Discover the latest technology news, digital marketing tips, and software development insights. Stay updated with expert analysis and practical guides.</p>
  1532.                </div>
  1533.            </div>
  1534.        </div>
  1535.  
  1536.        <!-- Content Grid -->
  1537.        <div class="d-flex justify-content-between flex-wrap gap-2 px-3">
  1538.            
  1539.            <!-- Quick Links Column -->
  1540.            <div class="">
  1541.                <div class="footer-section">
  1542.                    <h6 class="fw-bold footer-color mb-3 d-flex align-items-center">
  1543.                        Quick Links
  1544.                    </h6>
  1545.                    <ul class="list-unstyled footer-links">
  1546.                        
  1547.                        <li class="">No featured posts available</li>
  1548.                        
  1549.                    </ul>
  1550.                </div>
  1551.            </div>
  1552.  
  1553.            <!-- Resources Column -->
  1554.            <div class="">
  1555.                <div class="footer-section">
  1556.                    <h6 class="fw-bold footer-color mb-3 d-flex align-items-center">
  1557.                        Resources
  1558.                    </h6>
  1559.                   <ul class="footer-links" id="footerLinks">
  1560.        
  1561.        
  1562.  
  1563.        
  1564.        
  1565.        
  1566.        
  1567.    </ul>
  1568.                </div>
  1569.            </div>
  1570.  
  1571.            <!-- Categories Column -->
  1572.            <div class="">
  1573.                <div class="footer-section">
  1574.                    <h6 class="fw-bold footer-color mb-3 d-flex align-items-center">
  1575.                        Categories
  1576.                    </h6>
  1577.                    <div class="category-tags">
  1578.                      
  1579.                                <li>
  1580.                                    <a href="/category/all-posts/" class="footer-link footer-color">
  1581.                                        All Posts
  1582.                                    </a>
  1583.                                </li>
  1584.                                
  1585.                                <li>
  1586.                                    <a href="/category/business/" class="footer-link footer-color">
  1587.                                        Business
  1588.                                    </a>
  1589.                                </li>
  1590.                                
  1591.                                <li>
  1592.                                    <a href="/category/esports/" class="footer-link footer-color">
  1593.                                        Esports
  1594.                                    </a>
  1595.                                </li>
  1596.                                
  1597.                                <li>
  1598.                                    <a href="/category/fashion/" class="footer-link footer-color">
  1599.                                        Fashion
  1600.                                    </a>
  1601.                                </li>
  1602.                                
  1603.                                <li>
  1604.                                    <a href="/category/featured/" class="footer-link footer-color">
  1605.                                        Featured
  1606.                                    </a>
  1607.                                </li>
  1608.                                
  1609.                                <li>
  1610.                                    <a href="/category/gaming/" class="footer-link footer-color">
  1611.                                        Gaming
  1612.                                    </a>
  1613.                                </li>
  1614.                                
  1615.                    </div>
  1616.                </div>
  1617.            </div>
  1618.  
  1619.        </div>
  1620.  
  1621.    </div>
  1622.  
  1623.    <!-- Footer Bottom -->
  1624.    <div class="footer-bottom  border-top py-3">
  1625.        <div class="container-fluid fluid-container">
  1626.            <div class=" d-flex justify-content-between flex-wrap">
  1627.                <div class="">
  1628.                    <p class="mb-0 footer-color  ">
  1629.                        © 2026 <span class="fw-semibold footer-color">889993029 Blog</span>. All rights reserved.
  1630.                    </p>
  1631.                </div>
  1632.                <div class="">
  1633.                    <div class="footer-nav">
  1634.                        <a href="/page/write-for-us/" class="text-decoration-none   me-3">
  1635.                            <i class="bi bi-file-text me-1"></i>Write For Us
  1636.                        </a>
  1637.                        <a href="/page/terms-and-conditions/" class="text-decoration-none   me-3">
  1638.                            <i class="bi bi-file-text me-1"></i>Terms
  1639.                        </a>
  1640.                        <a href="/sitemap.xml" class="text-decoration-none  ">
  1641.                            <i class="bi bi-diagram-3 me-1"></i>Sitemap
  1642.                        </a>
  1643.                    </div>
  1644.                </div>
  1645.            </div>
  1646.        </div>
  1647.    </div>
  1648.  
  1649. </footer>
  1650.  
  1651. <style>
  1652. /* Footer V5 - Clean Minimalist Bootstrap Design */
  1653.  
  1654.  
  1655.  
  1656.  
  1657. .footer-logo {
  1658.    border-radius: 8px;
  1659. }
  1660.  
  1661. /* Footer Sections */
  1662. .footer-section {
  1663.    padding: 0 15px;
  1664. }
  1665.  
  1666. .footer-section h6 {
  1667.    position: relative;
  1668.    padding-bottom: 8px;
  1669. }
  1670.  
  1671. .footer-section h6::after {
  1672.    content: '';
  1673.    position: absolute;
  1674.    bottom: 0;
  1675.    left: 0;
  1676.    width: 30px;
  1677.    height: 2px;
  1678.    background: linear-gradient(45deg, var(--bs-primary), var(--footer-color));
  1679.    border-radius: 1px;
  1680. }
  1681.  
  1682. /* Links Styling */
  1683. .footer-links a {
  1684.    transition: all 0.3s ease;
  1685.    padding: 4px 0;
  1686.    border-radius: 4px;
  1687. }
  1688.  
  1689. .footer-links a:hover {
  1690.    color: var(--bs-primary) !important;
  1691.    padding-left: 8px;
  1692. }
  1693.  
  1694. .footer-links a:hover i {
  1695.    transform: translateX(2px);
  1696. }
  1697.  
  1698. /* Category Tags */
  1699. .category-tag {
  1700.    transition: all 0.3s ease;
  1701.    padding: 6px 12px !important;
  1702.    font-size: 0.875rem;
  1703. }
  1704.  
  1705.  
  1706.  
  1707. /* Footer Bottom */
  1708. .footer-bottom {
  1709.    backdrop-filter: blur(10px);
  1710. }
  1711.  
  1712. /* Responsive Design */
  1713. @media (max-width: 768px) {
  1714.    .footer-v5 {
  1715.        margin-top: 60px;
  1716.    }
  1717.    
  1718.    .footer-section {
  1719.        text-align:start;
  1720.        margin-bottom: 40px;
  1721.    }
  1722.    
  1723.    .footer-links a,
  1724.    .category-tags {
  1725.        justify-content:start;
  1726.    }
  1727.    
  1728.    .social-links .d-flex {
  1729.        justify-content:start;
  1730.    }
  1731. }
  1732.  
  1733. @media (max-width: 576px) {
  1734.    .footer-brand h4 {
  1735.        font-size: 1.25rem;
  1736.    }
  1737.    
  1738.    .stats-item h5 {
  1739.        font-size: 1.1rem;
  1740.    }
  1741.    
  1742.    .newsletter-form .btn {
  1743.        padding: 8px 12px;
  1744.    }
  1745. }
  1746.  
  1747. /* Animation Classes */
  1748. .fade-in {
  1749.    animation: fadeIn 0.6s ease-in;
  1750. }
  1751.  
  1752. @keyframes fadeIn {
  1753.    from { opacity: 0; transform: translateY(20px); }
  1754.    to { opacity: 1; transform: translateY(0); }
  1755. }
  1756.  
  1757. /* Loading State */
  1758. .loading {
  1759.    pointer-events: none;
  1760.    opacity: 0.7;
  1761. }
  1762.  
  1763. .loading .btn {
  1764.    position: relative;
  1765. }
  1766.  
  1767. .loading .btn::after {
  1768.    content: '';
  1769.    position: absolute;
  1770.    top: 50%;
  1771.    left: 50%;
  1772.    width: 16px;
  1773.    height: 16px;
  1774.    margin: -8px 0 0 -8px;
  1775.    border: 2px solid transparent;
  1776.    border-top-color: currentColor;
  1777.    border-radius: 50%;
  1778.    animation: spin 1s linear infinite;
  1779. }
  1780.  
  1781. @keyframes spin {
  1782.    to { transform: rotate(360deg); }
  1783. }
  1784.  
  1785. /* Utility Classes */
  1786. .text-gradient {
  1787.    background: linear-gradient(45deg, var(--bs-primary), var(--bs-success));
  1788.    -webkit-background-clip: text;
  1789.    -webkit-text-fill-color: transparent;
  1790.    background-clip: text;
  1791. }
  1792.  
  1793. .hover-lift {
  1794.    transition: transform 0.3s ease;
  1795. }
  1796.  
  1797. .hover-lift:hover {
  1798.    transform: translateY(-2px);
  1799. }
  1800. </style>
  1801.  
  1802.  
  1803. <script>
  1804. document.addEventListener('DOMContentLoaded', function() {
  1805.    
  1806.    // Initialize Bootstrap tooltips
  1807.    const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
  1808.    tooltipTriggerList.map(function (tooltipTriggerEl) {
  1809.        return new bootstrap.Tooltip(tooltipTriggerEl);
  1810.    });
  1811.  
  1812.    // Newsletter form handling
  1813.    const newsletterForm = document.querySelector('.newsletter-form');
  1814.    if (newsletterForm) {
  1815.        newsletterForm.addEventListener('submit', function(e) {
  1816.            e.preventDefault();
  1817.            
  1818.            const email = this.querySelector('input[name="email"]').value.trim();
  1819.            const submitBtn = this.querySelector('button[type="submit"]');
  1820.            const originalContent = submitBtn.innerHTML;
  1821.            
  1822.            // Validate email
  1823.            if (!email || !isValidEmail(email)) {
  1824.                showToast('Please enter a valid email address', 'error');
  1825.                return;
  1826.            }
  1827.            
  1828.            // Show loading state
  1829.            this.classList.add('loading');
  1830.            submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm me-1"></span>Subscribing...';
  1831.            submitBtn.disabled = true;
  1832.            
  1833.            // Simulate API call
  1834.            setTimeout(() => {
  1835.                // Success state
  1836.                submitBtn.innerHTML = '<i class="bi bi-check-lg me-1"></i>Subscribed!';
  1837.                submitBtn.classList.remove('btn-primary');
  1838.                submitBtn.classList.add('btn-success');
  1839.                
  1840.                showToast('Successfully subscribed to newsletter!', 'success');
  1841.                
  1842.                // Reset form
  1843.                setTimeout(() => {
  1844.                    this.classList.remove('loading');
  1845.                    submitBtn.innerHTML = originalContent;
  1846.                    submitBtn.classList.remove('btn-success');
  1847.                    submitBtn.classList.add('btn-primary');
  1848.                    submitBtn.disabled = false;
  1849.                    this.reset();
  1850.                }, 2000);
  1851.                
  1852.            }, 1500);
  1853.        });
  1854.    }
  1855.    
  1856.    // Email validation function
  1857.    function isValidEmail(email) {
  1858.        const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
  1859.        return emailRegex.test(email);
  1860.    }
  1861.    
  1862.    // Toast notification function
  1863.    function showToast(message, type = 'info') {
  1864.        // Remove existing toasts
  1865.        const existingToasts = document.querySelectorAll('.custom-toast');
  1866.        existingToasts.forEach(toast => toast.remove());
  1867.        
  1868.        // Create toast
  1869.        const toast = document.createElement('div');
  1870.        toast.className = `custom-toast position-fixed top-0 end-0 m-3 alert alert-${type === 'error' ? 'danger' : type} alert-dismissible fade show`;
  1871.        toast.style.zIndex = '9999';
  1872.        toast.innerHTML = `
  1873.            <div class="d-flex align-items-center">
  1874.                <i class="bi bi-${type === 'success' ? 'check-circle-fill' : type === 'error' ? 'exclamation-triangle-fill' : 'info-circle-fill'} me-2"></i>
  1875.                <span>${message}</span>
  1876.                <button type="button" class="btn-close" data-bs-dismiss="alert"></button>
  1877.            </div>
  1878.        `;
  1879.        
  1880.        document.body.appendChild(toast);
  1881.        
  1882.        // Auto remove after 4 seconds
  1883.        setTimeout(() => {
  1884.            if (toast && toast.parentNode) {
  1885.                toast.remove();
  1886.            }
  1887.        }, 4000);
  1888.    }
  1889.    
  1890.    // Smooth scroll for internal links
  1891.    document.querySelectorAll('a[href^="#"]').forEach(anchor => {
  1892.        anchor.addEventListener('click', function(e) {
  1893.            e.preventDefault();
  1894.            const target = document.querySelector(this.getAttribute('href'));
  1895.            if (target) {
  1896.                target.scrollIntoView({
  1897.                    behavior: 'smooth',
  1898.                    block: 'start'
  1899.                });
  1900.            }
  1901.        });
  1902.    });
  1903.    
  1904.    // Add fade-in animation to footer sections on scroll
  1905.    const observerOptions = {
  1906.        threshold: 0.1,
  1907.        rootMargin: '0px 0px -50px 0px'
  1908.    };
  1909.    
  1910.    const sectionObserver = new IntersectionObserver((entries) => {
  1911.        entries.forEach(entry => {
  1912.            if (entry.isIntersecting) {
  1913.                entry.target.classList.add('fade-in');
  1914.            }
  1915.        });
  1916.    }, observerOptions);
  1917.    
  1918.    // Observe footer sections
  1919.    document.querySelectorAll('.footer-section, .stats-item').forEach(section => {
  1920.        sectionObserver.observe(section);
  1921.    });
  1922.    
  1923.    // Enhanced hover effects for category tags
  1924.    document.querySelectorAll('.category-tag').forEach(tag => {
  1925.        tag.addEventListener('mouseenter', function() {
  1926.            this.style.transform = 'translateY(-2px) scale(1.02)';
  1927.        });
  1928.        
  1929.        tag.addEventListener('mouseleave', function() {
  1930.            this.style.transform = 'translateY(0) scale(1)';
  1931.        });
  1932.    });
  1933.    
  1934.    // Prevent default for demo links
  1935.    document.querySelectorAll('a[href="#"]').forEach(link => {
  1936.        link.addEventListener('click', function(e) {
  1937.            e.preventDefault();
  1938.        });
  1939.    });
  1940.    
  1941.    // Add click ripple effect to buttons
  1942.    document.querySelectorAll('.btn').forEach(btn => {
  1943.        btn.addEventListener('click', function(e) {
  1944.            const ripple = document.createElement('span');
  1945.            const rect = this.getBoundingClientRect();
  1946.            const size = Math.max(rect.width, rect.height);
  1947.            const x = e.clientX - rect.left - size / 2;
  1948.            const y = e.clientY - rect.top - size / 2;
  1949.            
  1950.            ripple.style.cssText = `
  1951.                position: absolute;
  1952.                left: ${x}px;
  1953.                top: ${y}px;
  1954.                width: ${size}px;
  1955.                height: ${size}px;
  1956.                border-radius: 50%;
  1957.                background: rgba(255, 255, 255, 0.4);
  1958.                transform: scale(0);
  1959.                animation: ripple-effect 0.6s linear;
  1960.                pointer-events: none;
  1961.            `;
  1962.            
  1963.            this.style.position = 'relative';
  1964.            this.style.overflow = 'hidden';
  1965.            this.appendChild(ripple);
  1966.            
  1967.            setTimeout(() => ripple.remove(), 600);
  1968.        });
  1969.    });
  1970.    
  1971. });
  1972.  
  1973. // Add ripple animation CSS
  1974. const rippleCSS = document.createElement('style');
  1975. rippleCSS.textContent = `
  1976.    @keyframes ripple-effect {
  1977.        to {
  1978.            transform: scale(4);
  1979.            opacity: 0;
  1980.        }
  1981.    }
  1982. `;
  1983. document.head.appendChild(rippleCSS);
  1984.  
  1985. document.addEventListener('DOMContentLoaded', function () {
  1986.    var btn = document.getElementById('toggleFooterLinks');
  1987.    if (!btn) return; // No extra links, no button
  1988.  
  1989.    var extras = document.querySelectorAll('#footerLinks li.extra');
  1990.  
  1991.    btn.addEventListener('click', function () {
  1992.        var anyHidden = Array.prototype.some.call(extras, function (li) {
  1993.            return li.classList.contains('d-none');
  1994.        });
  1995.  
  1996.        extras.forEach(function (li) {
  1997.            if (anyHidden) {
  1998.                li.classList.remove('d-none');
  1999.                li.classList.add('show');
  2000.            } else {
  2001.                li.classList.add('d-none');
  2002.                li.classList.remove('show');
  2003.            }
  2004.        });
  2005.  
  2006.        btn.textContent = anyHidden ? 'View less' : 'View more';
  2007.        btn.setAttribute('aria-expanded', anyHidden ? 'true' : 'false');
  2008.    });
  2009. });
  2010.  
  2011. </script>
  2012.  
  2013.        <!-- end of wpo-site-footer-section -->
  2014.    </div>
  2015.    <!-- end of page-wrapper -->
  2016.  
  2017.    <!-- All JavaScript files
  2018.    ================================================== -->
  2019.    
  2020.  
  2021. <script src="/static/blogapp/assets/js/jquery.min.js"></script>
  2022. <script src="/static/blogapp/assets/js/bootstrap.bundle.min.js"></script>
  2023. <!-- Plugins for this template -->
  2024. <script src="/static/blogapp/assets/js/modernizr.custom.js"></script>
  2025. <script src="/static/blogapp/assets/js/jquery-plugin-collection.js"></script>
  2026. <!-- Custom script for this template -->
  2027. <script src="/static/blogapp/assets/js/script.js"></script>
  2028.  
  2029. <script>
  2030. (function () {
  2031. var fallbackImageSrc = "/static/blogapp/assets/images/breaking-news/img-1.jpg";
  2032. console.log("[ImageFallback] Initialized with fallback:", fallbackImageSrc);
  2033.  
  2034. function applyFallback(img) {
  2035. if (!img || img.dataset.fallbackApplied === "1") {
  2036. return;
  2037. }
  2038. var failedSrc = img.currentSrc || img.src || "";
  2039. img.dataset.fallbackApplied = "1";
  2040. img.onerror = null;
  2041. img.src = fallbackImageSrc;
  2042. console.warn("[ImageFallback] Replaced broken image:", {
  2043. failedSrc: failedSrc,
  2044. fallbackSrc: fallbackImageSrc,
  2045. alt: img.alt || "",
  2046. });
  2047. }
  2048.  
  2049. document.querySelectorAll("img").forEach(function (img) {
  2050. if (img.complete && img.naturalWidth === 0) {
  2051. console.warn("[ImageFallback] Found broken image at load, applying fallback.", {
  2052. failedSrc: img.currentSrc || img.src || "",
  2053. alt: img.alt || "",
  2054. });
  2055. applyFallback(img);
  2056. }
  2057. });
  2058.  
  2059. document.addEventListener(
  2060. "error",
  2061. function (event) {
  2062. var target = event.target;
  2063. if (target && target.tagName === "IMG") {
  2064. applyFallback(target);
  2065. }
  2066. },
  2067. true
  2068. );
  2069. })();
  2070. </script>
  2071.  
  2072. <!-- <script src="https://api-new.nextbacklinks.com/static/ads/ad-script.js"></script> -->
  2073.  
  2074.  
  2075.  
  2076. <script defer src="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon='{"version":"2024.11.0","token":"2507257a39ff455c8888b02706a4be4f","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
  2077. </body>
  2078.  
  2079. </html>
  2080.  
  2081.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda