Right to Carry

House Bill Would Mandate Tracking Triggers, Gun Barrels

Reading Time: 3:11 min

House Bill Would Mandate Tracking Triggers, Gun Barrels When anti-gun advocates claim they don’t want to take away your rights, legislation like this proves otherwise. To them, armed self-defense is…

View post

DOJ Reverses Course in Settlement with Rare Breed Triggers

Reading Time: 3:17 min

DOJ Reverses Course in Settlement with Rare Breed Triggers Manufacturers of firearms, ammunition, and accessories have been under fire from the federal government for years. Critics have long accused the…

View post

Home Invasion Target Holds Off Three Suspects with Firearm, Shoots One Dead

Reading Time: 3:6 min

The old saying that firearms are the “great equalizer” was never more true than during the broad daylight hours of Tuesday. An Indiana man is alive today almost certainly due…

View post

Louisiana Senate Considers Bill to Protect Domestic Violence Victims Who Defend Themselves

Reading Time: 3:7 min

Louisiana Senator Pushes Bill to Protect Abuse Victims Acting in Self-Defense The horror of domestic violence cannot be overstated, and good people recognize that victims must not only be protected…

View post

Armed New York Store Owner Shoots Teen Suspect During Alleged Attempted Robbery

Reading Time: 3:48 min

Armed Store Owner Shoots Teen Suspect in Attempted Robbery It is an unfortunate reality that convenience stores rank high on the list of potential targets for criminals looking for an…

View post

Philadelphia Man Fires 16 Rounds to Defend Himself After Violent Robbery

Reading Time: 2:23 min

Violent Robbery in Port Richmond Leaves Woman Injured A Philadelphia couple is fortunate to have survived a violent robbery Tuesday night, but it remains to be determined whether there will…

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>