Guns

Should Marijuana Smokers Own Guns?

Reading Time: 4:22 min

Should Marijuana Smokers Own Guns? That’s the heated question fueling conversations across America, and for good reason. For decades, cannabis users—whether recreational or medical—were forced to choose between their medicine…

View post

NSSF Recognizes Millions of New Shooters During National Shooting Sports Month

Reading Time: 1:54 min

The National Shooting Sports Foundation (NSSF) recognized National Shooting Sports Month as both its founder and chief proponent. August is set aside to honor this fine pastime and ensure that…

View post

FBI Has New Co-Deputy Director, and He’s a Breath of Fresh Air

Reading Time: 1:51 min

Second Amendment enthusiasts grew accustomed in recent years to knowing that federal agencies with oversight of their favorite pastime were aggressively antagonistic to the very same rights they were charged…

View post

Ride-Share Driver Does Not Face Charges in SC Defensive Shooting

Reading Time: 1:51 min

A deadly encounter last month for a South Carolina ride-share driver was followed by tense weeks of waiting to learn if he would face charges on top of the trauma…

View post

Federal Judge Rules NY Restrictions on Lawful Carry Unconstitutional

Reading Time: 1:53 min

Good news from a somewhat unlikely source came this week from a U.S. District Judge in New York concerning gun rights. Mae A. D’Agostino ruled that the Empire State’s notorious…

View post

You Need A Gun Tonight But The Current Law Forces You To Wait A Week

Reading Time: 3:42 min

You Need A Gun Tonight But The Current Law Forces You To Wait A Week — and for too many Americans, that reality can mean the difference between life and…

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>