Right to Carry

Federal Push to End NFA Restrictions on Short-Barreled Rifles Underway

Reading Time: 2:19 min

The last four years saw an unprecedented effort by politicians and bureaucrats to criminalize perfectly legal weapons. The previous administration and the ATF recategorized pistols equipped with braces as short-barreled…

View post

Semi-Automatic Weapons Ban Sent to Colorado Governor’s Desk

Reading Time: 2:23 min

Senate Bill 3, which bans the manufacture of and dramatically infringes on the ownership rights of popular semi-automatic sporting rifles, passed through the Colorado legislature and now heads to Gov.…

View post

Oregon Considers Reckless Gun Control Legislation

Reading Time: 2:21 min

Second Amendment advocates cried foul over Oregon lawmakers’ last-minute amending of a bill to fill it with anti-gun restrictions. SB 243 originally sought to permit the Department of State Police…

View post

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