Right to Carry

Santa Monica Robbery: Store Owner Fatally Shoots Armed Suspect in Self-Defense

Reading Time: 3:29 min

Shooter Identified as Law-Abiding Business Owner Defending Himself In a high-profile case of legal self-defense, a Santa Monica robbery turned deadly when a store owner shot and killed an alleged…

View post

Ninth Circuit Upholds Federal Gun Ban for Non-Violent Felons

Reading Time: 4:3 min

Felonies Are Not All Created Equal No one wants to see a person who is a danger to society with a weapon; that is something that all agree on. But…

View post

New York Legislator Floats Ridiculous Mandate for Gun Owners

Reading Time: 2:26 min

Lawmakers Keep Missing the Mark on Violent Crime The wisdom of the straightforward and targeted approach to solving violent crime is lost on many lawmakers. Instead of going after the…

View post

Minnesota Now Has Reciprocity With 33 States After Supreme Court Decision

Reading Time: 2:27 min

Supreme Court Delivers Major Win for Young Gun Owners The U.S. Supreme Court’s recent action in Worth v. Jacobson upholding the rights of young adults to obtain a carry permit…

View post

Montana Institutes Statewide Ban on So-Called ‘Red Flag’ Laws

Reading Time: 2:26 min

Contentious “red flag” restrictions have no place in Montana, thanks to Gov. Greg Gianforte (R) signing HB 809 into law this week.   Cities and other local governments are now…

View post

Maryland’s Blatant Disregard for Bruen Faces Strong Challenge in Federal Appeals Court

Reading Time: 2:26 min

A potentially landmark case before the Fourth Circuit Court of Appeals may signal the end of anti-gun state governments running roughshod over Second Amendment rights.   The momentous 2022 U.S.…

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>