Right to Carry

Massive Hollywood Gun Fails From The Rookie

Reading Time: 4:8 min

I recently came across a scene from the ABC show “The Rookie”, where a woman goes undercover at a gun range. She’s pretending not to know much about firearms, hoping…

View post

Second Amendment Supporters File Legal Challenge to Maryland’s ‘Sensitive Places’ Law

Reading Time: 3:54 min

Maryland presents yet another example of the childish temper tantrums thrown by anti-Second Amendment states following 2022’s U.S. Supreme Court Bruen decision. The high court firmly reestablished the right to…

View post

The Bank Closed his Account Because Of A Firearm Purchase

Reading Time: 3:45 min

In a recent episode of “The Colion Noir Podcast,” host Colion Noir spoke with Chris Bailey, an avid car enthusiast and gun owner, who revealed a concerning experience he had…

View post

Halloween Night Stabbing Spree Stopped by Armed Homeowner

Reading Time: 2:22 min

Halloween should be an occasion for the youngsters to trick-or-treat and for adults to revel in the holiday. Unfortunately for some in Louisiana, the scares were genuine this year, and…

View post

Hunting and Fishing Rights Enshrined in Florida Constitution

Reading Time: 2:29 min

Florida voters overwhelmingly approved Amendment 2 on Election Day. This measure will protect the fundamental right to enjoy hunting and fishing for generations to come. The proposal was supported by…

View post

Setback: Colorado Voters Approve Excise Tax on Firearm and Ammunition Sales

Reading Time: 2:19 min

Not everything came up rosy for Second Amendment advocates on Election Day as Colorado voters approved an excise tax on firearm and ammunition sales. The electorate made the state only…

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>