Right to Carry

Armed Rabbi Teaches Jewish Community to Defend Itself

Reading Time: 2:60 min

It is well known that the U.S. Jewish community is under intense pressure following the Oct. 7 terrorist massacre of over 1,200 Israeli citizens. The ensuing war with Hamas continues…

View post

Pregnant Mother Wields Firearm to Halt Home Invasion

Reading Time: 1:40 min

There are some areas where it is advisable not to attempt to invade a home, and one of them may well be Casper, Wyoming. Details are just now being made…

View post

Decades-Old Lawsuit Threatens Indiana Gun Owners

Reading Time: 1:40 min

An echo from the past threatens to reveal personal data for hundreds of thousands of Indiana gun owners. The lawsuit is Gary v. Glock, and it was filed all the…

View post

California Radicals Attempt to Limit Firearm Instructors

Reading Time: 1:41 min

California officials are nothing if not brazen in their attempts to eradicate the Second Amendment. The state Department of Justice recently announced an “emergency regulation” severely limiting the number of…

View post

Alleged St. Louis Hate Crime Proves Fallacy of ‘Gun-Free’ Zones

Reading Time: 1:43 min

Anti-gun locales tout their measures to keep certain “sensitive places” off-limits for citizens to keep and bear arms. By their logic, these areas will be utopian paradises free of violent…

View post

Gov. Grisham Readies for Round Two of New Mexico Gun Control

Reading Time: 1:33 min

New Mexico Gov. Lujan Grisham (D) is sharpening her knives for another run at Second Amendment rights in the new year. Her first attempt to suppress the right to keep…

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>