Right to Carry

Wayne LaPierre Announces Resignation as NRA Chief

Reading Time: 3:3 min

In a surprise Friday announcement, longtime National Rifle Association (NRA) chief Wayne LaPierre announced his resignation effective at the end of January. In a press release to Fox News Digital,…

View post

California Sheriff, DA Vow to Disregard Concealed Carry Law

Reading Time: 1:42 min

As more anti-gun jurisdictions disregard the Constitution and attempt to disarm law-abiding Americans, it should not be a surprise when those charged with upholding the law resist. Such is the…

View post

Indiana Homeowner Takes Down Alleged Robber with the Attacker’s Own Gun

Reading Time: 3:8 min

An Indiana homeowner on Tuesday faced the frightening situation of being attacked when he pulled into his yard from the grocery store. The results were tragic, but not for the…

View post

Ohio Taco Bell Employee Fires Back at Alleged Armed Robber

Reading Time: 1:36 min

An alleged robber in Akron, Ohio, apparently mistook a fast food restaurant as a place to hold up for fast cash. On Monday night, however, the would-be thief found out…

View post

Houston Grand Jury Rejects Charging Taqueria Shooter

Reading Time: 3:13 min

A Texas grand jury decided not to charge a man captured on video nearly a year ago shooting and killing a robber who was holding up a Houston taqueria.  The…

View post

Alleged Intruder Shot by Prepared Wisconsin Homeowner

Reading Time: 1:45 min

Second verse, same as the first. No matter how many times good guys with guns stop bad guys from committing crimes, it happens yet again. This time the scene unfolded…

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>