Right to Carry

Supreme Court Disappoints Second Amendment Advocates by Turning Away Two Pivotal Cases

Reading Time: 2:24 min

After the monumental Bruen decision in 2022, there was renewed optimism that the U.S. Supreme Court would restore gun rights through further cases. That particular ruling indeed enhanced the right…

View post

Bill Introduced to Punish Corporations for Discrimination Against Weapons Industry

Reading Time: 3:54 min

In the past few years, several major corporations have decided to march in lockstep with the anti-Second Amendment agenda, but that may end soon. Rep. Jack Bergman (R-MI) recently introduced…

View post

Report: ATF Continues to Enforce Ban on Pistols with Stabilizer Braces

Reading Time: 2:22 min

Despite the agency’s apparent belief to the contrary, the Bureau of Alcohol, Tobacco, Firearms and Explosives (ATF) is not above the law. A surprising communication from the embattled bureau reported…

View post

Social Media Censorship of Second Amendment-Friendly Pages Faces Uncertain Future

Reading Time: 2:23 min

Meta CEO Mark Zuckerberg announced last week that the social media giant would end blatant censorship of user content. This surprising reversal was met with general enthusiasm, but questions remain.…

View post

American Gun Enthusiasts Strongly Support Mandatory Safety Education

Reading Time: 2:24 min

Anti-gun zealots seek to paint Second Amendment advocates as wild-eyed radicals who care nothing for the people’s wellbeing but are merely loose cannons roaming our society. The reality is nothing…

View post

Man Fatally Shoots Ex-Girlfriend Who Allegedly Forced Her Way into His Apartment

Reading Time: 2:23 min

  All too often, the source of a violent threat is someone known to the intended victim. And while the existence of a previous relationship is a complication, it does…

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>