Right to Carry

South Carolina Bill Aims to Stop Banks from Tracking Firearm Purchases

Reading Time: 2:24 min

The insidious practice of allowing powerful Wall Street banks to track firearm purchases by law-abiding Americans will not be established in South Carolina if certain lawmakers get their way. House…

View post

Report: Justice Department Weighing Merger of ATF and DEA

Reading Time: 2:23 min

Another round of rumors is swirling around the controversial Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF). According to a Reuters report, the Department of Justice (DOJ) is considering merging…

View post

Alleged Car Burglar Tried to Fool Police After Being Shot Twice by Owner

Reading Time: 2:21 min

Despite the best efforts of anti-gun forces, the right to keep and bear arms is exercised every day by millions of law-abiding Americans. They know they may be thrust into…

View post

NRA: Second Amendment Rights Poised for ‘Monumental” Victory in Congress

Reading Time: 4:1 min

Two significant bills that would profoundly affect gun rights in the United States advanced in Congress last week, and the National Rifle Association (NRA) strongly supports their passage. John Commerford…

View post

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
<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>