Right to Carry

Wow, Gun Goes Off In Podcast Guest Pants Who Wasn’t Wearing A Holster

Reading Time: 3:23 min

Picture this: you’re mid-conversation during a podcast, diving into whatever topic the host threw your way, and then—bang! No, it’s not a mic drop or a dramatic effect; it’s the…

View post

Colorado Lawmakers Ready for Another Attempt to Ban ‘Assault Weapons’

Reading Time: 2:20 min

The 2025 legislative session in Colorado promises to be another where anti-gunners will push the envelope on erasing Second Amendment rights. All indications are that they will revisit what has…

View post

Ohio Man Shoots and Kills Intruder Who Allegedly Charged Him

Reading Time: 2:24 min

Most burglars are cowards by nature and will run away at any sign that a residence is occupied. Occasionally they break this pattern, and it can lead to deadly results.…

View post

Ohio Man Shoots and Kills Intruder Who Allegedly Charged Him

Reading Time: 2:24 min

Most burglars are cowards by nature and will run away at any sign that a residence is occupied. Occasionally they break this pattern, and it can lead to deadly results.…

View post

Embattled ATF Confirms Director’s Resignation

Reading Time: 2:27 min

Change is inevitable, and sometimes that change cannot come a moment too soon. That is the case with the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF), which was strongly…

View post

NRA Files Brief Before Supreme Court Over California Gun Show Prohibition

Reading Time: 2:22 min

California’s rush to eradicate the Second Amendment got more pushback last week, this time when the National Rifle Association (NRA) filed an amicus brief before the U.S. Supreme Court. The…

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>