NRA

Hugh Jackman Joins Anti-Gun, “Not One More” Campaign

Reading Time: 1:1 min

Honestly, I had no clue about the, “Not One More” campaign until I came across Hugh Jackman’s facebook post. Make no mistake, the “Not One More” Campaign is anti-gun. There’s…

View post

NOIR | Ep.18: Courtesy on the Range & in your Car, Pro Boxer Gary Russell, & I My Ass Kicked

Reading Time: 0:13 min

In this episode of NOIR, LaSorte gets on his soap box about having some courtesy while in your car and on the range. We do some shooting with professional boxer…

View post

ASK NOIR | Ep.17: I Hold My Rifle Wrong, My Supporters & When I Got My Hat

Reading Time: 0:15 min

On this weeks episode of NOIR, I learn that someone people can’t stomach the way I hold my rifle. Also, I finally give up the dirt on where I got…

View post

AIMPOINT CARBINE OPTIC: YOUR NEW “BUDGET” OPTION

Reading Time: 0:50 min

When it comes to red dot optics, Aimpoint is at the top of the list. Unfortunately, when it comes to red dot prices, they’re right up there again. There’s no point…

View post

NOIR Ep.17: Shotgun For Home Defense, Bullet Buttons, Athletic Shooting as a Pro Sport

Reading Time: 0:15 min

On this weeks episode of NOIR, we discuss whether a shotgun is the best home defense gun, I see a bullet button for the first time and we sit down…

View post

Teaching Moments: Talking/Arguing Guns

Reading Time: 1:5 min

“Okay, here’s what I’m going to do. I’m going to go around the corner, and I want you to act like you have a gun and I am an attacker…

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>