Defensive Gun Use

Armed Mother With Baby Hiding In Closet Shoots Home Invader

Reading Time: 3:38 min

Armed mother with baby hiding in closet shoots home invader in Joliet, Illinois, turning a terrifying home invasion into a clear case of self-defense. According to police reports, the woman…

View post

Man Shoots Veteran in Wheelchair After Accusing Him of Stolen Valor

Reading Time: 3:1 min

Man Shoots Veteran in Wheelchair After Accusing Him of Stolen Valor — that’s exactly what happened on July 31, 2025, when a confrontation on Seattle’s Pier 55 turned violent. Gregory…

View post

Alleged California Burglar Killed by Armed Homeowner

Reading Time: 1:38 min

Breaking into a stranger’s home is a dangerous business, one that is better left undone. An alleged burglar in California learned that lesson in the hardest way and paid the…

View post

How These Defensive Gun Uses Could Land You In Prison

Reading Time: 1:1 min

There is a thin line when using your gun in self-defense between justified and unjustified homicide. I went to USCCA’s Proving Grounds, where they put me through realistic scenario-based training…

View post

Alabama Homeowner Shoots Alleged Intruder In Head During 911 Call

Reading Time: 1:12 min

The person in this story was literally on the phone with dispatchers when the suspect broke an exterior window and began to come into the house, and the homeowner used…

View post

Self Defense Or Murder? Homeowner Shoots Man In Garage

Reading Time: 3:3 min

I have a zero-tolerance policy for anyone invading my home or anywhere around it. So the thought of someone breaking into my home and making me feel unsafe in my…

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>