Right to Carry

Colorado’s Anti-Gun Wave Continues with House Passage of Three New Bills

Reading Time: 2:15 min

The Colorado House took yet another swipe at Second Amendment rights over the weekend when lawmakers passed three more gun control bills. These actions continued the recent attack on law-abiding…

View post

ATF Final Rule Issued on Definition of ‘Engaged in the Business’ of Dealing Weapons

Reading Time: 3:35 min

The Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) released the final rule on the definition of “engaged in the business” as a weapons dealer. And it is intentionally vague…

View post

So-Called ‘Ghost Gun’ Ban Upheld by Nevada Supreme Court

Reading Time: 2:13 min

In a blow against gun enthusiasts and hobbyists, the Nevada Supreme Court on Thursday reversed a lower court ruling. In doing so, the justices upheld the state prohibition on so-called…

View post

Armed 85-Year-Old Woman With .357 Magnum Proves To Robber Older Generations Are Built Different

Reading Time: 3:0 min

Everyone seems to be saying, “Wow, an 85-year-old did all that? That’s amazing. I can’t believe it.” But none of this surprises me, not even a little, because being 85…

View post

New Orleans Wants ‘Entertainment’ Districts Off-Limits for Concealed Carry Permit Holders

Reading Time: 2:16 min

New Orleans officials were already enchanted with the notion of fighting back against the state’s newly minted constitutional carry law. They immediately discussed blocking off the famous French Quarter from…

View post

Pennsylvania Woman Shoots Intruder Discovered in Basement

Reading Time: 2:11 min

A Pennsylvania woman survived a frightening encounter with a stranger in her home due to exercising her Second Amendment rights and by being prepared. She also displayed courage in confronting…

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>