Right to Carry

Armed Florida Man Shoots Suspect Who Allegedly Followed Him Home from Club

Reading Time: 2:28 min

A Florida man came face-to-face with a frightening situation in the early Sunday morning hours when he discovered that he had been followed home from a club by a stranger—a…

View post

Florida AG Will Not Defend Controversial Gun Control Law

Reading Time: 2:22 min

Florida’s attempt to reverse hastily drawn-up gun control laws following the 2018 Parkland massacre hit a snag last week. The 11th Circuit U.S. Court of Appeals upheld the state statute…

View post

Federal Appeals Court: Second Amendment Does Not Protect Short-Barreled Rifles

Reading Time: 2:34 min

Short-barrel rifles (SBRs) are not protected by the Second Amendment, according to the Seventh Circuit Court of Appeals last week. The panel upheld the case against Jamond Rush, a midwestern…

View post

New Mexico ‘Assault Weapon’ Ban Advances in Legislature

Reading Time: 2:24 min

New Mexico anti-gunners renewed their push last week to ban so-called “assault weapons,” and lawmakers utilized an idea that is gaining traction among Second Amendment opponents. Senate Bill 279 targets…

View post

Ninth Circuit Rules Against Hawaii Gun Control Law Over Two Years After Arguments Were Presented

Reading Time: 3:59 min

There’s much to be said for speedy trials and swift justice, but not from the Ninth Circuit Court of Appeals. The bench is no friend of the Second Amendment, though…

View post

Bill Allowing Concealed Carry in South Dakota Bars Heads to Governor’s Desk

Reading Time: 2:28 min

A measure to permit patrons to carry concealed handguns in businesses that draw over half of their revenue from alcohol cleared the South Dakota legislature and is now on 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>