Right to Carry

Armed Oklahoma Woman Fatally Shoots Alleged Intruder

Reading Time: 1:47 min

As more Americans arm themselves against violent criminals, breaking into another person’s dwelling is increasingly taking one’s life in their hands. This was apparently the case early Friday morning in…

View post

Federal Judge: Ban on Guns in Post Offices Unconstitutional

Reading Time: 1:38 min

The sweeping ban on possessing firearms in a U.S. post office is unconstitutional, according to a federal judge in Florida. U.S. District Judge Kathryn Kimball Mizelle based her decision on…

View post

Washington State Wants to Tax ‘Privilege’ of Owning Ammunition

Reading Time: 3:14 min

Some Washington state lawmakers are in dire need of a refresher course on the U.S. Constitution and what constitutes a “privilege” as opposed to a “right.” Driving a vehicle, for…

View post

New Mexico Gov. Targets Second Amendment Rights Yet Again

Reading Time: 3:10 min

Once bitten, twice shy apparently does not apply to New Mexico Gov. Michelle Lujan Grisham (D). After being roundly criticized and then forced to retreat from last year’s attempted carry…

View post

Child Kills Attacker Who Had Already Allegedly Murdered a Woman

Reading Time: 1:35 min

Investigators in Northumberland County, Pennsylvania, are probing two deaths, including one that apparently resulted when a heroic child took up arms and defended adults from an alleged attacker. The shocking…

View post

Controversial Oregon Gun Control Law Permanently Blocked

Reading Time: 3:2 min

Among states where gun rights are hanging on by a thread, Oregon is near the top. But good news came in recent days when a judge further put the brakes…

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>