Right to Carry

New York Lawmakers Mandate Safety Warnings in Gun Shops

Reading Time: 1:57 min

The nanny state is alive and well in New York as gun stores are soon to be required to hang warning signs targeting customers. These will be emblazoned with messaging…

View post

Right to Concealed Carry on Colorado College Campuses Ends July 1

Reading Time: 1:51 min

The freedom to exercise Second Amendment rights on Colorado campuses ends July 1 as the state lurches toward more oppressive gun control. Institutions of higher learning will become “sensitive places”…

View post

Good Samaritan Uses Weapon to End Alleged Carjacking in Florida

Reading Time: 2:3 min

The story of the Good Samaritan recounts the intervention of a person who assisted another in a time of great need when most in society would simply keep walking. The…

View post

Armed Civilian Patrols Walk Streets of Crime-Ravaged Connecticut City

Reading Time: 2:9 min

When We the People are finally fed up with violent criminals preying on the innocent and step in to stop the carnage, the problem will go away. That is what…

View post

NRA Files Brief Supporting Challenge to California’s One-Gun-Per-Month Law

Reading Time: 1:57 min

The National Rifle Association (NRA) threw its considerable weight behind the case against California’s inexplicable law limiting gun purchases to only one per month. The gun rights organization filed a…

View post

House Adopts Amendment Protecting Gun Rights of Military Veterans

Reading Time: 1:55 min

The House last week stood up for the constitutional rights of the nation’s military veterans through the support of an amendment to end stripping gun rights away. Rep. Eli Crane’s…

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>