force break after / on mobile
(function () { const MOBILE_MAX = 767; let timer; function isMobile() { return window.innerWidthContinue reading
Join 2,000,000+ Professionals who use WPCode to Future-Proof Their Websites!
(function () { const MOBILE_MAX = 767; let timer; function isMobile() { return window.innerWidthContinue reading
// GSAP animation setup const cards = document.querySelectorAll(‘.list-card’); cards.forEach(card => { const hoverContent = card.querySelector(‘.list-card-hover-content’); card.addEventListener(‘mouseenter’, () => { // Make the hover content visible and animate in gsap.fromTo( hoverContent, { opacity: 0, clipPath: “polygon(0% 100%, 100% 100%, 100% 100%,…Continue reading
// Close Oxygen Pro Menu drawer ONLY for the modal trigger, then open the modal. // Robust: tries toggle button, overlay, and class removal; waits until closed; then re-fires click. (function(){ const MOBILE_BP = 991; // match your CSS breakpoint…Continue reading
document.addEventListener(‘click’, function(e){ const trigger = e.target.closest(‘.open-contact-modal > a’); if (trigger) e.preventDefault(); // prevents jump-to-top on # });Continue reading
(function () { // ———- config ———- const WRAP_SEL = “.p25-artist-list-wrapper”; const ITEM_SEL = “.p25-artist-item”; const GSAP = window.gsap; const REVEAL = { y: 10, dur: 0.35, stagger: 0.045, ease: “power2.out” }; // ———- helpers ———- const debounce = (fn,…Continue reading
document.addEventListener(“DOMContentLoaded”, function () { if (typeof gsap === “undefined”) { console.error(“GSAP is not loaded.”); return; } gsap.registerPlugin(ScrollTrigger); // ========================================================================== // Initial State — Hide Elements Before Page Load // ========================================================================== // Repeater Rows gsap.set(“.cont-repeater-row”, { autoAlpha: 0 }); // Hero…Continue reading
gsap.registerPlugin(SplitText); document.querySelectorAll(‘.fc25_hover_text_underline_container’).forEach(function (container) { container.addEventListener(‘mouseenter’, function () { const textElement = container.querySelector(‘.fc25_hover_text_underline_text’); if (!textElement) return; // Clear existing underlines container.querySelectorAll(‘.underline’).forEach(function (line) { line.remove(); }); // Split the text into characters using SplitText const splitText = new SplitText(textElement, { type: ‘chars’,…Continue reading
/* * Snippet #106 (ID 37779): People Group Profile – JS ArcGIS map for PG polygon * Type: js * Status: publish * Location: site_wide_footer * Modified: 2026-05-20 00:00:00 */ document.addEventListener(“DOMContentLoaded”, function () { var mapInitialized = false; function initMap()…Continue reading
function preventNumberScroll(e) { if (e.target.matches(‘input[type=”number”]’) || e.target.closest(‘input[type=”number”]’)) { e.preventDefault(); } } document.addEventListener(‘wheel’, preventNumberScroll, { passive: false, capture: true }); document.addEventListener(‘mousewheel’, preventNumberScroll, { passive: false, capture: true }); document.addEventListener(‘DOMMouseScroll’, preventNumberScroll, { passive: false, capture: true });Continue reading
import { BrowserRouter, Routes, Route, Link } from “react-router-dom”; import “./styles.css”; function Header() { return ( SH Signature Hôtelière Accueil Particuliers Professionnels ); } function Home() { return ( Literie hôtelière haut de gamme Signature Hôtelière vous accompagne dans vos…Continue reading