Right to Carry

Wow, Trump Can No Longer Own Guns!

Reading Time: 3:48 min

In a startling development, former President Donald Trump has been stripped of his gun rights. This news comes at a time when Trump is actively campaigning for another term in…

View post

Gun Rights Group Fights ‘Red Flag’ Abuses Through Enhanced Insurance

Reading Time: 1:58 min

The U.S. Concealed Carry Association (USCAA) is a rapidly expanding gun rights group closing in on an impressive 900,000 members. As its name makes clear, its mission is to offer…

View post

Armed Rideshare Driver Rescues Woman from Nude Attacker

Reading Time: 2:7 min

Company policies undoubtedly vary, but it is entirely understandable why a rideshare driver would want to be armed. After all, hours are spent in your personal vehicle with total strangers,…

View post

Serious Questions Remain After Oklahoma Gun Dealer Accepts Guilty Plea

Reading Time: 3:33 min

The might and fury of the federal government is an impressive sight to behold. When targeting a foreign threat, it can stand up for the free world and defend the…

View post

Established Illinois Gun Shop Closing Due to ‘Political Storm’

Reading Time: 2:3 min

Illinois’ all-out war on gun rights led to next week’s shuttering of a landmark gun shop — 12 years to the day after it opened its doors. The owners of…

View post

Chicago Self-Defense Blitz Continues as Yet Another Resident Fights Off Attack

Reading Time: 1:55 min

Chicago residents are all too familiar with the criminal escapades of those who have no respect for the law. Many likely are numb to the daily and weekly grind of…

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>