Right to Carry

Lawmaker Demands ATF Explain Secret Use of Facial Recognition Technology

Reading Time: 2:22 min

Last week, a Washington lawmaker demanded that the embattled Bureau of Alcohol, Tobacco, Firearms, and Explosives explain why it utilized facial recognition technology without proper oversight or even simple training.…

View post

New Mexico Legislative Session Ends Without Gun Control Bills Advancing, But Trouble Looms

Reading Time: 2:24 min

It’s the season to watch the schemes that anti-gun state legislators concoct, and there were positive results out of New Mexico’s session that ended Saturday. Sort of. Despite multiple bills…

View post

South Carolina Bill Aims to Stop Banks from Tracking Firearm Purchases

Reading Time: 2:24 min

The insidious practice of allowing powerful Wall Street banks to track firearm purchases by law-abiding Americans will not be established in South Carolina if certain lawmakers get their way. House…

View post

Report: Justice Department Weighing Merger of ATF and DEA

Reading Time: 2:23 min

Another round of rumors is swirling around the controversial Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF). According to a Reuters report, the Department of Justice (DOJ) is considering merging…

View post

Alleged Car Burglar Tried to Fool Police After Being Shot Twice by Owner

Reading Time: 2:21 min

Despite the best efforts of anti-gun forces, the right to keep and bear arms is exercised every day by millions of law-abiding Americans. They know they may be thrust into…

View post

NRA: Second Amendment Rights Poised for ‘Monumental” Victory in Congress

Reading Time: 4:1 min

Two significant bills that would profoundly affect gun rights in the United States advanced in Congress last week, and the National Rifle Association (NRA) strongly supports their passage. John Commerford…

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>