Right to Carry

NRA Warns Maine Hunters That Their Traditions Are Under Attack

Reading Time: 2:28 min

Anti-Second Amendment forces only nibble around the edges of gun control because they are limited by the Constitution and defenders of freedom. Their true intentions are to end the right…

View post

Florida Homeowner Shoots Intruder Then Holds Him at Gunpoint

Reading Time: 2:28 min

There’s a reason you never hear criminals or their defenders extolling the virtues of the Second Amendment. The right to keep and bear arms works against them—and often in a…

View post

Poll: Majority Favor Judges Who Protect Second Amendment Rights

Reading Time: 2:21 min

Americans know the Bill of Rights protects their fundamental liberty to defend their families and property, and the public fully understands that the Second Amendment is hardly a second-class freedom.…

View post

FPC Files Suit Against Washington, D.C. Firearm Magazine Ban

Reading Time: 2:22 min

With the all-out attack on standard magazines by anti-gun forces raging in various states, it is hardly surprising that another lawsuit by a Second Amendment advocacy group has been filed.…

View post

Michigan Senate Bans ‘Ghost Guns’ Even as Supreme Court Decision is Pending

Reading Time: 2:20 min

With so-called “ghost guns” back in the headlines, the grandstanding Michigan Senate this week jumped into action. Strictly along party lines, the state’s upper house approved a blanket prohibition on…

View post

Armed Arizona Man Sends Multiple Suspected Home Invaders Fleeing—One to the Hospital

Reading Time: 2:22 min

A terrifying home invasion attempt in Arizona left one man hospitalized and sent several others running for cover when the homeowner opened fire. The latest incident of armed self-defense unfolded…

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>