Right to Carry

New Mexico’s Anti-Firearm Prohibition Fought by Gun Rights Groups

Reading Time: 2:25 min

A pair of stalwart gun rights groups, the Second Amendment Foundation (SAF) and the Firearms Policy Coalition (PFC) are pushing forward with their efforts to protect the freedoms of New…

View post

Retired NYPD Officer Shoots Alleged Machete-Wielding Road Rager 

Reading Time: 2:10 min

Trouble found a retired NYPD cop on Staten Island Wednesday, and he responded to a life-and-death confrontation with lethal force. The startling encounter erupted just before 9:30 a.m. following what…

View post

Kentucky Homeowner Shoots Alleged Meth-Carrying Home Intruder

Reading Time: 2:19 min

Illegal drugs are a scourge on U.S. society, and methamphetamine is near the top of the list of those whose use often leads to deadly outcomes. Too many violent criminals…

View post

State Attorneys General Target Glock Over Altered Semi-Automatic Pistols

Reading Time: 2:9 min

Venerable gunmaker Glock is increasingly in the crosshairs of lawmakers upset over some using a secondary device to enable its pistols to fire at a faster rate. The company already…

View post

Youngkin Vetoes Virginia Lawmakers’ ‘Assault Weapons’ Ban

Reading Time: 2:11 min

Virginia Gov. Glenn Youngkin (R) exercised his veto power on Tuesday by rejecting lawmakers’ ban on so-called “assault weapons” and other measures contrary to the Second Amendment. Several legislators sought…

View post

Armed Grandmother Protects Small Grandson from Alleged Home Invader

Reading Time: 2:24 min

A courageous New Mexico grandmother shot an alleged home invader and auto thief in self-defense and to protect her four-year-old grandson. She reported the suspect twice broke into her Albuquerque…

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>