Guns

USAF Clears Sig Sauer M18 Pistols for Use After Successful Inspections

Reading Time: 1:53 min

There is good news for embattled Sig Sauer as the Air Force Global Strike Command (AFGSC) reinstated the SIG M18 handgun for use last week. The military branch inspected all…

View post

NC Lawmakers Postpone Vote to Override Veto of Constitutional Carry Bill

Reading Time: 1:54 min

North Carolina’s quest to become the 30th constitutional carry state is on hold for the moment as lawmakers rescheduled a critical vote. This week’s scheduled veto override vote of Senate…

View post

NRA Sues Florida Over 3-Day Waiting Period for Firearm Purchases

Reading Time: 1:50 min

When examining states and their relationships with the Second Amendment, Florida has an unusual status.  On the one hand, Sunshine State leaders are generally strong gun rights supporters who say…

View post

2 Armed Robbers Posing As Police Killed By Home Owner With A Gun

Reading Time: 2:24 min

Two armed robbers posing as police officers were shot and killed by a homeowner during a late-night attempted home invasion in Houston, authorities confirmed. The suspects, wearing bulletproof vests and…

View post

New Mexico to Appeal Ruling Against 7-Day Waiting Period 

Reading Time: 1:53 min

New Mexico’s anti-gun regime will ask a federal appeals court to take another look at its pause on the state’s controversial waiting period to purchase a weapon lawfully. This is…

View post

Court Rules Against Tennessee Ban on Carrying Firearms in State Parks

Reading Time: 1:55 min

Outdoor enthusiasts in the Volunteer State have reason to cheer today with the welcome news of a Friday court ruling.  According to a three-judge panel of the Gibson County Chancery…

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>