Right to Carry

California Ban on Non-Residents Exercising Concealed Carry Rights Overturned—Again

Reading Time: 3:26 min

California’s persistent efforts to block non-residents from exercising their Second Amendment rights have taken yet another legal hit. On Tuesday, U.S. District Judge Cathy Ann Bencivengo ruled that the state’s…

View post

Gun Rights Coalition Challenges California Gun Purchase Ban on Young Adults

Reading Time: 3:32 min

A consortium of gun rights advocates filed their opening appellate brief this week against California’s notorious firearm purchase ban carried out against young adults. The Second Amendment Foundation (SAF), Firearms…

View post

Wyoming Expands Concealed Carry Rights in Public Buildings

Reading Time: 3:30 min

Wyoming expands concealed carry rights in public buildings—a move that reaffirms the state’s unwavering commitment to Second Amendment freedoms and self-defense. As of this week, law-abiding citizens in the Cowboy…

View post

AG Bondi Defends Proposed ATF/DEA Merger Against Storm of Criticism

Reading Time: 3:52 min

The storm winds surrounding the proposed merger of the embattled Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF) with the Drug Enforcement Administration (DEA) are reaching deafening levels. Attorney General…

View post

GOA Blasts Proposed ATF/DEA Merger as a ‘Disaster’

Reading Time: 3:27 min

The plan to merge the Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF) with the Drug Enforcement Administration (DEA) has been discussed for weeks, and opposition to the idea is…

View post

Ninth Circuit to Hear Challenge to California’s Contentious Open Carry Ban

Reading Time: 3:41 min

California gun enthusiasts will watch with intense interest as the Ninth Circuit Court of Appeals considers a challenge to the state’s prohibition on open carry by virtually all citizens. The…

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>