Unilift System
Universale, Modulare & Robusto
#layer-30s.is-visible { display: block; }
document.addEventListener(‘DOMContentLoaded’, function () {
setTimeout(function () {
var el = document.getElementById(‘layer-30s’);
if (el) el.classList.add(‘is-visible’);
}, 92100);
});
/* Hauteur via padding + base */
/*
#LayerVideo {
padding-top: 320px;
padding-bottom: 320px;
position: relative;
}
*/
#LayerVideo {
min-height: 100vh;
display: flex;
flex-direction: column;
}
/* Caché mais conserve la hauteur (pas de display:none) */
#LayerVideo.is-prehidden {
display: block !important;
visibility: hidden;
opacity: 0;
/*pointer-events: none;*/
}
/* Affiché */
#LayerVideo.is-visible {
visibility: visible;
opacity: 1;
/*pointer-events: auto;*/
transition: opacity .25s ease;
}
/* États lecture (contrôle du bouton) */
#LayerVideo.is-playing .layervideo-btn { opacity: 0; visibility: hidden; }
#LayerVideo.is-paused .layervideo-btn,
#LayerVideo.is-ended .layervideo-btn { opacity: 1; visibility: visible; }
(function () {
// Timecode d’arrêt en secondes (1:28.50)
var STOP_AT = 92.1;
function findBackgroundVideo(root) {
if (!root) return null;
var v = root.querySelector(‘video’);
if (v) return v;
v = root.querySelector(‘.fusion-background-video video, .video-bg video, .fusion-video-bg’);
if (v && v.tagName && v.tagName.toLowerCase() === ‘video’) return v;
return null;
}
function initLayerVideo() {
var container = document.getElementById(‘LayerVideo’);
if (!container) return;
// S’assurer que le conteneur réserve sa hauteur avant affichage
if (!container.classList.contains(‘is-prehidden’) && !container.classList.contains(‘is-visible’)) {
container.classList.add(‘is-prehidden’);
}
var video = findBackgroundVideo(container);
var btn = container.querySelector(‘#LayerVideoPlay’);
// Si la vidéo n’est pas encore dans le DOM (lazy Avada), réessaie
if (!video) {
setTimeout(initLayerVideo, 400);
return;
}
// Sécurise les attributs pour lecture fiable (notamment mobile)
video.setAttribute(‘playsinline’, ”);
video.setAttribute(‘webkit-playsinline’, ”);
if (!video.hasAttribute(‘muted’)) {
video.muted = true;
video.setAttribute(‘muted’, ”);
}
// Empêche un éventuel loop d’Avada au-delà du timecode
try { video.loop = false; } catch(e) {}
// Gestion des états d’UI
function setState(state) {
container.classList.remove(‘is-playing’,’is-paused’,’is-ended’);
container.classList.add(state);
}
function showLayer() {
container.classList.remove(‘is-prehidden’);
container.classList.add(‘is-visible’);
}
// Coupe à STOP_AT proprement
function clampAtStop() {
// marge pour compenser la granularité ‘timeupdate’ (Safari notamment)
var epsilon = 0.05;
if (video.currentTime >= STOP_AT – epsilon) {
// Fige exactement au frame cible
try { video.currentTime = STOP_AT; } catch(e) {}
// Stoppe et marque comme terminé
try { video.pause(); } catch(e) {}
setState(‘is-ended’);
}
}
// Événements vidéo
video.addEventListener(‘timeupdate’, clampAtStop);
// Sécurité supplémentaire si ‘timeupdate’ est peu fréquent
var clampTimer = setInterval(clampAtStop, 100);
video.addEventListener(‘playing’, function(){ setState(‘is-playing’); });
video.addEventListener(‘pause’, function(){
// Si on a atteint le timecode d’arrêt, considérer comme terminé
if (video.currentTime >= STOP_AT) {
setState(‘is-ended’);
} else {
setState(‘is-paused’);
}
});
video.addEventListener(‘ended’, function(){
// Certains navigateurs déclenchent ‘ended’ uniquement à fin réelle.
// On force l’arrêt à STOP_AT si la durée réelle STOP_AT) {
try { video.currentTime = STOP_AT; } catch(e) {}
}
try { video.pause(); } catch(e) {}
setState(‘is-ended’);
});
// Bouton relance depuis 0 mais coupe à STOP_AT
if (btn) {
btn.addEventListener(‘click’, function(){
try {
video.currentTime = 0;
var p = video.play();
if (p && typeof p.catch === ‘function’) {
p.catch(function(){
video.muted = true;
video.setAttribute(‘muted’,”);
video.setAttribute(‘playsinline’,”);
video.play().catch(function(){});
});
}
} catch(e) {}
});
}
// Afficher le layer quand la vidéo est prête (avec fallback)
var onReady = function () { showLayer(); cleanupReady(); };
function cleanupReady() {
video.removeEventListener(‘canplay’, onReady);
video.removeEventListener(‘loadeddata’, onReady);
}
video.addEventListener(‘canplay’, onReady);
video.addEventListener(‘loadeddata’, onReady);
setTimeout(showLayer, 3000); // secours si l’événement ne vient pas
// État initial selon la vidéo
if (video.ended || video.currentTime >= STOP_AT) {
try { video.currentTime = STOP_AT; } catch(e) {}
try { video.pause(); } catch(e) {}
setState(‘is-ended’);
} else if (video.paused) {
setState(‘is-paused’);
} else {
setState(‘is-playing’);
}
// Nettoyage si jamais le container est démonté
document.addEventListener(‘visibilitychange’, function(){
if (document.hidden && clampTimer) {
clearInterval(clampTimer);
clampTimer = null;
}
});
}
document.addEventListener(‘DOMContentLoaded’, initLayerVideo);
})();
/* Container existant : plein écran, fond bleu au chargement */
#LayerVideo{
position:relative;
min-height:100vh;
background:#163454 !important;
overflow:hidden;
}
/* Wrapper masqué (on applique le mask sur ce wrapper, pas sur
/* Masque SVG centré */
mask-image:url(“https://easydoorsystem.com/assets/siteuploads/2025/10/gear-eds.svg”);
mask-repeat:no-repeat;
mask-position:center center;
mask-size:0 0;
-webkit-mask-image:url(“https://easydoorsystem.com/assets/siteuploads/2025/10/gear-eds.svg”);
-webkit-mask-repeat:no-repeat;
-webkit-mask-position:center center;
-webkit-mask-size:0 0;
will-change:opacity,mask-size,-webkit-mask-size;
}
/* La vidéo prend 100% du wrapper, en cover */
#LayerVideo .lv-wrap > video{
position:absolute;
inset:0;
display:block;
width:100% !important;
height:100% !important;
object-fit:cover;
max-width:none !important;
max-height:none !important;
}
/* Déclencheur global (ajouté sur #LayerVideo) */
#LayerVideo.lv-animating .lv-wrap{
opacity:1;
animation:lvRevealMask 4s cubic-bezier(.2,.7,.2,1) forwards;
}
/* Animation : part de 0, couvre tout (vmax garantit LxH) */
@keyframes lvRevealMask{
0% { mask-size:0vmax; -webkit-mask-size:0vmax; }
60% { mask-size:130vmax; -webkit-mask-size:130vmax; }
100% { mask-size:200vmax; -webkit-mask-size:200vmax; }
}
/* Accessibilité */
@media (prefers-reduced-motion:reduce){
#LayerVideo.lv-animating .lv-wrap{
animation:none !important;
mask-size:200vmax !important;
-webkit-mask-size:200vmax !important;
opacity:1 !important;
}
}
/* Loader 0→100% au-dessus du fond bleu (derrière la vidéo révélée) */
#LayerVideo .lv-loader{
position:absolute;
inset:0;
display:grid;
place-items:center;
background:#163454;
color:#d0d6dd;
z-index:5;
transition:opacity .35s ease,visibility .35s ease;
}
#LayerVideo .lv-loader__inner{
font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
font-weight:400;
font-size: 18px;
letter-spacing:.04em;
text-transform:uppercase;
text-align:center;
line-height:1;
}
#LayerVideo .lv-loader__label{
display:block;
font-size:clamp(12px,1.4vw,16px);
opacity:.85;
margin-bottom:.6em;
}
#LayerVideo .lv-loader__percent{
display:block;
font-size:clamp(32px,8vw,96px);
}
#LayerVideo.lv-animating .lv-loader{
opacity:0; visibility:hidden;
}
/**
* Loader 0→100 % puis révélation vidéo via masque SVG appliqué à un WRAPPER,
* pour éviter les bugs de sizing de
// Crée/insère le loader si absent
var loader = container.querySelector(‘.lv-loader’);
if(!loader){
loader = document.createElement(‘div’);
loader.className = ‘lv-loader’;
loader.innerHTML = ‘
‘;
container.appendChild(loader);
}
var percentEl = loader.querySelector(‘.lv-loader__percent’);
var supportsMask = (window.CSS && (CSS.supports(‘mask-image’,’url(#)’) || CSS.supports(‘-webkit-mask-image’,’url(#)’)));
var tries=0, maxTries=50; // ~5s pour trouver la vidéo si lazy Avada
var started=false, armed=false, intervalId=null, startTs=null;
var maxWaitMs=15000; // filet de sécu
function findAndWrapVideo(){
var video = container.querySelector(‘video’);
if(!video){
if(tries++=99) return true;
if(video.readyState>=4) return true; // HAVE_ENOUGH_DATA
return false;
}
function setupLoaderAndStart(video, wrap){
if(started) return;
started = true; armed = true; startTs = Date.now();
var simPct = 0;
function tick(){
if(!armed) return clearInterval(intervalId);
var realPct = bufferedPercent(video);
var showPct;
if(realPct===null){
var elapsed = Date.now()-startTs;
var target = Math.min(95, Math.round((elapsed/8000)*95)); // 0→95% ~8s
simPct = Math.max(simPct, target);
showPct = simPct;
}else{
simPct = Math.max(simPct, realPct);
showPct = simPct;
}
percentEl.textContent = showPct+’%’;
var timeoutReached = (Date.now()-startTs)>maxWaitMs;
if(isFullyBuffered(video) || timeoutReached){
percentEl.textContent = ‘100%’;
armed = false; clearInterval(intervalId);
// Start anim (one-shot)
requestAnimationFrame(function(){
container.classList.add(‘lv-animating’);
});
}
}
intervalId = setInterval(tick,120);
video.addEventListener(‘progress’, tick);
video.addEventListener(‘loadedmetadata’, tick);
video.addEventListener(‘canplaythrough’, tick);
// Nettoyage: retirer le mask du wrapper en fin d’animation
wrap.addEventListener(‘animationend’, function onEnd(){
wrap.removeEventListener(‘animationend’, onEnd);
try{
wrap.style.maskImage=’none’;
wrap.style.webkitMaskImage=’none’;
}catch(e){}
// Le loader est déjà masqué via .lv-animating
});
// Fallback si mask non supporté : le wrapper sert juste de conteneur, on fait un fade-in (opacity gérée)
if(!supportsMask){
setTimeout(function(){ wrap.style.opacity=’1′; }, 50);
}
}
if(document.readyState===’complete’ || document.readyState===’interactive’){
setTimeout(findAndWrapVideo,0);
}else{
document.addEventListener(‘DOMContentLoaded’, findAndWrapVideo);
}
})();
Key Punti di forza

Universale
Compatibile con tutte le porte sezionali fino a 334 kg, senza modifiche strutturali. Il sistema MTB/MTB-LB si adatta alle dimensioni industriali (6x5m) come a quelle residenziali (3,5×3,5m), eliminando i vincoli dell’utilizzo delle molle . Una soluzione che riduce il vostro magazzino a pochi componenti indipendentemente dall’istallazione che bisogna effettuare, limitando sia le immobilizzazioni che i costi di produzione e di trasporto.
Modulare
Architettura scalabile con 3 configurazioni secondo le vostre esigenze da 100 a 200 Nm di coppia; personalizzazione immediata senza re-engineering; sistema registrabile in larghezza senza effettuare modifiche. Migliore soluzione per le riparazioni sul posto perchè è possibile adattarlo alle esigenze della porta da sistemare effettuando la riparazione in un unico intervento. Ogni componente- motoriduttore, paracadute, quadro di comando-si integra o si sostituisce in modo indipendente.
Robusto
Testato per 100.000 cicli, costruito secondo EN 13241, 12604, 12453 in conformità al CPR 305/2011 ed alle direttive di prodotto ( vedi manuale ) Sistema brevettato senza molle di bilanciamento: zero punti critici di guasto meccanico. Paracadute con coppia di arresto fino a 1.444 Nm, Progettato per -10°C a +40°C, grado IP44. Il sistema richiede manutenzioni minime che riducono i vostri costi operativi
Tecnologia Brevettata
Innovazione protetta da 2 brevetti
Il sistema innovativo di automazione per porte sezionali è stato progettato e costruito in conformità al CPR 305/2011alla Direttiva Macchine 2006/42/CE, e le direttive 2006/42/CE, 2014/30/UE, 2014/35/UE, RED 2014/53/UE, 2011/65/UE seguendo le indicazioni delle norme EN 13241, EN 12604 ed EN 12453

Tecnologia e Vantaggi del Design Circolare
Conformità ESG ed eco-design
Sistema universale
Albero di trasmissione basato esclusivamente sul peso della porta, regolazione della larghezza fino a 50 cm
→ Progettazione semplificata senza calcoli specifici.
Modularità
Struttura standardizzata con profilo dell’albero predisposto per accessori
→ Installazione diretta senza lavorazioni meccaniche.
Vantaggi Operativi
Installazione “plug-and-play”
Ottimizzazione del time-to-value
Installazione semplificata: Ingombro laterale ridotto a 150 mm (guide incluse) ed eliminazione delle molle
→ Assemblaggio accelerato e ottimizzazione dello spazio.
Precablaggio configurabile
Unità di controllo e motore forniti pre-cablati con lunghezze adattabili
→ Messa in funzione immediata.
Costi di manutenzione ridotti (TCO ottimizzato)
Manutenzione minima: Eliminazione delle molle di compensazione e dei cavi di sollevamento
→ Riduzione degli interventi periodici e maggiore affidabilità.
Sicurezza integrata
Manovra di emergenza: Sistema meccanico a catena che garantisce il funzionamento anche in caso di interruzione di corrente.


Vantaggi Logistici
Ottimizzazione del magazzino (riduzione del TCO)
Gamma semplificata: 2-3 kit coprono l’intera gamma di porte
→ logistica semplificata e flusso di cassa ottimizzato
Componenti standardizzati
Supporti universali per tutte le configurazioni
→ Facile gestione dei componenti e riduzione degli errori
Favorevole alle esportazioni
Dimensioni ottimizzate: Prodotti progettati fino a 3 metri per la spedizione internazionale.
Riduzione dell’impronta di carbonio: Ottimizzazione dei trasporti.
Easy Door System
L’esperienza dietro Unilift System
Noi siamo un’azienda specializzata nella progettazione e nell’assemblaggio di kit per la motorizzazione di porte sezionali industriali.
Assembliamo i nostri kit brevettati a partire da componenti certificati CE, nella nostra fabbrica Questi kit sono progettati per facilitare l’installazione, ridurre la manutenzione e contenere i costi di stoccaggio. La loro larghezza regolabile permette l’adattamento a diversi formati di porte industriali.
Siamo in grado di operare su tutto il territorio nazionale ed internazionale. I nostri prodotti sono certificati e standardizzati per facilitare la distribuzione e l’installazione in tutto il mondo. Collaboriamo con partner logistici e tecnici quando necessario, garantendo così tempi rapidi e un supporto operativo diretto ai nostri clienti, ovunque si trovino.
La nostra organizzazione copre ricerca e sviluppo, produzione, controllo qualità, marketing, vendite e amministrazione. Il nostro team esperto interviene su tutto il processo, dalla progettazione al supporto tecnico.
