Right to Carry

Virginia Homeowner Shoots Alleged Intruder Multiple Times in the Middle of the Night

Reading Time: 2:22 min

Anti-gunners try to convince the people that the right to keep and bear arms is a threat to public safety and the cause of criminal violence. Only, the facts loudly…

View post

Viral TV Series Landman Gives The Greatest Argument For 2nd Amendment In 15 Second Clip

Reading Time: 1:46 min

I wasn’t even planning to watch the TV Series Landman, but after my barber raved about it, I gave it a shot—and wow! Not only is it unapologetically bold, but…

View post

Wisconsin Establishes Controversial Office of Violence Prevention

Reading Time: 2:27 min

To be clear, no one wants to see an end to violent crime more than Second Amendment enthusiasts. These Americans are entirely on board with sensible policies that actually protect…

View post

Alleged Truck Thief Shot by Relative of Owner

Reading Time: 2:24 min

An alleged Washington state truck thief is recovering from a gunshot wound after he was caught in the act by a relative of the vehicle’s owner. Authorities report the dangerous…

View post

Mexico Launches Gun Buyback Program Based on Failed US Model

Reading Time: 2:22 min

Anti-gunners engage in some outlandish schemes, but few are more ludicrous than their periodic firearm buyback programs. Announcements go out in the community, and a couple of people strapped for…

View post

Representative Introduces Resolution to Repeal National Firearms Act

Reading Time: 2:23 min

A new push to repeal the National Firearms Act (NFA) emerged in Congress this week ahead of the changing of the guard in Washington, D.C. Rep. Eric Burlison (R-MO) reintroduced…

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>