Right to Carry

Armed Texas Daughter Defends Father from Alleged Home Intruder

Reading Time: 2:26 min

Uplifting self-defense sagas often feature dedicated fathers using firearms to protect their wives and children from those who would do them harm—but not always. A Texas daughter on Wednesday afternoon…

View post

Armed Homeowner Wounded Defending Five Children from Home Invasion

Reading Time: 2:19 min

A New York man faced a terrifying situation early Sunday morning when multiple intruders invaded his home. The homeowner was injured but used his firearm to successfully defend his family…

View post

Argentine President Lowers Gun Purchase Age to 18, Why The U.S. Should Do The Same

Reading Time: 0:51 min

The Anti Anti-2A Social Club is more than a name—it’s a stand against misinformation, double standards, and the relentless attacks on our rights. It’s for those who are done being…

View post

Anti-Second Amendment State AGs Sue Glock Over Already Illegal Switches

Reading Time: 3:59 min

The war against gun rights, despite recent election results that demonstrated the will of the people to protect the Second Amendment, continues unabated. Fourteen state attorneys general and the District…

View post

Florida Gun Rights Advocates Push Back Against Oppressive State Laws

Reading Time: 3:52 min

As previously noted, Florida is not high on the list of states one would automatically consider to be controlled by anti-gunners, and the reality is that it is not. However,…

View post

Supreme Court Rejects Hearing Controversial Hawaii Carry Case

Reading Time: 3:54 min

Hawaii is not a state marked with an asterisk, and its citizens do not live under a different U.S. Constitution from the rest of the nation. A recent gun control…

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>