Right to Carry

Domestic Abuse Survivor Leads Lawsuit Against Maine’s New 72-Hour Waiting Period

Reading Time: 4:4 min

In a perfect world, the strong would protect the weak, violence would be unheard of and all would be peace and harmony. That is, of course, wishful thinking. All too…

View post

Democrat Senator Claims Supreme Court Created Ability to Own Guns in 2008

Reading Time: 8:24 min

Today, we’re diving into a Senate Judiciary Committee hearing where some of our elected officials talk about firearms in ways that make you wonder if they’ve ever actually handled one.…

View post

Florida Burglary Suspect Shot and Killed by Homeowner’s Son

Reading Time: 2:22 min

A man described by law enforcement as a “dangerous and brazen individual” is no more after an alleged attempted burglary in Florida early Sunday morning. The Hillsborough County residence was…

View post

Hammer-Wielding Road Rager Shot by Handgun-Wielding Motorcyclist in Self-Defense

Reading Time: 2:19 min

It is all too common for disturbed drivers to act out aggressively against others they believe wronged them on the nation’s highways. But shouted curses and middle fingers may swiftly…

View post

Florida Burglary Suspect Shot and Killed by Homeowner’s Son

Reading Time: 2:22 min

A man described by law enforcement as a “dangerous and brazen individual” is no more after an alleged attempted burglary in Florida early Sunday morning. The Hillsborough County residence was…

View post

Washington State Background Check System Stays Down

Reading Time: 2:30 min

Law-abiding residents of Washington State intent on exercising their Second Amendment rights by purchasing a firearm remain out of luck as the system has been shut down for 12 days…

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>