403Webshell
Server IP : 172.67.191.97  /  Your IP : 104.23.197.208
Web Server : Apache/2.4.63 (Ubuntu)
System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.4.5
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/idiomas/media/idiomas/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/idiomas/media/idiomas/home-effects.js
(function () {
  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', init, { once: true });
  } else {
    init();
  }

  function init() {
  const home = document.body.classList.contains('itemid-101');
  if (!home || !('IntersectionObserver' in window)) return;

  const selectors = [
    '.idioma-block',
    '.idioma-process',
    '.idioma-contact',
    '.idioma-faq-home__panel',
    '.idioma-faq-home__visual',
    '.idioma-card',
    '.idioma-feature',
    '.idioma-news',
    '.idioma-latest-card',
    '.idioma-steps li'
  ];

  const elements = Array.from(document.querySelectorAll(selectors.join(',')));
  const interactiveCards = Array.from(document.querySelectorAll([
    '.idioma-card',
    '.idioma-feature',
    '.idioma-news',
    '.idioma-latest-card',
    '.idioma-faq details',
    '.idioma-steps li'
  ].join(',')));

  elements.forEach((element, index) => {
    element.classList.add('idioma-reveal');
    element.style.setProperty('--reveal-delay', `${Math.min(index % 6, 5) * 70}ms`);
  });

  const observer = new IntersectionObserver((entries) => {
    entries.forEach((entry) => {
      if (!entry.isIntersecting) return;
      entry.target.classList.add('is-visible');
      observer.unobserve(entry.target);
    });
  }, {
    rootMargin: '0px 0px 520px 0px',
    threshold: 0.12
  });

  elements.forEach((element) => observer.observe(element));

  interactiveCards.forEach((card) => {
    card.addEventListener('pointermove', (event) => {
      const rect = card.getBoundingClientRect();
      const x = ((event.clientX - rect.left) / rect.width) * 100;
      const y = ((event.clientY - rect.top) / rect.height) * 100;
      const tiltX = ((x - 50) / 50) * 2.8;
      const tiltY = ((50 - y) / 50) * 2.8;

      card.style.setProperty('--spot-x', `${x}%`);
      card.style.setProperty('--spot-y', `${y}%`);
      card.style.setProperty('--tilt-x', `${tiltX}deg`);
      card.style.setProperty('--tilt-y', `${tiltY}deg`);
    }, { passive: true });

    card.addEventListener('pointerleave', () => {
      card.style.removeProperty('--spot-x');
      card.style.removeProperty('--spot-y');
      card.style.removeProperty('--tilt-x');
      card.style.removeProperty('--tilt-y');
    }, { passive: true });
  });

  window.setTimeout(() => {
    elements.forEach((element) => {
      element.classList.add('is-visible');
      observer.unobserve(element);
    });
  }, 1800);
  }
}());

Youez - 2016 - github.com/yon3zu
LinuXploit