Right to Carry

House Leader Urges Significant Change to ATF Form 4473

Reading Time: 2:21 min

The Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) will be forced to change its Form 4473 if a prominent U.S. House leader gets his wish. Rep. Clay Higgins (R-LA)…

View post

Anti-Gunners Push for Background Checks for Gun Barrel Purchases in California

Reading Time: 2:26 min

California Lawmakers Push Yet Another Attack on Gun Rights No matter how embarrassingly obvious their tricks are to eradicate the Second Amendment, anti-gunners appear incapable of experiencing shame. That goes…

View post

Indiana Homeowner Defends Young Family from Alleged Violent Intruder

Reading Time: 2:28 min

Armed Father Protects Family from Late-Night Intruder Many believe there is currently a mental health crisis in the U.S., and indeed, there appears to be a surge in cases of…

View post

ATF Revoked 195 Gun Dealer Licenses in 2024 Before ‘Zero-Tolerance’ Revocation

Reading Time: 3:56 min

More evidence is now in the daylight of the true extent of the weaponization of the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) under the previous White House administration.…

View post

Suspected Carjacker Shot by Intended Victim in Atlanta Suburb

Reading Time: 2:28 min

A Georgia suspect discovered in the worst possible way Friday evening that Southern hospitality does not extend to violent criminals attempting to carjack an innocent victim.   DeKalb County Police…

View post

First Circuit Upholds Massachusetts Ban on Semi-Automatic Weapons

Reading Time: 2:26 min

Thursday was not a good day for Second Amendment advocates in Massachusetts. The First Circuit Court of Appeals unanimously upheld the denial of a preliminary injunction against the state’s sweeping…

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>