Rants

Thank the Super Hero Warriors of the pandemic

Reading Time: 2:25 min

https://www.mrcolionnoir.com/wp-content/uploads/2020/04/nurses-super-heroes.jpg They might save your life in the weeks to come.  They will be doing it at enormous risk to themselves and those they love.  Find a way to honor…

View post

Natalie Foster for NRA News: “Wrong Heroes”

Reading Time: 0:18 min

Natalie Foster exposes the media attention and celebrity status that has been assigned to our nation’s most evil villains.

View post

NFL Bans Daniel Defense Super Bowl Ad Response

Reading Time: 0:12 min

This type of selective censorship is really bordering on the line of social lunacy, where the idea of self protection is considered offensive, but I can watch Beyoncé (happily I…

View post

Matt Bors (A Non Anti-Gunners critique of Gun Nuts)

Reading Time: 0:26 min

You think I’m anti-gun. I’m not. I think of guns like I do cars. Go ahead and own one. Waste your money on something fancy! But the scenarios you are preparing…

View post

Why HKs are overpriced and Why They’re Not

Reading Time: 2:18 min

It’s safe to say, if I only bought guns for their reliability and ease of use (the way a lot of women choose their husbands) I would only buy Glocks.

View post

America’s Largest Gun Shop Dropped by Credit Card Company

Reading Time: 0:38 min

A subsidiary of Visa, a key Obama campaign donor, that specializes in credit card transactions has abruptly stopped servicing the nation’s largest gun store after four years because the store…

View post
<script>
  /*Source: https://github.com/Krzysztof-Antosik/Two-direction-Sticky-Sidebar*/
  
  // Verificar el ancho de pantalla al cargar y redimensionar
  function checkScreenWidth() {
    if (window.innerWidth <= 767) {
      // Si la pantalla es menor o igual a 676px, no ejecutar el código
      return;
    }

    const stickyElement = document.querySelector('.fb-sidebar__aside');
    const startPosition = stickyElement.getBoundingClientRect().top;

    let endScroll = window.innerHeight - stickyElement.offsetHeight - 500;
    let currPos = window.scrollY;
    let screenHeight = window.innerHeight;
    let stickyElementHeight = stickyElement.offsetHeight;
    let topGap = 40;
    let bottomGap = 40;

    setTimeout(() => {
      if (stickyElement.hasAttribute('data-top-gap')) {
        const dataTopGap = stickyElement.getAttribute('data-top-gap');
        topGap = dataTopGap === 'auto' ? startPosition : parseInt(dataTopGap);
      }

      if (stickyElement.hasAttribute('data-bottom-gap')) {
        bottomGap = parseInt(stickyElement.getAttribute('data-bottom-gap'));
      }
    }, 100);

    stickyElement.style.position = 'sticky';
    stickyElement.style.top = `${topGap}px`;
    stickyElement.style.height = 'fit-content';

    function positionStickySidebar() {
      endScroll = window.innerHeight - stickyElement.offsetHeight - bottomGap;
      const stickyElementTop = parseInt(stickyElement.style.top.replace('px', ''));

      if (stickyElementHeight + topGap + bottomGap > screenHeight) {
        if (window.scrollY < currPos) {
          if (stickyElementTop < topGap) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop >= topGap && stickyElementTop !== topGap) {
            stickyElement.style.top = `${topGap}px`;
          }
        } else {
          if (stickyElementTop > endScroll) {
            stickyElement.style.top = `${stickyElementTop + currPos - window.scrollY}px`;
          } else if (stickyElementTop < endScroll && stickyElementTop !== endScroll) {
            stickyElement.style.top = `${endScroll}px`;
          }
        }
      } else {
        stickyElement.style.top = `${topGap}px`;
      }
      currPos = window.scrollY;
    }

    function stickyElementToMe() {
      stickyElement.style.top = `${topGap}px`;
    }

    function updateSticky() {
      screenHeight = window.innerHeight;
      stickyElementHeight = stickyElement.offsetHeight;
      positionStickySidebar();
    }

    setTimeout(() => {
      window.addEventListener('resize', () => {
        currPos = window.scrollY;
        updateSticky();
      });

      document.addEventListener('scroll', updateSticky, {
        capture: true,
        passive: true
      });
    }, 1000);
  }

  // Verificar el ancho de pantalla al cargar y redimensionar
  window.addEventListener('load', checkScreenWidth);
  window.addEventListener('resize', checkScreenWidth);
</script>