Right to Carry

Gun Rights Groups Challenge Colorado Law Banning Homemade Firearms

Reading Time: 1:34 min

The strong traditions of personal firearms are interwoven with American culture, and part of that legacy is hobbyists constructing guns in their homes. Craftsmen have proudly assembled their own weapons…

View post

New Year Rings in New Firearm Restrictions in Several States

Reading Time: 3:16 min

Jan. 1 is a traditional start date for new laws, and the most recent turning of the calendar also heralded unwelcome new restrictions for lawful gun owners. For example, Washington…

View post

New York Bans Hunting Contests Targeting Coyotes and Crows

Reading Time: 3:1 min

New Yorkers don’t already have enough issues on the plates, so now the state is out looking for more. Last week, New York Gov. Kathy Hochul (D) signed a bill…

View post

Elderly Florida Man Shoots Intruder Who Attacked Wife

Reading Time: 1:33 min

A 76-year-old Florida man encountered a frightening situation last week that no one should ever face. The Redington Beach resident, John Treadwell, was forced to shoot an alleged intruder after…

View post

Sweeping California Gun Prohibition Allowed to Take Effect

Reading Time: 1:51 min

At the 11th hour a federal appeals court on Saturday halted a temporary injunction on a California law that would prohibit legal gun owners from carrying their firearms in most…

View post

Florida Homeowner Stops Alleged Teenage Home Intruder

Reading Time: 1:35 min

The message must spread eventually that it is a terrible idea to invade a person’s home. Tens of millions of Americans are legally armed and ready to defend their lives…

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>