Right to Carry

NRA Petitions Supreme Court to Take Up Florida’s Young Adult Gun Ban

Reading Time: 3:20 min

NRA Petitions Supreme Court to Take Up Florida’s Young Adult Gun Ban Florida’s controversial ban on firearm purchases by young adults aged 18 to 20 could soon face the highest…

View post

Ninth Circuit Upholds Federal Gun Ban for Non-Violent Felons

Reading Time: 4:3 min

Felonies Are Not All Created Equal No one wants to see a person who is a danger to society with a weapon; that is something that all agree on. But…

View post

Armed Dog Walker Steps Up and Confronts Knife-Wielding Suspect Accused of Murder

Reading Time: 4:12 min

Armed Dog Walker Steps Up and Confronts Knife-Wielding Suspect Accused of Murder. Even in a world where routine acts like walking the dog should be among the safest parts of…

View post

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
<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>