Right to Carry

Hammer-Wielding Alleged Burglar Shot and Killed by Homeowner

Reading Time: 2:10 min

It is never a great idea to break into another person’s home, but in 2024 that action is even more of a risky proposition. Recent FBI data revealed more Americans…

View post

Chicago Sues Glock Over Firearms’ ‘Convertibility’ to Fully Automatic

Reading Time: 2:9 min

Chicago officials filed suit on Tuesday against prominent handgun manufacturer Glock. The suit alleged the company is liable for what it claimed is the simple procedure with which the pistols…

View post

Indiana, Utah Join States Prohibiting Tracking of Credit Card Firearm Purchases

Reading Time: 3:50 min

Gratitude is due to political leaders in Indiana and Utah for taking major steps in recent days to protect the rights of those who keep and bear arms. Both states…

View post

Gun Ownership Soared and Crime Fell in 2023

Reading Time: 2:15 min

FBI figures released this week for 2023 revealed the downward trend for crime continued last year from its peak in 2020. But to the certain frustration of anti-gun forces, more…

View post

Michigan Homeowner Shoots Alleged Intruder After Attack on Another Resident

Reading Time: 2:11 min

The Second Amendment exists for several vital reasons. At the very start of the nation, the Founding Fathers noted in the Declaration of Independence the necessity to break away from…

View post

California’s Gun Control Extremists Press on Despite Legal Setbacks

Reading Time: 3:52 min

California’s anti-gun forces fell into a predictable pattern. These lawmakers would throw everything possible against the wall to impede the Second Amendment rights of gun owners and wait to see…

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>