Right to Carry

Major Lawsuit Filed Against Federal Prohibition of Gun Ownership by Marijuana Users

Reading Time: 1:36 min

A whopping 38 states have legalized medical marijuana, and it is widely accepted in the healthcare community as a viable treatment for several illnesses. Despite this, every marijuana user in…

View post

Washington State Lawmakers Considering Several Anti-Gun Bills

Reading Time: 1:35 min

In Washington state’s escalating Second Amendment battleground, several bills by gun rights opponents are winding their way through both the House and Senate. On Jan. 16, the House Civil Rights…

View post

Restaurant Manager Returns Fire at Alleged Tip Jar Thief

Reading Time: 1:47 min

Workers in the restaurant industry do some of the hardest jobs for the lowest pay in the U.S. It is beyond disgusting that an armed robber would not only target…

View post

Indiana Mulls Law Prohibiting Financial Firms from Tracking Gun Purchases

Reading Time: 3:15 min

Several states struck back last year at major financial institutions and their push to track gun sales. Now Indiana lawmakers are working to join the expanding backlash and protect Second…

View post

DOJ’s Uvalde Report Cites ‘Unimaginable Failure’ in Law Enforcement Response

Reading Time: 3:7 min

There are many terrible lessons to be learned from the Department of Justice’s (DOJ) findings on the Robb Elementary School shooting in Uvalde, Texas. The horrific tragedy claimed the lives…

View post

Pennsylvania Ban on Young Adults Carrying Firearms During Emergencies Unconstitutional

Reading Time: 3:3 min

The Second Amendment was clearly intended to protect the rights of law-abiding adult Americans to keep and bear arms. But certain states recently want to redefine “adult” and prohibit a…

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>