Right to Carry

New York Man Fires at Teens Allegedly Attempting to Run Him Down

Reading Time: 1:54 min

An obviously stunned 46-year-old New York man encountered a frightening situation Wednesday that would terrify anyone, and he is lucky to have walked away unharmed.   A group of violent…

View post

YouTube Declares War on Gun-Related Channels

Reading Time: 3:21 min

The world’s dominant video-sharing service set its sights on Second Amendment-related channels and is targeting those who make a living supporting gun rights. The Google-owned platform earlier this year announced…

View post

Appeals Court Rejects Petition for Rehearing Minnesota Gun Control Case

Reading Time: 1:53 min

The effort by Minnesota lawmakers to strip Second Amendment rights from young adults was dealt another severe blow on Wednesday when the Eighth Circuit Court of Appeals refused to rehear…

View post

Armed Good Samaritan Saves Postal Worker from Alleged Violent Robber

Reading Time: 2:1 min

Postal workers travel through sketchy areas of the country every day, and it is not uncommon for them to encounter some of the worst of society. One Atlanta mail carrier…

View post

Advocates Challenge New Mexico’s Parks and Playgrounds Gun Ban

Reading Time: 1:54 min

New Mexico Gov. Michelle Lujan Grisham’s (D) quest to stamp out the Second Amendment drew yet another court challenge, and gun rights advocates are lined up to be heard. Of…

View post

University Poll Shows Americans United in Support of Second Amendment Rights

Reading Time: 1:55 min

Despite the steady anti-Second Amendment drumbeat from those opposed to gun rights, the American public is solidly behind the right to keep and bear arms. More specifically, a vast majority…

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>