Right to Carry

Woman Acts Like Gorilla After Being Pistol Whipped By Armed Robbers To Defend Herself

Reading Time: 2:45 min

This self-defense story left me conflicted like never before. One moment, I wanted to jump and scream, “Hell, YEAH!” but then came a crucial point that made me question everything.…

View post

No Charges for Mississippi Homeowners in Fatal Shooting of Two Alleged Robbers

Reading Time: 1:50 min

Despite the best efforts of gun rights opponents, the Second Amendment is alive and well. This is regularly proven as law-abiding citizens choose to stand their ground and defend themselves…

View post

Joint Resolution Against New ATF Rule Introduced in Senate

Reading Time: 3:25 min

A sharp rebuke of the federal government’s latest infringement on Second Amendment rights was introduced in the U.S. Senate Wednesday.  The measure was supported by 45 lawmakers opposed to the…

View post

Armed Suburbanite Holds High-Speed Chase Suspect for Police

Reading Time: 3:27 min

There is something profoundly disturbing about a criminal who will lead police on a high-speed chase past schools and through neighborhoods where an innocent bystander could be hurt or even…

View post

Even As Firearms Proliferate, Preventable Injury Deaths Are Third Lowest on Record

Reading Time: 1:48 min

Anti-gun forces will not trumpet the latest good news from the National Shooting Sports Foundation (NSSF), but it is worth celebrating. Incidences of preventable firearm-related deaths reached the third lowest…

View post

Washington Man Protects Family from Armed Elderly Attacker

Reading Time: 1:52 min

An elderly Washington man reportedly threatened a young family with a pistol and paid for his mistake with his life. He was confronted in the alleged and inexplicable act over…

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>