Right to Carry

Ohio Lawmakers Take Strong Action to Safeguard Second Amendment Rights

Reading Time: 2:24 min

While several states shamefully fell to the whims of radical anti-gunners, Ohio stood tall and expanded Second Amendment rights with two strong new laws. House Bill 452 and Senate Bill…

View post

Embattled New Mexico Governor Drops War on Second Amendment—For Now

Reading Time: 2:24 min

For all the states such as California, New York, and Illinois that stand out in the race to the bottom in defending Second Amendment rights, there are those wannabes who…

View post

Controversial White House Gun Violence Prevention Office Goes Dark

Reading Time: 2:28 min

When the torch passes from one presidential administration to another, there are always changes, and Second Amendment enthusiasts had at least one piece of good news after Inauguration Day. The…

View post

Armed Houston Man Protects Pregnant Girlfriend from Alleged Road Rager

Reading Time: 2:28 min

A young Texas family is safe today after encountering a frightening road rage incident on the Houston interstate Friday night. The potentially deadly encounter unfolded around 9:30 p.m. The Houston…

View post

NSSF Supports Protecting Access for Hunters and Anglers Act in Congress

Reading Time: 2:29 min

Outdoor enthusiasts are under attack by opponents who wish to ban traditional lead ammunition and tackle on the dubious grounds that they pose a threat to wildlife and fishing stocks.…

View post

Maryland Legislators Use SCOTUS Action as Excuse for More Draconian Gun Laws

Reading Time: 2:27 min

U.S. Supreme Court actions—and inactions—have consequences for law-abiding Americans, and one recent inaction emboldened a pair of Maryland lawmakers to go all-out against the Second Amendment. Sen. Chris Van Hollen…

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>