Right to Carry

Bump Stock Bans Remain in Several States Despite Supreme Court Ruling

Reading Time: 1:52 min

With the dust now settling on the U.S. Supreme Court’s decision striking down the federal ban on bump stocks, many would assume that the ruling by the highest court in…

View post

Lawsuit Filed Against Weapons Ban on Postal Property

Reading Time: 1:55 min

The federal ban on carrying firearms at U.S. Post Offices and postal properties nationwide is being strongly challenged. The Second Amendment Foundation, Firearms Policy Coalition, and two Texas citizens filed…

View post

Alleged Home Intruder Killed After Cornering Family in Bedroom

Reading Time: 2:6 min

The Second Amendment affords all law-abiding Americans the right to armed self-defense. It is the ultimate equal opportunity to protect oneself, loved ones and property from wrongdoers who prey on…

View post

Senate Attempt to Restore Federal Bump Stock Ban Shot Down

Reading Time: 1:52 min

Gun rights opponents resorted to a political stunt in the Senate this week after the U.S. Supreme Court struck down the ATF ban on bump stocks.  The attempt at a…

View post

Self-Defense: Armed Colorado Homeowner Stops Attack by Intruder

Reading Time: 1:57 min

A Colorado resident found himself in a frightening situation early Sunday morning as a violent intruder allegedly attacked him in his home. Once again, the alarming incident proved the necessity…

View post

BLM Restricts Recreational Target Shooting in the Sonoran Desert National Monument

Reading Time: 1:56 min

Where the sport shooting public could enjoy target practice in Arizona’s Sonoran Desert on 435,700 acres, that freedom is now restricted to merely 5,295 acres. All but 1.1% of the…

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>