Right to Carry

Anaheim Jewelry Store Owner Uses Firearm to Turn Back Violent Mob

Reading Time: 2:4 min

California’s criminal element increasingly relies on the “safety in numbers” mantra to carry out what are often brazen—and successful—jewelry store heists. The idea is to rush the business with up…

View post

NYC Mayoral Hopeful Blames Guns for the Acts of Violent Criminals

Reading Time: 2:7 min

First, it was New York Gov. Kathy Hochul (D) calling for a nationwide ban on so-called “assault rifles” in the wake of this week’s deadly Manhattan shooting. Now, the horrific…

View post

California DOJ Continues to Enforce Ammo Purchase Background Checks

Reading Time: 3:22 min

California DOJ continues to enforce ammo purchase background checks—despite federal court rulings declaring the process unconstitutional. In a stunning show of defiance, California’s Newsom/Bonta regime is still operating the ammunition…

View post

Report: Gov. Newsom Rejected Handgun Because of Byzantine Gun Control He Created

Reading Time: 1:57 min

California governor and likely presidential hopeful Gavin Newsom (D) made quite the spectacle of being gifted a pistol by a Tennessee podcaster recently. The Sig P365 XMACRO semi-automatic handgun was…

View post

Radical Senator Proposes New $4,709 NFA Tax on Guns and Accessories

Reading Time: 1:54 min

The anti-gun circus tent popped up on Capitol Hill again on Tuesday when one of the most tiresome voices in Congress introduced perhaps 2025’s most tone-deaf measure so far. Sen.…

View post

Magazine Publishes Anti-CCW Hit Piece After Armed Michigan Man Stops Violent Attack

Reading Time: 1:55 min

Rolling Stone should stick to writing about music. The magazine released a report on Monday, which also appeared in anti-gun publication The Trace, that claimed concealed carry causes rampant fear…

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>