Right to Carry

Two Texas Men Released After Shots Determined to Be In Self-Defense

Reading Time: 2:19 min

The story seemed familiar. Two young men reportedly approached a middle-aged man and an argument ensued with the two young suspects firing multiple shots at the “victim.” Only, the actual…

View post

Armed Nebraska Veteran Foils Late Night Jewelry Store Robbery

Reading Time: 2:21 min

Nothing evokes fear in a would-be criminal quite like a good guy with a gun. These bad guys are constantly on the lookout for law enforcement and will typically avoid…

View post

Judge Grants ‘Expedited Briefing’ on ATF’s Universal Background Check Rule

Reading Time: 2:15 min

The controversial new universal background check rule from the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) is set to take effect on May 20. But there is now a…

View post

Sportsmen-Funded Conservation Effort Tops $17 Billion

Reading Time: 2:14 min

The decades-long contributions by good guys with guns to the nation’s conservation drive recently surpassed $17 billion. The National Shooting Sports Foundation (NSSF) reported the Wildlife Restoration Trust Fund took…

View post

Ninth Circuit Rules Some Non-Violent Felons May Possess Firearms

Reading Time: 3:42 min

In what is a burgeoning judicial trend regarding gun control, a three-judge panel from the Ninth Circuit Court on Thursday ruled that at least some felons are legally capable of…

View post

Colorado’s Attempt to Ban Popular Semi-Automatic Weapons Defeated

Reading Time: 3:50 min

Score one for the good guys as Colorado’s latest effort to prohibit semi-automatic weapons was defeated this week in the state legislature. Lawmakers attempted to mimic the stringent gun control…

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>