Right to Carry

Florida Homeowner Uses Firearm to Defend Against Two Alleged Home Invaders

Reading Time: 2:23 min

The idea of a home invasion was something rarely thought of in decades past. There were the run-of-the-mill burglars, of course, but the horrifying breach of what should be a…

View post

DOJ Second Amendment Task Force Sends Strong Signal of Support for Gun Rights

Reading Time: 2:19 min

Gun rights advocates cautiously celebrated the recent announcement by Attorney General Pam Bondi of the creation of the Second Amendment Enforcement Task Force. After all, promises made and promises kept…

View post

Montana Hunter Uses Rifle to Save Himself From Charging Grizzly Bear

Reading Time: 2:23 min

A Montana man is thankful to be alive today after a frightening confrontation last week, and this time the incident did not involve a violent criminal bent on destruction. Instead,…

View post

Texas Lawmakers Act to Protect Citizens Involved in Self-Defense Incidents

Reading Time: 2:28 min

Law-abiding citizens use the Second Amendment every day in the U.S. to defend themselves, their loved ones, and their property from violent criminals. Deploying lawful force for protection should not…

View post

Missouri House Moves to Expand Second Amendment Rights

Reading Time: 2:20 min

Missouri gun enthusiasts may rest assured that a committed group of lawmakers safeguards their Second Amendment rights. And while not everything these legislators attempt passes judicial scrutiny, they never appear…

View post

Permit to Purchase Scheme Moves Closer to Reality in Washington State

Reading Time: 2:23 min

Anti-gunners know they cannot ban all firearms outright due to the pesky Second Amendment. In lieu of this draconian action, they are forced to settle for erecting every conceivable barrier—great…

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>