Right to Carry

ATF Data Discredits Chicago Mayor’s Claim of Guns Pouring in From Other States

Reading Time: 1:59 min

ATF Data Discredits Chicago Mayor’s Claim of Guns Pouring in From Other States – Chicago has a violent crime problem, that much is certain. With the federal government’s recent moves…

View post

California Man Chases Alleged Home Invaders Away by Firing Several Rounds

Reading Time: 1:52 min

Home invasions are rather like carjackings. Not to say they never happened in days gone by, but even the terms are relatively new in the English language. Unfortunately, home invasions…

View post

Federal Court Upholds Illinois’ Prohibition on Carrying Firearms on Public Transit

Reading Time: 3:26 min

The Illinois ban on carrying weapons on the state’s public transit system will remain in place for the foreseeable future. The Seventh Circuit U.S. Court of Appeals reversed a lower…

View post

California’s Proposed Glock Ban Moving Forward in Legislature

Reading Time: 3:28 min

Rumblings out of California about a potential sweeping ban of some of the most popular and prominent handguns in the state are coming to fruition.  A vote is expected this…

View post

Court Rules You Don’t Need AR-15s for Self-Defense

Reading Time: 2:30 min

Court Rules You Don’t Need AR-15s for Self-Defense — that’s the message coming from a recent decision by the 2nd U.S. Circuit Court of Appeals, which upheld Connecticut’s “assault weapons”…

View post

Lawmaker Seeks Repeal of Gun-Free School Zones Act

Reading Time: 1:54 min

After another tragic event in a “gun-free” school zone, one lawmaker called for a legal change that will help protect students and teachers from the next lunatic. Rep. Thomas Massie…

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>