Right to Carry

Pennsylvania Senior Citizen Defends Wife and Home from Alleged Attacker

Reading Time: 2:23 min

It is a sorry state of affairs when children and the elderly are not immune to random violence, but that is the world we live in. More than ever, it…

View post

Florida Governor Proposes ‘Second Amendment Summer’ to Temporarily Eliminate Sales Taxes on Guns and Ammo

Reading Time: 2:24 min

Florida gun enthusiasts have a tax holiday on the horizon if Gov. Ron DeSantis (R) gets his way. Even as some governments attempt to fill their coffers with new taxes…

View post

Armed Fort Lauderdale Man Sends Alleged Home Invader to Hospital

Reading Time: 2:27 min

It is logical to believe that even a burglar would know when to cut his losses when confronted by an armed homeowner, but that is not always the case. Sometimes,…

View post

Surprise: Eight Wyoming Lawmakers Seek to Roll Back Second Amendment Protections

Reading Time: 2:21 min

Every gun enthusiast knows some states can be counted on to protect Second Amendment rights. Unfortunately, there are several others dominated by anti-gunners who want nothing more than to eradicate…

View post

NRA Lauds Interior Secretary’s Confirmation as a Win for Sporting Traditions

Reading Time: 2:21 min

Second Amendment advocates and outdoor enthusiasts are closely watching the changing of the guard in Washington, D.C., and many are pleased with at least one new face. The National Rifle…

View post

Alleged Intruder Shot Multiple Times by North Carolina Homeowner

Reading Time: 2:26 min

Breaking into a person’s home is a bad idea at any time. Still, it is undoubtedly inadvisable in the late afternoon when residents are most likely to be awake and…

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>