Right to Carry

Second Amendment Cited in Striking Down of California’s Billy Club Ban

Reading Time: 1:37 min

The right to keep and bear arms extends to the old-fashioned billy club, according to a ruling by a California court. District Judge Roger Benitez decided the case brought by…

View post

Historic St. Louis Masonic Lodge Break-In Results in Intruder Being Shot

Reading Time: 1:28 min

A confrontation with an alleged intruder early Wednesday morning at a historic St. Louis site resulted in the suspect being fatally shot. The scene was the city’s iconic Masonic lodge,…

View post

North Dakota Wins Vital Case to Exert State Control Over Local Gun Restrictions

Reading Time: 2:59 min

North Dakota gun owners may breathe easier after a judge on Tuesday tossed out a lawsuit challenging the state’s valiant protection of Second Amendment rights. State lawmakers passed a ban…

View post

Tennessee Moves to Protect Gun Owners’ Rights From Credit Card Companies

Reading Time: 1:31 min

Tennessee recently became a battleground for Second Amendment rights, with major victories coming for those who protect the freedom to keep and bear arms. Another skirmish will be taken up…

View post

California Gun Advertising Ban Likely Dead in Water

Reading Time: 1:35 min

California’s all-out assault on gun rights strayed into First Amendment territory, and the state found itself in over its legislative head. Its effort to enact a sweeping ban on any…

View post

Remington Closing in on March Move to Georgia

Reading Time: 3:13 min

New York’s notorious anti-gun extremists are running a venerable manufacturer out of the state and region toward greener pastures. Remington, the nation’s oldest gun manufacturer, is preparing to vacate 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>