Right to Carry

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

Colorado Lawmakers Seek Federal Assistance to Fight Sweeping Gun Control Law

Reading Time: 2:25 min

Colorado legislators who support Second Amendment rights are appalled at the state’s recent enactment of a sweeping package of gun control laws, and they are asking for federal intervention. While…

View post

Supreme Court Rejects Appeal, Allows Minnesota’s Young Adults to Own and Carry Guns

Reading Time: 2:39 min

The unmistakable momentum toward recognizing the fundamental rights of young adults to keep and bear arms continued this week. The U.S. Supreme Court rejected Minnesota’s attempt to deny this freedom…

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>