Right to Carry

Lack of ‘Stand Your Ground’ Rights Under Scrutiny in Hawaii

Reading Time: 3:25 min

Hawaii may be a tropical paradise, but it lags far behind many of its brethren in certain civil liberties. The state still does not recognize the right to stand firm…

View post

Armed Tennessee Homeowner Fires Through Door After Alleged Intruder Pushed Him Out

Reading Time: 2:9 min

Holding a suspect at gunpoint is a risky proposition if a person is not careful to maintain a safe distance and alert to a possible surprise attack. This was clearly…

View post

Alleged Intruder Shot and Killed by Armed Resident in West Virginia Home

Reading Time: 1:52 min

After an August break-in, a West Virginia man intending to protect his mother’s vacant dwelling purchased motion detectors to warn of another intrusion. That investment paid off early Wednesday morning,…

View post

Alleged Intruder Gets Shot After Turning on Bedroom Light

Reading Time: 2:3 min

When a person is sound asleep in their bed, the last thing they expect is a home invader to break into their residence and threaten them. Imagine their shock when…

View post

Oklahoma Man with Handgun Fends Off Five Attackers

Reading Time: 1:55 min

In a self-defense situation, five-to-one odds are not good. Chances are strong that the “one” will get the worst of the encounter and may not live to tell the tale.…

View post

Chinese Restaurant Employee Shoots Robbery Suspect Allegedly Attacking Staff

Reading Time: 1:59 min

A Maryland man is dead after being shot numerous times by an employee of a Chinese restaurant in Capitol Heights after he allegedly attempted to rob the establishment and attacked…

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>