Right to Carry

Gun Industry Asks Supreme Court to Intervene in Mexico’s Frivolous Lawsuit

Reading Time: 3:49 min

Some legal actions should never see the light of day, and a glaring example originated south of the border. The Mexican government filed a $10 billion lawsuit against the U.S.…

View post

Man Attempting to Rob Store with a Snake Encounters Clerk With a Firearm

Reading Time: 2:10 min

A convenience store next to Elvis Presley’s fame Graceland was the site of what can only be described as a bizarre robbery attempt early Tuesday morning. The suspect allegedly tried…

View post

Armed California Man Defends Home Against Two Robbery Suspects

Reading Time: 2:8 min

Home invasion robberies are a risky business, even in a gun-controlled state such as California. Two suspects encountered an armed and ready homeowner Tuesday morning in Newport Beach, and the…

View post

Mahomes Avoids Call for More Gun Control After Parade Shooting

Reading Time: 2:17 min

Showing maturity off the field as well as on, Kansas City’s Super Bowl winning quarterback Patrick Mahomes avoided getting dragged into the heated gun control debate. The team’s most recent…

View post

Minnesota Court: Guns in Cars Legally Same as Guns in Public

Reading Time: 2:17 min

Having a firearm in your private car may be considered possession of a weapon in a public place. That’s the surprising ruling that was issued Monday from the Minnesota Court…

View post

Colorado Moves Closer to Prohibiting Sale or Transfer of Semi-Automatic Weapons

Reading Time: 2:17 min

Colorado lawmakers on Sunday took a giant step closer to the ban of the sale or transfer of popular semi-automatic weapons. The House on a 35-27 vote advanced a bill…

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>