2A News

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

Florida Police Chief Warns Violent Criminals That Most Residents Are Armed

Reading Time: 3:3 min

In the aftermath of yet another incident where a legally armed citizen defended life and property with a firearm, a Florida police chief issued a stern warning for violent criminals.…

View post

ATF Warns Gun Dealers of Potential Civil Unrest in Wake of Memphis Beating Death

Reading Time: 3:4 min

The Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) issued a warning to multiple Federal firearms licensees (FFLs) and gun dealers on Friday over potential civil unrest. Though the alert…

View post

Blackburn: ATF ‘Destroying Our Second Amendment’

Reading Time: 3:13 min

Sen. Marsha Blackburn (R-TN) pulled no punches this week when she tore into the Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF) over its unconstitutional overreach into gun regulations. Specifically,…

View post

Armed Veteran Saves Bartender Girlfriend from Violent Carjacker

Reading Time: 3:27 min

Chelsea Putnam knew that her job put her in dangerous situations. As the manager of George’s Tavern in downtown Sanford, Florida, it was her job to close and lock 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>