Right to Carry

Israelis by the Tens of Thousands Scramble for Gun Permits

Reading Time: 3:7 min

Israeli citizens are flooding authorities with gun permit applications after the deadly Hamas terrorist attacks claimed over 1400 lives on Oct. 7. The government eased restrictions on firearm possession and…

View post

NYC Subway Passenger Arrested For Firing Pistol To Defend Woman

Reading Time: 1:34 min

A 43-year-old New York City man faces serious charges after allegedly firing two rounds at another man who reportedly attempted to rob a female passenger in a Manhattan subway. John…

View post

ATF Director Advocates ‘Assault Weapon’ Ban and Universal Background Checks

Reading Time: 3:10 min

When Steve Dettelbach was the nominee to be the Director of the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF), he told the Senate that he held a constructionist view…

View post

Alleged California Burglar Killed by Armed Homeowner

Reading Time: 1:38 min

Breaking into a stranger’s home is a dangerous business, one that is better left undone. An alleged burglar in California learned that lesson in the hardest way and paid the…

View post

Armed Los Angeles Father Protects Family from Alleged Intruders

Reading Time: 1:30 min

Video of a fearsome scene in California is circling the internet this week as testimony to the wisdom of being armed and alert. A Los Angeles family is fortunate after…

View post

Attempted Robbery Halted by Armed Pizza Restaurant Employee in Philadelphia

Reading Time: 1:36 min

An attempted armed robbery at a Philadelphia pizza restaurant ended in an exchange of gunfire between an employee and an armed suspect. One of the alleged armed robbers did not…

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>