Guns

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

Washington State Gun Shop Asks SCOTUS to Take Up Magazine Ban

Reading Time: 1:55 min

You must hand it to Gator’s Custom Guns in Washington state’s Cowlitz County. The business puts its money where its mouth is and vigorously defends Second Amendment freedoms.  All the…

View post

My Top 5 Concealed Carry Gun Rotation

Reading Time: 4:45 min

When it comes to my concealed carry guns I practice tactical polyamory. Essentially, I don’t just carry one gun, I have a rotation of guns I carry based on what…

View post

First Road Trip In My GT3 To Pickup & Shoot My First 2011 Handgun At Their Factory

Reading Time: 0:41 min

I know enough gun owners to know that 90% of gun owners are walking around with an undiagnosed mental illness that I like to call Tactical Instant Gratificationitis. Tactical Instant…

View post

Florida State University criminologist Gary Kleck

Reading Time: 0:20 min

Armed citizens defend their lives or property with firearms against criminals approximately 1 million times a year. In 98 percent of these instances, the citizen merely brandishes the weapon or…

View post

TAURUS FIRST 24 KIT

Reading Time: 1:3 min

I was browsing one of my favorite sites UNCRATE and came across the Taurus First 24 Kit.  I rarely find gun stuff on UNCRATE so it was cool 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>