Right to Carry

Credit Card Companies Quietly Implementing Gun Transaction Code in California

Reading Time: 3:16 min

What was once defeated may rise again, and that is apparently the case for credit card processors and the insidious scheme to enact a special merchant code for firearms retailers. …

View post

Washington Post Forced to Confess to Gun Control Myth

Reading Time: 1:37 min

A lie repeated often enough does not become any less of a lie. Anti-gunners from the White House on down love to repeat the mantra that “gun violence is the…

View post

Taco Bell Customer Killed After Brandishing Firearm in Drive-Thru Dispute

Reading Time: 1:29 min

Arguments are a part of life and will happen, though they are increasingly dangerous with the levels of violence some people quickly ascend to. Starting an altercation with strangers in…

View post

Kansas City Mayor: No Freedom if People Allowed to Carry Even a ‘Classic Revolver’

Reading Time: 3:7 min

Perhaps gross exaggeration and constitutional ignorance can be forgiven in the aftermath of a tragedy, but leaders are all too quick to throw personal freedoms out of the window when…

View post

Man Sleeping in Truck Uses AR-15 to Defend Himself From Alleged Car Thief

Reading Time: 1:34 min

A winding series of events led to a Texas man sleeping in his truck and enduring a fatal encounter with an alleged thief. He was aware enough of his surroundings…

View post

Texas Man Awaits Fate After Shooting Suspect Allegedly Threatening Him with Ice Pick

Reading Time: 1:40 min

A Texas man must now wait on the decision of a grand jury in the fatal shooting of another man believed to be threatening him with an ice pick. It…

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>