Right to Carry

Judge Rules Washington State Ban on Standard Capacity Magazines Unconstitutional

Reading Time: 3:45 min

Washington state’s ban on what gun control advocates call “high-capacity” magazines is unconstitutional, according to a judge’s ruling on Monday. Cowlitz County Superior Court Judge Gary Bashor leaned heavily on…

View post

Naked Intruder Who Allegedly Burst Through Wall Shot in St. Louis

Reading Time: 2:6 min

It does not matter how crazy and improbable a scenario may seem, how unlikely it is to encounter. In 2024, there is a good chance that if can be imagined,…

View post

Indianapolis Officials Concerned with Rise in Armed Self-Defense Cases

Reading Time: 2:34 min

When is an issue not an issue? When the “problem” is too many people utilizing their Second Amendment right to armed self-defense against violent attackers. Strangely enough, this is the…

View post

Artificial Intelligence Displays Pervasive Bias Against Gun Rights

Reading Time: 3:51 min

Whether the public agrees with its virtues or not, artificial intelligence is here to stay. It already permeates many industries and is utilized for everything from medicine to education. Also…

View post

Knife-Wielding Suspect Shot in Attempted Gas Station Robbery

Reading Time: 2:11 min

Robberies don’t always unfold in the dead of night at a dark and isolated location. One such violent encounter erupted on Sunday in the late afternoon at a gas station…

View post

Bill Expanding Colorado’s ‘Sensitive Places’ Clears State Senate

Reading Time: 2:14 min

Law-abiding Colorado gun owners will have more restrictions on their right to carry firearms if the state Senate gets its way. On Wednesday, lawmakers passed legislation to ban licensed concealed…

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>