Right to Carry

Waffle House Customer Shoots Man Who Allegedly Threatened Diners

Reading Time: 1:35 min

Birmingham, Alabama, has the unfortunate distinction of being one of many American cities where violent crime continues to explode. After a particularly brutal weekend the homicide total for the county…

View post

Women Declare Their Second Amendment Rights to Congress

Reading Time: 3:3 min

From domestic abuse survivors to intended victims of violent crime, women are speaking out in a loud voice about the need for armed self-defense. And last week, their voices rang…

View post

Supreme Court Rejects Injunction Request Against Illinois Semi-Automatic Weapons Ban

Reading Time: 1:32 min

The U.S. Supreme Court on Thursday rejected the emergency injunction request from the National Association for Gun Rights (NAGR) concerning the so-called “assault weapons” ban by Naperville, Illinois. The request…

View post

Wanted Teen Carjacking Suspect Shot by Atlanta Driver

Reading Time: 1:40 min

The audacity of carjacking is shocking to the average law-abiding citizen. There is something inherently frightening about having a gun pointed at you while a violent criminal demands you exit…

View post

Smith & Wesson Celebrates Second Consecutive Strong Quarter

Reading Time: 1:29 min

Despite the best efforts of anti-gun radicals, the weapons industry is alive and well. Another positive indicator came this week from the nation’s largest gun manufacturer, Smith & Wesson. The…

View post

California Store Owner Protects Business from Smash-and-Grab Robbers

Reading Time: 1:54 min

Shopkeepers are under siege in many parts of the country but perhaps nowhere more than coastal California. Longstanding retailers are fleeing in droves as gangs of criminals target their stores…

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>