Self-Defense

Woman Killed By Ex-Boyfriend while Waiting for NJ To issue Her Gun Permit

Reading Time: 1:12 min

All Carol Bowne asked was that she be permitted to exercise her right to protect herself in her own home; instead, she ended up bleeding to death in her driveway.

View post

Armed customer stops restaurant robbery suspects in their tracks

Reading Time: 0:37 min

You hear it all the time from anti-gunners, “No one really uses their gun to stop a crime”. They love to insinuate that concealed carries suffer from Heroes complex. The…

View post

Preacher’s son opens fire on intruders armed with guns, duct tape, zip ties

Reading Time: 0:59 min

“What they’re not telling you is that these guys came prepared to rob my son. They had duct tape. They had hand ties. They had tool boxes,” said Jones. “I…

View post

Texas Man Shot Bank Robbery Suspects Who Kidnapped Wife: Cops (Video)

Reading Time: 0:42 min

Two brothers who kidnapped a couple and forced the wife to help them rob the bank where she worked got a lethal dose of Texas justice last week.

View post

Police Officer Fatally Shoots Newlywed Firefighter During Fight

Reading Time: 0:40 min

As he lay bleeding on a downtown Kansas City street, newlywed Anthony Bruno mouthed “Don’t let me die” to a bystander who had rolled him on his back to check…

View post

Army veteran banned from daughter’s school after posting picture of weapons permit

Reading Time: 1:2 min

When I analogized being a gun owner to the gay rights movement, some people were like how dare I compare the two. This woman is being ostracized from her daughters…

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>