Right to Carry

Lawmakers Make Frivolous Attempt to Ban Glock Handguns in Illinois

Reading Time: 2:24 min

Anti-gunners in Illinois ramped up their attack on popular gunmaker Glock with a shocking bill that would ban these handguns entirely. It’s not enough that Chicago lawmakers sued the manufacturer…

View post

Nashville Woman Used Firearm to Protect Against Ex-Boyfriend When Protection Order Failed

Reading Time: 2:20 min

Restraining orders are often only as strong as the paper they are printed on. In many unfortunate situations, it is up to the victim to be their own protector and…

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

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

California Man Shoots Naked Suspect Who Allegedly Entered His Home Through a Window

Reading Time: 2:28 min

Very little is more disturbing than having an intruder break into your home, day or night. When that intruder turns out to be naked, it raises even more alarm bells…

View post

Bill Reintroduced to Protect Tenants’ Second Amendment Rights

Reading Time: 2:22 min

Gun rights advocates have long argued that these fundamental freedoms should not depend on where a law-abiding citizen lives. This is certainly true for the scores of Americans who reside…

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>