Right to Carry

Armed Texas Man Stops Robbery at Gas Station

Reading Time: 2:24 min

If anti-Second Amendment extremists were honest, they would readily admit that there are daily incidents where lawful gun owners use their weapons to protect themselves from violent criminals. But these…

View post

Judge Grants Preliminary Injunction Against Maine’s Controversial Waiting Period Law

Reading Time: 2:29 min

Waiting periods for gun purchases are a pie-in-the-sky fantasy of anti-gunners that crime will somehow be solved by making law-abiding citizens wait. In truth, violent criminals are entirely unaffected by…

View post

Senate Proposal Would Strengthen PLCAA Protection for Weapons Industry

Reading Time: 2:24 min

Even as Second Amendment-related businesses are protected from frivolous and potentially crippling lawsuits by federal statute, anti-gunners find novel ways to circumvent this shield. The Protection of Lawful Commerce in…

View post

Good Guy With AR-15 Stops Chattanooga Nightclub Mass Shooting

Reading Time: 2:24 min

One of the tired but recurring themes of anti-gunners seeking to ban so-called “assault weapons” is that these semi-automatic weapons are never used for self-defense. That charge is patently false,…

View post

Mexico Threatens US Gun Manufacturers Over Terror Designation for Drug Cartels

Reading Time: 2:27 min

Just when you thought the Mexican government’s attempt to tear down the U.S. gun industry could not get any more ridiculous, officials south of the border sank to a surprising…

View post

Controversial Illinois FOID Requirement for Guns in the Home Struck Down

Reading Time: 3:52 min

A striking blow for gun rights rang out Monday when Judge T. Scott Webb ruled that Illinois’ mandate that state residents possess a Firearm Owners Identification (FOID) card—even for self-defense…

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>