Right to Carry

Maryland Creates Gun Control Center Mirroring Federal Office

Reading Time: 1:57 min

On the heels of the White House’s so-called Office of Gun Violence Prevention, Maryland on Thursday became the first state to follow the administration’s lead. Gov. Wes Moore (D) signed…

View post

NRA Challenges New Mexico’s New Waiting Period as Unconstitutional

Reading Time: 3:39 min

The National Rifle Association (NRA) teamed up with the Mountain States Legal Foundation (MSLF) on Wednesday to challenge New Mexico’s most recent gun control push. Second Amendment supporters charge that…

View post

Police: Texas Pizza Delivery Driver Shoots Armed Customer Trying to Rob Him 

Reading Time: 2:9 min

In this age of home deliveries for everything from lawnmowers to lipstick, it is hardly surprising that there are violent criminals who prey on these hard-working citizens. In the latest…

View post

St. Louis Homeowner Shoots Alleged Home Invasion Suspect

Reading Time: 2:3 min

Examples of good guys with guns protecting themselves and their loved ones from violent criminals continue to pour in. The bad guys apparently are slow at learning hard lessons delivered…

View post

Armed Woman Shoots 13-Year-Old Girl Stealing Her Car

Reading Time: 3:24 min

As a concealed carrier, this next video represents one of my biggest fears: Click Here When I started carrying a gun for protection, it never really occurred to me that…

View post

Maine Governor’s ‘Assault Weapon’ Ban Veto Survives Override Attempt

Reading Time: 3:39 min

Despite a concerted effort by anti-Second Amendment forces in the Maine legislature, the body was unable to override Gov. Janet Mills’ (D) veto of their so-called “assault weapon” ban. Friday’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>