Right to Carry

New Jersey Congresswoman Openly Calls For National Gun Registry

Reading Time: 3:24 min

Most anti-gunners attempt to cloak their true feelings with such tropes as they “support the Second Amendment” and “respect the nation’s traditions of hunting and target shooting.” The reality is…

View post

Report: 10 Million Hunters, Gun Owners Not Registered to Vote

Reading Time: 1:60 min

In this critical time for defending Second Amendment rights from leaders who want them eradicated, a startling new report revealed the high level of political clout held by hunters and…

View post

New Jersey Congresswoman Openly Calls For National Gun Registry

Reading Time: 3:24 min

Most anti-gunners attempt to cloak their true feelings with such tropes as they “support the Second Amendment” and “respect the nation’s traditions of hunting and target shooting.” The reality is…

View post

Hawaii Lawmakers Ban Ammo Possession by Young Adults 18-20

Reading Time: 1:57 min

Hawaii legislators moved last week to ban law-abiding young adults aged 18-20 from purchasing or possessing ammunition in the latest move by state officials to suppress Second Amendment rights. SB2845…

View post

New Orleans Officials Blatantly Attempt to Circumvent Constitutional Carry

Reading Time: 1:56 min

Louisiana finally pushed through its constitutional carry law, freeing citizens to enjoy their Second Amendment rights without asking the state government for a permission slip. Gov. Jeff Landry (R) signed…

View post

Carjacking Suspect Shot by Secret Service Outside Supreme Court Justice’s Home

Reading Time: 1:53 min

From the criminal point of view, choosing the right target is of utmost importance and could be the difference between a successful heist and one that does not end well…

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>