Right to Carry

Challenge to Illinois’ ‘Assault Weapons’ Ban Filed Before Supreme Court

Reading Time: 3:45 min

Gun Owners of American (GOA) is taking Illinois’ vast gun control overreach to the highest court in the land. The group, which represents over 2 million members, asked the U.S.…

View post

San Antonio Teen Killed While Allegedly Attempting to Steal Car

Reading Time: 2:16 min

An attempted auto theft turned deadly early Monday morning in San Antonio as a 16-year-old suspect lost his life. Despite numbers in some criminal categories dropping in the past year,…

View post

Off-Duty Atlanta Officer Fires at Alleged Home Invader

Reading Time: 2:8 min

Of all the residences to attempt to break into, an off-duty police officer’s should not be at the top of the list. After all, it is nearly certain they are…

View post

California Law Limiting Gun Purchases to One Per Month Struck Down

Reading Time: 2:16 min

Yet another gun control overreach by California officials was struck down on Monday. This time it was the state’s nonsensical limit on purchasing weapons of only one gun per month…

View post

Hartford Church Initiates Armed Patrols to Protect Community

Reading Time: 3:44 min

In an unusual program from an unusual source, a church in Hartford, Connecticut, established armed neighborhood patrols as a reaction to escalating violence. The Walk in the Light Church of…

View post

Youngkin Vetoes Controversial Virginia Gun Control Bills

Reading Time: 2:24 min

Virginia Gov. Glenn Youngkin (R) took a stand for gun rights in resistance to the state legislature’s aim to curtail the Second Amendment by vetoing a pair of bills sent…

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>