Right to Carry

North Carolina Close to Becoming 30th Constitutional Carry State: A Major Victory for Gun Rights

Reading Time: 3:34 min

North Carolina Close to Becoming 30th Constitutional Carry State after a significant legislative push last week positioned the state on the verge of eliminating its permit requirement for concealed carry.…

View post

Gun Sales Continued 2025 Downturn in May

Reading Time: 3:26 min

Gun Sales Continued 2025 Downturn in May: Market Correction or Long-Term Shift? Gun Sales Continued 2025 Downturn in May as new data from the National Shooting Sports Foundation (NSSF) confirmed…

View post

Supreme Court Blocks Mexican Government’s Lawsuit Against US Gunmakers

Reading Time: 3:40 min

Supreme Court Blocks Mexican Government’s Lawsuit Against US Gunmakers in a powerful 9-0 decision that reaffirms long-standing protections for the American firearms industry. The unanimous ruling, delivered Thursday, dealt a…

View post

Texas Close to Full Reciprocity with Recognition of Handgun Licenses From Other States

Reading Time: 3:29 min

Texas is close to full reciprocity with recognition of handgun licenses from other states, proving once again that the Lone Star State remains a stronghold for individual liberty. While some…

View post

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
<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>