2A News

US Majority Now Opposes So-Called ‘Assault Weapons’ Ban

Reading Time: 3:9 min

The majority of Americans are now lined up in opposition to federal and state attempts to prohibit so-called “assault weapons.” That’s the conclusion from the most recent ABC News/Washington Post…

View post

Gun Control Only Works to Control Law-Abiding Citizens

Reading Time: 3:21 min

Insanity has been defined as doing the same act over and over expecting to see a different result. That definition also applies to America’s anti-gun zealots, who follow each heinous…

View post

Maryland Lawmakers Fast-Track New Gun Control Bill

Reading Time: 3:7 min

The anti-gun lobby may sometimes speak in pleasant tones and frame their demands in friendly terms, but make no mistake about their ultimate goal. They are fully committed to nullifying…

View post

Fierce Resistance Mounts to ATF’s Pistol Brace Rule

Reading Time: 3:9 min

Before the ink was dry on the Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF) new pistol brace rule Tuesday, Second Amendment advocates sprang into action. The highly controversial change…

View post

Florida Could Make US a Majority Permit-less Carry Nation

Reading Time: 3:18 min

With legislation introduced on Monday to allow Florida citizens to carry a concealed weapon without the government’s permission, the U.S. could be on its way to being a majority permit-less…

View post

Senators Ignore Facts in Rush to Ban So-Called ‘Assault Weapons’

Reading Time: 3:10 min

No one ever accused American politicians of letting the facts get in the way of a good argument. However, when it comes to basic constitutional freedoms, facts are extremely important…

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>