Right to Carry

US Gun Sales Continued Torrid Pace in June

Reading Time: 1:55 min

The American appetite for enjoying Second Amendment freedoms is hardly diminishing despite the best efforts of the anti-gunners and the naysayers.  The National Shooting Sports Foundation (NSSF) reported that the…

View post

VA Official Claims Agency Will Violate Law Protecting Veterans’ Gun Rights if Passed

Reading Time: 3:26 min

It is dangerous for American democracy when federal bureaucrats proclaim they will not follow the law of the land, and that’s exactly what is happening with the Veterans Administration on…

View post

New Jersey’s Oppressive ‘Justifiable Need’ Carry Ban Suffers Setback

Reading Time: 1:58 min

In a sharp contrast to the precise wording of the Second Amendment, New Jersey lawmakers established that an individual must demonstrate a “justifiable need” to carry a weapon lawfully. Of…

View post

Fifth American is Sentenced in Caribbean Island Ammunition Possession Case

Reading Time: 2:1 min

The latest American charged in the Turks and Caicos Islands for mistakenly having ammunition in their luggage was sentenced on Thursday. The judge gave 45-year-old Saritta Grier, a mother and…

View post

NRA President Blasts Surgeon General’s Warning Over Phony ‘Public Health Crisis’

Reading Time: 3:24 min

There was a time when the nation’s top medical doctor was worried about the spread of communicable diseases, the need to get children vaccinated and public health in general. But…

View post

New Hampshire Becomes 17th State to Protect Gun Owners’ Privacy Rights

Reading Time: 1:52 min

New Hampshire Gov. Chris Sununu (R) signed HB 1186 into law on Friday, making his state the 17th in the Union to establish protections for law-abiding citizens who purchase guns…

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>