Right to Carry

RIFLE Act of 2025 Introduced to Safeguard Second Amendment

Reading Time: 2:24 min

It is no secret that for the past few years, the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) has trampled on Second Amendment rights.  Nowhere was this action more…

View post

Ohio Lawmakers Take Strong Action to Safeguard Second Amendment Rights

Reading Time: 2:24 min

While several states shamefully fell to the whims of radical anti-gunners, Ohio stood tall and expanded Second Amendment rights with two strong new laws. House Bill 452 and Senate Bill…

View post

Embattled New Mexico Governor Drops War on Second Amendment—For Now

Reading Time: 2:24 min

For all the states such as California, New York, and Illinois that stand out in the race to the bottom in defending Second Amendment rights, there are those wannabes who…

View post

Controversial White House Gun Violence Prevention Office Goes Dark

Reading Time: 2:28 min

When the torch passes from one presidential administration to another, there are always changes, and Second Amendment enthusiasts had at least one piece of good news after Inauguration Day. The…

View post

Armed Houston Man Protects Pregnant Girlfriend from Alleged Road Rager

Reading Time: 2:28 min

A young Texas family is safe today after encountering a frightening road rage incident on the Houston interstate Friday night. The potentially deadly encounter unfolded around 9:30 p.m. The Houston…

View post

NSSF Supports Protecting Access for Hunters and Anglers Act in Congress

Reading Time: 2:29 min

Outdoor enthusiasts are under attack by opponents who wish to ban traditional lead ammunition and tackle on the dubious grounds that they pose a threat to wildlife and fishing stocks.…

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>