/*
(function () {
  const root = document.documentElement;
  const raw = getComputedStyle(root).getPropertyValue('--nav-h').trim();
  const NAV_H = parseFloat(raw || '72');

  function scrollToHash(id, smooth = true) {
    const el = document.querySelector(id);
    if (!el) return;
    const y = el.getBoundingClientRect().top + window.scrollY - NAV_H - 16;
    console.log("Scrolling to", id, "Y=", y);
    window.scrollTo({ top: y, behavior: smooth ? 'smooth' : 'auto' });
  }

  // 1. Intercept in-page anchor clicks
  document.querySelectorAll('a[href*="#"]').forEach(a => {
    a.addEventListener('click', e => {
      const href = a.getAttribute('href');
      if (!href) return;
      const id = href.includes('#') ? href.substring(href.indexOf('#')) : null;
      if (!id || id === '#') return;
      if (!document.querySelector(id)) return;

      e.preventDefault();
      scrollToHash(id, true);
      history.pushState(null, '', id);
    });
  });

  // 2. Handle page load with hash (from external page or refresh)
  window.addEventListener('load', () => {
    if (location.hash && document.querySelector(location.hash)) {
      // Reset scroll to top first so browser’s auto-scroll doesn’t interfere
      window.scrollTo(0, 0);
      setTimeout(() => scrollToHash(location.hash, false), 50);
    }
  });
})();

*/

Idėjos be veiksmų yra tiesiog svajonės

Pradėkime dabar

Lyderiai veikia, o kiti laukia. Parašyk mums!

Mums svarbu ne kiekis, dirbame ten, kur galime sukurti realų poveikį.
+370 603 25 640
hello@contento.lt
:root {
    --cursor-flashlight-speed: .2s; /* Adjust the cursor effect speed here */
    --cursor-flashlight-timing: linear;
}

/* ! Do Not Edit Below! */

:root {
    --mouse-x: unset;
    --mouse-y: unset;
    transition: --mouse-x var(--cursor-flashlight-speed) var(--cursor-flashlight-timing),
                --mouse-y var(--cursor-flashlight-speed) var(--cursor-flashlight-timing);
}


@property --mouse-x {
    syntax: "<percentage> | <length>";
    inherits: true;
    initial-value: 0px;
}

@property --mouse-y {
    syntax: "<percentage> | <length>";
    inherits: true;
    initial-value: 0px;
}

.cursor-flashlight {
    position: relative;
    overflow: hidden;
}

.cursor-flashlight:before {
    mask: radial-gradient( circle at var(--mouse-x) var(--mouse-y), transparent 20px, currentColor 200px );
    -webkit-mask: radial-gradient( circle at var(--mouse-x) var(--mouse-y), transparent 20px, currentColor 200px );
}

.cursor-flashlight:after {
    content:"";
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    bottom:0;
    right:0;
    z-index:-1;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
document.addEventListener('DOMContentLoaded', function () {
    let cursor;
    
    if (document.querySelectorAll('.cursor-flashlight')) {
        cursor = document.querySelector('.cursor-flashlight');
    }
    
    cursor.addEventListener('mousemove', (event) => {
        const rect = cursor.getBoundingClientRect();
        const mouseX = ((event.clientX - rect.left) / rect.width) * 100 + '%';
        const mouseY = ((event.clientY - rect.top) / rect.height) * 100 + '%';
    
        document.documentElement.style.setProperty('--mouse-x', mouseX);
        document.documentElement.style.setProperty('--mouse-y', mouseY);
    });
});