Right to Carry

Illinois Semi-Automatic Weapon Ban Heads to Supreme Court

Reading Time: 1:37 min

A petition was filed on Monday with the U.S. Supreme Court asking justices to hear the legal challenge to Illinois’ controversial ban on semi-automatic firearms and most ammunition magazines. The…

View post

South Carolina Woman Shoots Intruder, Protects Two Small Children

Reading Time: 1:35 min

Cases of armed self-defense are generally so clear cut that it is immediately obvious who was wrong and who was in the right. This describes the circumstances behind a weekend…

View post

Prepared Alabama Homeowner Ends Weekend Home Invasion Attempt

Reading Time: 1:33 min

An Alabama homeowner faced a frightening situation early Saturday morning when an unknown individual attempted to break into his residence. It was approximately 4:20 a.m., and the sound of forceful…

View post

Off-Duty Good Guys Stop Shooting at Texas Megachurch

Reading Time: 1:52 min

A pair of off-duty armed police officers working security confronted a female shooter at a megachurch in southeast Houston. Through their quick actions they managed to end the threat and…

View post

California’s Controversial Gun Show Ban Further Challenged by Gun Group

Reading Time: 3:4 min

Gun shows at fairgrounds are a tradition that spans decades, and it was commonplace in years and generations past to see families enjoying the spectacle. But in their rush to…

View post

Virginia Senate Passes Bill Mandating Schools Instruct Parents on Safe Gun Storage

Reading Time: 1:43 min

The Virginia legislature has been busy in recent weeks fulfilling the desires of anti-gun forces. Last week, the Senate passed a novel measure that has many concerned about the proper…

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>