Right to Carry

Senate to Consider Federal Ban on Firearm-Specific Merchant Category Codes

Reading Time: 3:59 min

Senate to Consider Federal Ban on Firearm-Specific Merchant Category Codes. As more states line up to protect their citizens from giant Wall Street firms tracking their gun and ammunition purchases,…

View post

Las Vegas Open Carrier Fatally Shot with Own Handgun in AutoZone

Reading Time: 2:58 min

Las Vegas Open Carrier Fatally Shot with Own Handgun in AutoZone While the Second Amendment protects the right to keep and bear arms, exercising that right in public comes with…

View post

California Homeowner Shoots Alleged Intruder While Talking to 911

Reading Time: 2:24 min

California Homeowner Shoots Alleged Intruder While Talking to 911. A frightening West Coast incident drove the point home of the saying, “When seconds matter, help is minutes away.”  A California…

View post

State AGs Advocate for Bill Establishing National Reciprocity

Reading Time: 4:1 min

State AGs Advocate for Bill Establishing National Reciprocity. When 24 state attorneys general agree to anything, it’s news. It’s even better news when the issue is protecting gun rights nationwide…

View post

SC Shooting During Attempted Robbery Ruled Justifiable Self-Defense

Reading Time: 2:24 min

SC Shooting During Attempted Robbery Ruled Justifiable Self-Defense. According to South Carolina authorities, an attempted criminal act went tragically wrong Monday evening when two teenagers allegedly tried to rob an…

View post

Armed Bystanders Stop Florida Man Allegedly Using Car to Ram Crowd

Reading Time: 2:24 min

Armed Bystanders Stop Florida Man Allegedly Using Car to Ram Crowd. The right to keep and bear arms is a constitutional guarantee for law-abiding U.S. adults that should never be…

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>