2A News

California’s Rabid Anti-2A Lobby Wants to Strip Gun Rights from Pot Smokers

Reading Time: 2:3 min

If the virulent anti-Second Amendment crowd is anything, it’s ironic. Take California. The Golden State rolls out the red carpet for drug users as cities become open-air opium dens and…

View post

Now it’s Canada’s Turn to Scapegoat the US For Its Crime Problem

Reading Time: 1:60 min

First, it was Mexico. The southern neighbor decided in recent years that its crippling dilemma with drug cartels and gang violence is the fault of the United States. Officials sued…

View post

Report: Black Gun Owners Seek Justice After Wrongful Arrests

Reading Time: 3:35 min

Gun rights opponents should recall that until modern times, U.S. gun laws tended to discriminate against certain classes of Americans based on race or other factors. These statutes are rightfully…

View post

Bondi Targets DC Police Department Over Gun Rights Suppression

Reading Time: 1:58 min

Attorney General Pam Bondi’s Department of Justice (DOJ) announced on Monday that it is suing Washington, D.C., due to unconstitutional restrictions on gun rights. The District has a long track…

View post

Anti-2A Lawmakers Push to Restore Hated NFA Tax

Reading Time: 2:2 min

The federal budget signed on July 4 this year stripped the dreaded $200 tax on suppressors, short-barreled rifles, and other weapons under the National Firearms Act (NFA). This long-overdue correction…

View post

Lawmakers Question Bondi’s DOJ Over NFA Registration Mandate

Reading Time: 1:55 min

While 2025 saw a course correction in the Department of Justice’s (DOJ) recent antagonism toward Second Amendment rights, the need for vigilance remains. With that in mind, 42 U.S. Senators…

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>