Right to Carry

Burglary Suspect Shot in Rear by Tulsa Apartment Resident

Reading Time: 2:20 min

Crime doesn’t pay, and many times it offers a painful lesson to those who chose to engage in it.  The economics of burglary are not good when considering the potential…

View post

Nuns’ Lawsuit Against Smith & Wesson Dismissed

Reading Time: 3:42 min

Catholic nuns would not be the first guess for the plaintiffs against a major U.S. gun manufacturer, but that was the dilemma faced by Smith & Wesson. Besides being sisters…

View post

Canadian Authorities Set to Destroy Thousands of Browning Pistols

Reading Time: 2:14 min

The Canadian military intends to destroy thousands of Browning Hi-Power pistols that were standard issue in the armed forces since World War II.  The pistols are now illegal under the…

View post

Two Gun Control Bills Defeated in Pennsylvania House

Reading Time: 2:9 min

Pennsylvania is the very definition of a political battleground state. This means on the critical issue of gun rights, there is only a very slim margin by which anti-gun measures…

View post

Amazon Delivery Driver Shoots Alleged Armed Carjacker

Reading Time: 2:19 min

Delivery drivers are everywhere, especially since the pandemic lockdowns drove shoppers from brick-and-mortar stores to online retailers. But besides finding the right house and the occasional canine greeting when they…

View post

ATF Embarrasses Itself With Arrest of Wrong South Carolina Man

Reading Time: 4:5 min

There are not many things more frightening for an upstanding citizen than to be arrested at work for crimes they did not commit. That’s what happened when the Bureau of…

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>