Right to Carry

Illinois Lawmakers Scheme to Reach into Pockets of Gun Owners

Reading Time: 2:28 min

No right-thinking person would suggest that the state levy a tax on freedom of speech or set up a collection box outside their house of worship.  But for many anti-gunners,…

View post

Vermont Government Promises Veto of Guns in Bars Bill if it Reaches His Desk

Reading Time: 2:24 min

While some political leaders like to play both sides of any issue, one this week planted his flag firmly in support of the Second Amendment. Vermont Gov. Phil Scott (R)…

View post

Silencer Deregulation Added to House Budget Bill

Reading Time: 2:35 min

Gun rights advocates have long argued that silencers should not be subject to special taxes and federal regulations. On Thursday morning, this wish took a significant step toward becoming reality…

View post

Santa Monica Robbery: Store Owner Fatally Shoots Armed Suspect in Self-Defense

Reading Time: 3:29 min

Shooter Identified as Law-Abiding Business Owner Defending Himself In a high-profile case of legal self-defense, a Santa Monica robbery turned deadly when a store owner shot and killed an alleged…

View post

Florida Restaurant Customer Uses Legal Firearm to Protect Himself from Alleged Attack

Reading Time: 2:23 min

Florida Restaurant Customer Uses Legal Firearm to Protect Himself from Alleged Attack. The Founding Fathers added the Second Amendment to the Bill of Rights for many reasons, one of the…

View post

Preschool Security Guard Shoots Alleged Attacker in Self-Defense

Reading Time: 2:30 min

It is a sorry state of affairs when licensed and armed security guards are necessary at a preschool, but that’s where we are. Nothing can be gained by burying one’s…

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>