Right to Carry

Armed Texas Church-Goer Stops Alleged Assailant Carrying Rifle

Reading Time: 1:51 min

It is a shameful situation when spaces such as schools and houses of worship are under siege by violent criminals, but that is the sad reality of the world we…

View post

Armed Texas Church-Goer Stops Alleged Assailant Carrying Rifle

Reading Time: 1:51 min

It is a shameful situation when spaces such as schools and houses of worship are under siege by violent criminals, but that is the sad reality of the world we…

View post

Judge Denies Injunction Against Illinois Concealed Carry Ruling

Reading Time: 2:4 min

An injunction against enforcing the Illinois law prohibiting concealed carry on public transit systems in the state will stand. This is after U.S. District Court Judge Iain D. Johnston refused…

View post

Supreme Court to Hear Smith & Wesson Legal Battle with Mexico

Reading Time: 3:25 min

The U.S. Supreme Court will hear arguments in the frivolous case brought by the Mexican government against Smith & Wesson. On Friday, the high court granted cert in the legal…

View post

Massachusetts Rushes Implementation of Controversial Gun Control Law Ahead of Possible Injunction

Reading Time: 3:38 min

Instead of waiting the customary 90 days for the onerous new Massachusetts gun control package to take effect, Gov. Maura Healey (D) on Wednesday decided to rush implementation to the…

View post

Montana Takes Strong Second Amendment Stand, Rolls Out Red Carpet for Weapons Industry

Reading Time: 3:27 min

At a time when multiple U.S. states want to shutter the Second Amendment and eradicate the right to keep and bear arms, at least one bucks the trend by welcoming…

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>