Right to Carry

NRA Files Brief in Defense of Weapons Industry Against Mexican Government

Reading Time: 4:1 min

The National Rifle Association (NRA) last week filed an important amicus brief with the U.S. Supreme Court concerning the ongoing effort by the Mexican government to blame U.S. gun manufacturers…

View post

Olympic Champion’s Challenge to California Ammunition Law Now Before Appeals Court

Reading Time: 2:26 min

Oral arguments were made last week in the legal tussle over California’s restrictions on ammunition, and the case has a high-profile plaintiff supporting gun rights. Olympic champion Kim Rhode is…

View post

Masked Alleged Carjacker Shot by Florida Driver in Restaurant Parking Lot

Reading Time: 2:21 min

An alleged carjacking attempt in Florida went sideways quickly for the suspect as he is now in critical condition in the hospital. It is a marvel that, in 2024, some…

View post

Gun Controlling Canada Bans 324 More Firearms

Reading Time: 2:22 min

Canada’s anti-gun extremists are at it again. America’s northern neighbor announced on Thursday that it is banning 324 semi-automatic weapons in its ongoing push to disarm its citizens. And officials…

View post

Almost 170K Instant Background Checks Conducted on Black Friday

Reading Time: 2:20 min

Last week, Black Friday’s annual retail carnage was good news for those who treasure the right to keep and bear arms. The American public came out in droves to exercise…

View post

California Grandpa Saves Grandchildren from Man Who Kicked Door In

Reading Time: 2:33 min

There is no instinct more powerful among good people than the need to protect loved ones — especially when those loved ones are children. An alleged burglar ran into this…

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>