News

State Proposals to Mandate Insurance for Gun Owners Falter

Reading Time: 0:54 min

Plans to mandate liability coverage for U.S. gun owners after last year’s school shooting in Connecticut have languished as opponents attack the proposals by comparing them to President Barack Obama’s…

View post

Cop fires at minivan full of kids after traffic-stop scuffle in New Mexico

Reading Time: 1:4 min

I keep watching this video and I can’t figure out for the life of me why things went down the way they did. Why stop, drive off, then stop again…

View post

Cancer Patient Kills Alleged Intruder Looking for Painkillers

Reading Time: 1:16 min

One man is dead, three are arrested and a cancer patient is shaken up after two men broke into his Pine County farmhouse around 2:30 a.m. Thursday. Police say the…

View post

The Five Worst Clips From Piers Morgan’s Gun Control Crusade

Reading Time: 1:2 min

Thanks to The News Republic here are some of the most egregious moments from his past year of tabloidism as activism:

View post

Students fend off intruder with legal gun; face potential expulsion for school violation

Reading Time: 1:37 min

Roommates Erik Fagan and Dan McIntosh, both seniors, may be expelled this week after they used McIntosh’s pistol to repel a late-night trespasser from the doorway of their 207 E.…

View post

Dad Calls Cops on Son to Teach Him a Lesson, Cops Shoot Son Dead

Reading Time: 0:48 min

A father’s attempt to teach his son a lesson for taking his truck without permission ended in tragedy Monday after a local police officer shot the teenager dead. James Comstock…

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>