Right to Carry

Anti-Gun Group Masquerades as Pro-Second Amendment Organization

Reading Time: 3:52 min

Beware of the wolf in sheep’s clothing. It is a cautionary tale as old as time, warning that many will pretend to be one thing to gain trust and respect…

View post

Kentucky Joins Honor Roll of States Prohibiting Tracking of Gun Purchases

Reading Time: 2:18 min

Anti-gunners must be furious at the wall being built around states across the U.S. against the scheme to track firearm and ammunition purchases through credit card transactions. Kentucky is the…

View post

Colorado’s New AR-15 Ban Also Targets Semi-Auto Pistols & Shotguns

Reading Time: 2:25 min

California leads the nation in egregious gun control measures that do nothing to combat violent crime but much to suppress the Second Amendment rights of law-abiding citizens. And it increasingly…

View post

NRA Stands in Opposition to Pennsylvania ‘Ghost Gun’ Bill

Reading Time: 3:53 min

Homemade hobby guns have been part of the nation’s sport shooting tradition since before the founding. The craft was passed down through generations as enthusiasts enjoyed the fine art of…

View post

Tennessee Homeowner Defends Against Armed Intruders on Consecutive Nights

Reading Time: 2:18 min

Rights contained in the Second Amendment protect American lives every day in many instances of which the general public will never know of. But it is now more frequent that…

View post

Philadelphia Woman Utilizes Semi-automatic Pistol to Defend Against Two Alleged Home Invaders

Reading Time: 2:27 min

Anti-gun forces across the nation are on the warpath to limit the capacity of firearm magazines, and they repeatedly claim that no law-abiding citizen needs such firepower. They normally set…

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>