Right to Carry

Radical Senator Proposes New $4,709 NFA Tax on Guns and Accessories

Reading Time: 1:54 min

The anti-gun circus tent popped up on Capitol Hill again on Tuesday when one of the most tiresome voices in Congress introduced perhaps 2025’s most tone-deaf measure so far. Sen.…

View post

Magazine Publishes Anti-CCW Hit Piece After Armed Michigan Man Stops Violent Attack

Reading Time: 1:55 min

Rolling Stone should stick to writing about music. The magazine released a report on Monday, which also appeared in anti-gun publication The Trace, that claimed concealed carry causes rampant fear…

View post

Hochul Calls for National Semiautomatic Weapon Ban After NYC Shooting

Reading Time: 1:53 min

Anti-gunners live by the mantra that they should never allow a tragedy to go to waste. After a clearly disturbed individual opened fire at a Manhattan high-rise Monday evening, one…

View post

Supreme Court to Discuss Marijuana Users’ Gun Rights in September

Reading Time: 1:51 min

The U.S. Supreme Court has a unique opportunity later this year to have a defining moment on the issue of Second Amendment rights and marijuana users. Laws for centuries prohibited…

View post

Armed Shopper/Marine Veteran Helps Subdue Knife-Wielding Walmart Attacker

Reading Time: 3:44 min

Admirers are heaping praise on an armed Marine veteran who stepped up Saturday night in Michigan and stopped a crazed attacker who was randomly stabbing Walmart customers. Derrick Perry is…

View post

New York, California Reps Introduce Modern Firearm Safety Act

Reading Time: 1:53 min

Anti-gunners love to cloak their schemes in such terminology as “common sense” and “public safety.” The truth, however, is that their agenda is largely about government control and stripping the…

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>