Right to Carry

Gun Rights Group Demands Consequences for Florida Town That Banned Gun Sales and Possession

Reading Time: 1:53 min

Law-abiding Floridians are protected by a powerful state preemption law that prohibits local authorities from infringing on Second Amendment rights. However, this did not stop Okeechobee city officials from adopting…

View post

Hawaii Man Who Defended Family from Murderous Rampage Will Not Face Charges

Reading Time: 2:6 min

A Hawaii man who had to excruciatingly wait for prosecutors to determine that he acted in apparent self-defense will not face criminal charges. That’s the good news received by Rishard…

View post

Gun Owner Sentenced to Three Years in Prison Over Mandatory Storage Law

Reading Time: 2:10 min

The Michigan case is a tragedy — there’s no other way to describe it.  Investigators determined that five-year-old Braxton Dykstra was fatally shot by his six-year-old cousin after the children…

View post

Florida Prohibits Gun Bans Ahead of Next Major Hurricane

Reading Time: 2:9 min

As many experienced during the COVID-19 pandemic and ensuing lockdowns, far too many public officials are eager to restrict constitutional rights under the guise of “public safety.”  A recent such…

View post

Justices Grill Government Attorneys Over ‘Ghost Gun’ Rule

Reading Time: 3:29 min

It was 2022 when the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) ignited a firestorm of constitutional controversy when it changed the legal definition of a firearm without congressional…

View post

Pennsylvania Teen Allegedly Armed with Toy Gun Shot by Intended Victim with Real Gun

Reading Time: 1:55 min

A Pennsylvania teenager found out the hard way that it is a bad idea to use a toy weapon to rob a good citizen, especially when that person is armed…

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>