Gun Control

19 AGs Urge SCOTUS to Consider Young Americans’ 2A Rights

Reading Time: 1:57 min

Full constitutional rights for young adults should not be in question, but when it comes to the Second Amendment, some leaders act as though the right to keep and bear…

View post

Chicago Woman Files Suit Against City After Being Shot With Buyback Gun

Reading Time: 1:58 min

Gun buyback programs have gained popularity in recent years, with some municipalities highlighting their efforts to enhance public safety. However, it must be noted that there is no credible evidence…

View post

Sales Plunge in Washington State After Draconian Gun Control Enacted

Reading Time: 1:55 min

Anti-Second Amendment forces in Washington state must be beaming with pride at the obvious cause-and-effect they set in motion—but at what cost? According to a new report from SafeHome.org, the…

View post

Washington State Gun Shop Asks SCOTUS to Take Up Magazine Ban

Reading Time: 1:55 min

You must hand it to Gator’s Custom Guns in Washington state’s Cowlitz County. The business puts its money where its mouth is and vigorously defends Second Amendment freedoms.  All the…

View post

Minnesota Supreme Court Rules in Favor of Firearms Minus Serial Numbers

Reading Time: 1:52 min

The Minnesota Supreme Court considered the legality of unserialized firearms for state residents and returned an interesting ruling. On Wednesday, the high court determined in State v. Vagle that the…

View post

How These Defensive Gun Uses Could Land You In Prison

Reading Time: 1:1 min

There is a thin line when using your gun in self-defense between justified and unjustified homicide. I went to USCCA’s Proving Grounds, where they put me through realistic scenario-based training…

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>