Right to Carry

WV Homeowner Shoots and Kills Heavily Armed Intruder

Reading Time: 2:5 min

A West Virginia homeowner is fortunate to be alive today after confronting an armed trespasser, and it is thanks to the Second Amendment that he walked away. Authorities were called…

View post

Ninth Circuit Panel Revives Lawsuit Against LA Concealed Carry Regime

Reading Time: 1:55 min

The wheels of justice are slowly turning against California’s notorious gun control scheme, and it’s always a good day when the Ninth Circuit acknowledges the Second Amendment. A three-judge panel…

View post

Washington State Gun Shop Asks SCOTUS to Take Up Magazine Ban

Reading Time: 1:55 min

You must hand it to Gator’s Custom Guns in Washington state’s Cowlitz County. The business puts its money where its mouth is and vigorously defends Second Amendment freedoms.  All the…

View post

Georgia AG Blasts Savannah’s Ordinance Punishing Gun Owners

Reading Time: 1:57 min

Prosecutors in states that respect the Second Amendment are increasingly resorting to herding rogue municipalities back into the fold through legal action. Take Georgia as an example. Despite being part…

View post

15 States Join Legal War Against NFA Registration

Reading Time: 1:52 min

The federal lawsuit seeking to finally eradicate National Firearms Act (NFA) registration restrictions received robust backing last week when 15 states joined the charge. Dubbed the One Big Beautiful Lawsuit,…

View post

Chicago Woman Shot With Gun From Police BuyBack Program

Reading Time: 2:29 min

Chicago woman shot with a gun from police buyback program — the same firearm that previously went missing from police custody and was later found in the hands of a…

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>