iCarry

iCarry: Taurus ULTRA-LITE MODEL 85

Reading Time: 0:19 min

iCarry Gun: Taurus ULTRA-LITE MODEL 85 iCarry Ammo: Hornady Critical Defense 38 Special +P 110 gr FTX on HKS 36-A Revolver Speedloader iCarry Knife: Spyderco Delica4 Lightweight FRN iCarry Accessories:…

View post

iCarry: KAHR PM9 – 9mm with Speer Gold Dot 115g

Reading Time: 0:22 min

iCarry Gun: KAHR PM9 – 9mm with Speer Gold Dot 115g iCarry Holster: Crossbreed MiniTuck IWB iCarry Knife: ZT 350 Knife, Atwood G5 Prybaby iCarry Accessories: Saddleback Leather Bi-Fold wallet,…

View post

iCarry: M&P 9FS & M&P 9c both with Apex mods

Reading Time: 0:25 min

iCarry guns: M&P 9FS & M&P 9c both with Apex mods iCarry holsters: 9FS in Cane & Derby (AIWB) 9c in Raven Vanguard 2 iCarry magazine carrier: Cane & Derby…

View post

iCarry: Smith & Wesson M&P Shield

Reading Time: 0:21 min

Gun: Smith & Wesson M&P Shield 9mm Ammo: 115gr Speer Gold Dot Belt: Crossbreed Holster: Crossbreed Supertuck Knife: Spyderco Caly 3.5 & Kershaw Zero Tolerance (not in picture) Flashlight: Streamlight…

View post

iCarry: Springfield Armory XDM 40S&W 3.8

Reading Time: 0:24 min

iCarry Firearm: Springfield Armory XDM 40S&W 3.8″ 16+1 Capacity iCarry Ammo: Hornady Critical Defense 165g FTX iCarry Holster: Foxx Holsters “Little Foxx” Hybrid Leather/Kydex Holster iCarry Accessories: *Camillus ST6 Fixed…

View post

iCarry: Sig Sauer P938 SAS

Reading Time: 0:19 min

iCarry Gun: Sig Sauer P938 SAS with Speer gold dot 124 grain +P iCarry Watch: Tag Heuer Formula 1 chronograph iCarry Accessories: Sandy Hook memorial survival strap Oakley half jackets,…

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>