2A News

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

NRA Blasts Newsom Hypocrisy Over Gun Control Statements

Reading Time: 3:12 min

The National Rifle Association (NRA) slammed California Gov. Gavin Newsom for ridiculous comments he uttered on gun control while surrounded by apparently armed guards. His state, already saddled with the…

View post

White House Uses Falsehood to Support ‘Assault Weapons’ Ban

Reading Time: 3:7 min

Two things are as predictable as the sun rising in the East. Politicians will scapegoat firearms for criminal acts long before all the facts are known — even if 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>