Right to Carry

Police: Alleged Attacker Shot Dead by South Carolina Driver

Reading Time: 2:20 min

An apparent bad choice proved fatal for an alleged attacker this week in South Carolina, and an armed citizen walked away unharmed. According to the Hardeeville Police Department, at 9:38…

View post

Setback: SCOTUS Upholds Controversial ‘Frames and Receivers’ ATF Rule on 7-2 Vote

Reading Time: 4:10 min

In a startling rebuttal to gun rights advocates, the U.S. Supreme Court on Wednesday upheld the controversial Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) rule treating unfinished frames and…

View post

Acting ATF Director Denies CNN Report on Plans to Remove 1,000 Agents

Reading Time: 2:26 min

Acting Director Kash Patel vehemently denied a news report about major changes at the Bureau of Alcohol, Tobacco, Firearms, and Explosives (ATF). CNN reported Saturday that plans are afoot to…

View post

Store Clerk Uses Gun to Fend off Alleged Attack by Customer

Reading Time: 2:22 min

Being a store clerk is a dangerous profession, so it is quite understandable that many people who are in this line of work choose to be ready to defend themselves…

View post

Gun Rights Group Blasts Push to Remove Patel as Acting ATF Head

Reading Time: 2:22 min

Changes are certainly underway at the embattled Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) after four years of controversy and overreach. While the sometimes rogue agency is getting a…

View post

Armed Good Guy Stops Vicious Knife Attack in McDonald’s Parking Lot

Reading Time: 2:23 min

Fast food parking lots at late-night hours are not the safest places to be, and it was fortunate for a New Hampshire man Tuesday night that a Good Samaritan was…

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>