Right to Carry

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

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

Florida Senate Blockades Effort to Restore Gun Rights to Young Adults

Reading Time: 2:27 min

Despite strong support from Florida Gov. Ron DeSantis (R) and fellow Second Amendment advocates, the push to return the state’s minimum age to purchase rifles and other long guns to…

View post

Missouri Lawmakers Propose Bill Modeled on Second Amendment Preservation Act

Reading Time: 2:33 min

If at first you don’t succeed, try, try again. Of course, a few changes in the process that did not work might be in order, and that’s the thinking of…

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>