Right to Carry

Citigroup Drops Discriminatory Policy Against Firearm and Ammunition Industry

Reading Time: 1:53 min

A major hurdle before the firearm and ammunition industry is now cleared with a powerful Wall Street financial firm announcing an end to discriminatory policies. Citigroup declared that it will…

View post

Washington Residents Rush for Concealed Carry Licenses Ahead of New Law

Reading Time: 3:23 min

Is it any wonder that when a fundamental human right is threatened, people rush to defend it more vigorously and make their voices heard? That’s exactly what’s happening as Washington…

View post

New York Seeks to Prohibit Sharing Blueprints of 3D Guns Online

Reading Time: 3:34 min

New York Seeks to Prohibit Sharing Blueprints of 3D Guns Online in a sweeping move that civil liberties groups argue poses a serious threat to both the Second Amendment and…

View post

SCOTUS Declines to Hear Arguments in Critical Second Amendment Cases

Reading Time: 3:31 min

The U.S. Supreme Court continued its recent confounding history of punting important Second Amendment-related cases back to lower court rulings. Rulings that are often contradictory. On Monday, justices declined to…

View post

Hero Mom Shoots Daughter’s Alleged Attacker Multiple Times

Reading Time: 2:27 min

A horrifying act of violence against a minor in an Indiana hotel room was stopped by an armed mother, according to court documents and law enforcement officials. The disturbing scenario…

View post

Washington State Sheriff Rejects Controversial Permit-to-Purchase Scheme

Reading Time: 3:31 min

In a bold act of constitutional defiance, Washington State Sheriff Rejects Controversial Permit-to-Purchase Scheme and reaffirms his commitment to protecting the Second Amendment. Pierce County Sheriff Keith Swank made it…

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>