Right to Carry

SCOTUS Declines to Hear Arguments in Critical Second Amendment Cases

Reading Time: 3:31 min

The U.S. Supreme Court continued its recent confounding history of punting important Second Amendment-related cases back to lower court rulings. Rulings that are often contradictory. On Monday, justices declined to…

View post

Hero Mom Shoots Daughter’s Alleged Attacker Multiple Times

Reading Time: 2:27 min

A horrifying act of violence against a minor in an Indiana hotel room was stopped by an armed mother, according to court documents and law enforcement officials. The disturbing scenario…

View post

Washington State Sheriff Rejects Controversial Permit-to-Purchase Scheme

Reading Time: 3:31 min

In a bold act of constitutional defiance, Washington State Sheriff Rejects Controversial Permit-to-Purchase Scheme and reaffirms his commitment to protecting the Second Amendment. Pierce County Sheriff Keith Swank made it…

View post

Georgia Supreme Court Upholds Ban on Young Adults Carrying Firearms in Public

Reading Time: 4:26 min

Georgia Supreme Court upholds ban on young adults carrying firearms in public. Even some of the most Second Amendment-friendly states in the country can pass laws that raise serious constitutional…

View post

ATF Decision Allows Carry Permit Holders to Bypass Redundant Background Checks

Reading Time: 3:38 min

In a major win for gun owners and Second Amendment advocates, ATF Decision Allows Carry Permit Holders to Bypass Redundant Background Checks was officially announced this week, signaling a long-overdue…

View post

Armed Good Guys Halt Alleged Sports Bar Attacker

Reading Time: 3:15 min

In a tense and dangerous situation, Armed Good Guys Halt Alleged Sports Bar Attacker after an intoxicated patron returned with a weapon and opened fire on the establishment. Late Tuesday…

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>