Right to Carry

Alleged Attack in Michigan Convenience Store Leaves 1 Dead, 1 Injured

Reading Time: 1:52 min

One man is dead, and his girlfriend was seriously injured after an alleged attack at a convenience store in Pontiac, Michigan. The intended victim was armed, and what was reported…

View post

Battle Brewing Over Maine’s New 72-Hour Waiting Period for Gun Purchases

Reading Time: 3:22 min

Gun rights advocates are working to overturn Maine’s controversial new three-day waiting period for a citizen to take possession of a legally purchased firearm — even after they passed the…

View post

Death of Bump Stock Ban Leads to More Demands for Gun Control

Reading Time: 3:34 min

Even as the U.S. Supreme Court drove the final nail in the coffin of the ill-advised bump stock ban, calls emanated from Washington to pursue yet more onerous gun control…

View post

ATF’s Bump Stock Ban Overturned: Debunking Democrats Saying The Supreme Got It Wrong

Reading Time: 3:22 min

In a recent landmark decision, the Supreme Court struck down the ban on bump stocks, a contentious accessory that allows semi-automatic rifles to fire more rapidly. Contrary to some popular…

View post

Supreme Court Throws Out ATF Bump Stock Ban

Reading Time: 3:24 min

The U.S. Supreme Court spoke emphatically Friday with its 6-3 decision in the case brought against the unilateral banning of bump stocks. The Bureau of Alcohol, Tobacco, Firearms and Explosives…

View post

Federal Judge Tosses Controversial ATF Pistol Brace Rule Aside

Reading Time: 3:27 min

Second Amendment supporters embraced good news from a U.S. District Judge in Texas on Thursday. Reed O’Connor vacated the Bureau of Alcohol, Tobacco, Firearms and Explosives’ (ATF) contentious rule that…

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>