Right to Carry

Illinois Father Engages in Shootout with Alleged Car Thieves

Reading Time: 2:9 min

Memorial Day is set aside for remembrance of those who made the ultimate sacrifice for our freedoms. Millions of Americans gather with family and friends to commemorate the holiday, and…

View post

Injured Louisiana Homeowner Shoots Alleged Knife-Wielding Intruder

Reading Time: 1:58 min

An alleged intruder armed with a knife met his fate early Tuesday morning in a Louisiana break-in and attack. Authorities received the call at roughly 1:50 a.m. from a Vernon…

View post

Wow, Uvalde Families Now Suing Call Of Duty, Instagram, & Daniel Defense For School Shooting

Reading Time: 2:56 min

Are we really reverting to the 90s, blaming video games for the actions of psychopaths? It’s frustrating to see the absurdity of this lawsuit unfold, targeting a gun company, a…

View post

California Man Not Charged in Defensive Shooting That Killed Girlfriend’s Ex-Partner

Reading Time: 2:2 min

The tale of a good guy with a gun is as old as the weapons, and a tragic outcome is usually avoided when a person steps up and defends themselves…

View post

New Bill To Ban Body Armor

Reading Time: 2:22 min

In the wake of the tragic Buffalo mass shooting, where a shooter wearing body armor killed ten people and injured three others, the topic of body armor regulation has resurfaced…

View post

NYC Shop Owner Faces 7 Years in Prison After Accidentally Shooting Alleged Thief

Reading Time: 3:42 min

A liquor store owner in New York City faces spending seven years in prison if convicted on charges of shooting a would-be thief who was allegedly attempting to steal from…

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>