2A News

Powerful 2A Coalition Challenges NY Glock Ban

Reading Time: 1:56 min

On Friday, a broad alliance of influential Second Amendment defenders pooled their power against New York’s notorious gun control regime. The National Rifle Association (NRA), Second Amendment Foundation (SAF), Firearms…

View post

SC Clerk Shot and Killed Alleged Vape Shop Robber

Reading Time: 1:58 min

Good citizens who work sometimes thankless jobs have the same dreams and goals as everyone else. They may toil in liquor stores, fast food outlets, or deliver food at all…

View post

23 State AGs Rail Against ATF Reform

Reading Time: 2:1 min

Some automatically recoil in horror at what most reasonable people consider progress, and enhancing the free exercise of Second Amendment rights is hardly different. The Bureau of Alcohol, Tobacco, Firearms…

View post

First Lawfully Unrecorded Suppressor Transferred in Nearly a Century

Reading Time: 3:35 min

History was made just after the stroke of midnight Thursday morning when a silencer was legally transferred without National Firearms Act (NFA) registration.  Gun Owners of America (GOA), Silencer Shop,…

View post

GOA Urges White House Calls to Oppose DOJ Appeal

Reading Time: 2:3 min

Gun Owners of America (GOA) took a much-deserved victory lap after the recent and significant court ruling that struck down the statutory National Firearms Act (NFA) registration of certain Second…

View post

Veteran Endorses National Concealed Carry for Retired Special Ops

Reading Time: 2:3 min

A special privilege granted to qualified active, retired, or separated law enforcement officers to carry concealed weapons nationwide, regardless of local gun control laws, should be expanded. That’s the word…

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>