Widget:Teste

De Wiki Gla
Revisão de 06h55min de 18 de agosto de 2025 por Gurren1 (discussão | contribs)
Ir para navegação Ir para pesquisar

<script>

   (function () {
       const buttons = document.querySelectorAll('.tab-btn');
       const contents = document.querySelectorAll('.tab-content');
       const cuadrosContainer = document.querySelector('.cuadros-container');
       const descripcionContainer = document.querySelector('.descripcion-container');
       const videoContainer = document.querySelector('.video-container');
       const cuadros = [...cuadrosContainer.querySelectorAll('.cuadro')];
       const mwBody = document.querySelector('.personaje-box');
       let totalVideos = 0;
       let loadedVideos = 0;
       const videosCache = {};
       let autoplayEnabled = false;
       activarFlechasCarrusel();
       const placeholder = document.createElement('div');
       placeholder.className = 'video-placeholder';
       placeholder.innerHTML = `<img src="/images/d/d5/Icon_gla.png" alt="Cargando...">`;
       videoContainer.appendChild(placeholder);
       function removePlaceholderSmooth() {
           placeholder.classList.add('fade-out');
           placeholder.addEventListener('transitionend', () => placeholder.remove(), { once: true });
       }
       function checkAllVideosLoaded() {
           if (loadedVideos === totalVideos && totalVideos > 0) {
               autoplayEnabled = true;
           }
       }
       // Pré-carregar todos os vídeos
       cuadros.forEach(div => {
           const videoSrc = div.dataset.video;
           const index = div.dataset.index;
           if (videoSrc && videoSrc.trim() !==  && !videosCache[index]) {
               totalVideos++;
               const videoEl = document.createElement('video');
               videoEl.setAttribute('width', '100%');
               videoEl.setAttribute('controls', );
               videoEl.setAttribute('preload', 'auto');
               videoEl.setAttribute('playsinline', );
               videoEl.dataset.index = index;
               videoEl.style.display = 'none';
               const source = document.createElement('source');
               source.src = videoSrc;
               source.type = 'video/webm';
               videoEl.appendChild(source);
               // Quando o vídeo já estiver pronto, remover placeholder
               videoEl.addEventListener('canplay', () => {
                   loadedVideos++;
                   if (loadedVideos === 1) {
                       videoEl.pause();
                       videoEl.currentTime = 0;
                   }
                   const activeCuadro = document.querySelector('.cuadro.activo');
                   if (activeCuadro && activeCuadro.dataset.index === videoEl.dataset.index) {
                       setTimeout(removePlaceholderSmooth, 200);
                   }
                   checkAllVideosLoaded();
               });


               videoEl.addEventListener('error', () => {
                   loadedVideos++;
                   removePlaceholderSmooth();
                   checkAllVideosLoaded();
               });
               videoContainer.appendChild(videoEl);
               videosCache[index] = videoEl;
           }
       });
       // Se não houver vídeos, ocultar imediatamente
       if (totalVideos === 0) {
           placeholder.remove();
       }
       buttons.forEach(btn => btn.addEventListener('click', () => {
           buttons.forEach(b => b.classList.remove('active'));
           contents.forEach(c => c.classList.remove('active'));
           btn.classList.add('active');
           document.getElementById(btn.dataset.tab).classList.add('active');
       }));
       cuadros.forEach(div => {
           const nome = div.dataset.nome;
           const desc = div.dataset.desc.replace(/(.*?)/g, '$1');
           const atr = div.dataset.atr;
           const index = div.dataset.index;
           const hasVideo = div.dataset.video && div.dataset.video.trim() !== ;
           div.title = nome;
           div.addEventListener('click', () => {
               if (!autoplayEnabled && loadedVideos > 0) {
                   autoplayEnabled = true;
               }
               descripcionContainer.innerHTML = `

${nome}

               ${generarHTMLAtributos(atr)}
${desc}
           `;
               Object.values(videosCache).forEach(v => {
                   v.pause();
                   v.style.display = 'none';
               });
               // Gerenciar habilidades com/sem vídeo
               if (hasVideo) {
                   const videoEl = videosCache[index];
                   if (videoEl) {
                       videoContainer.style.display = 'block';
                       videoEl.style.display = 'block';
                       videoEl.currentTime = 0;
                       if (autoplayEnabled) {
                           videoEl.play().catch(e => console.log('Autoplay bloqueado:', e));
                       }
                   }
               } else {
                   videoContainer.style.display = 'none';
               }
               cuadros.forEach(c => c.classList.remove('activo'));
               div.classList.add('activo');
           });
           ['data-nome', 'data-desc', 'data-atr', 'data-video'].forEach(attr => div.removeAttribute(attr));
       });
       if (Object.keys(videosCache).length === 0) {
           videoContainer.style.display = 'none';
       }
       if (cuadros.length) cuadros[0].click();
       cuadrosContainer.addEventListener('wheel', e => {
           if (e.deltaY) {
               e.preventDefault();
               cuadrosContainer.scrollLeft += e.deltaY;
           }
       });
       function activarFlechasCarrusel() {
           const carousel = document.querySelector('.skins-carousel');
           const wrapper = document.querySelector('.skins-carousel-wrapper');
           const [leftBtn, rightBtn] = ['.skins-arrow.left', '.skins-arrow.right'].map(sel => document.querySelector(sel));
           let isPredictingScroll = false, isAutoScrolling = false;
           const getScrollAmount = () => carousel.clientWidth * 0.6;
           const hideArrow = btn => {
               if (!btn.classList.contains('desapareciendo') && btn.style.display !== 'none') {
                   btn.classList.add('desapareciendo');
                   setTimeout(() => {
                       btn.style.display = 'none';
                       btn.classList.remove('desapareciendo');
                   }, 300);
               }
           };
           const showArrow = btn => {
               if (btn.style.display === 'none') {
                   btn.style.display = 'inline-block';
                   void btn.offsetWidth;
               }
               btn.classList.remove('desapareciendo');
           };
           const setArrowsState = scrollLeft => {
               const maxScroll = carousel.scrollWidth - carousel.clientWidth;
               const hasLeft = scrollLeft > 5, hasRight = scrollLeft < maxScroll - 5;
               hasLeft ? showArrow(leftBtn) : hideArrow(leftBtn);
               hasRight ? showArrow(rightBtn) : hideArrow(rightBtn);
               wrapper.classList.toggle('has-left', hasLeft);
               wrapper.classList.toggle('has-right', hasRight);
               if (!hasLeft && !hasRight) { carousel.style.justifyContent = 'center'; } else { carousel.style.justifyContent = ; }
           };
           const handleArrowClick = dir => {
               isPredictingScroll = true;
               const scrollLeft = carousel.scrollLeft, maxScroll = carousel.scrollWidth - carousel.clientWidth;
               const nextScroll = dir === 'left' ? Math.max(0, scrollLeft - getScrollAmount()) : Math.min(maxScroll, scrollLeft + getScrollAmount());
               setArrowsState(nextScroll);
               carousel.scrollTo({ left: nextScroll, behavior: 'smooth' });
               let last = -1, still = 0;
               const wait = setInterval(() => {
                   const current = Math.round(carousel.scrollLeft);
                   if (current === last) {
                       if (++still >= 2) {
                           clearInterval(wait);
                           isPredictingScroll = false;
                           setArrowsState(current);
                       }
                   } else {
                       last = current;
                       still = 0;
                   }
               }, 50);
           };
           carousel.addEventListener('scroll', () => {
               if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
           });
           new ResizeObserver(() => {
               if (!isPredictingScroll) setArrowsState(carousel.scrollLeft);
           }).observe(carousel);
           leftBtn.addEventListener('click', () => handleArrowClick('left'));
           rightBtn.addEventListener('click', () => handleArrowClick('right'));
           setArrowsState(carousel.scrollLeft);
       }
       // Resolve o arquivo de forma confiável (cai no /images/... certo)
       function resolveFile(name) {
           if (window.mw && mw.util && typeof mw.util.getUrl === 'function') {
               return mw.util.getUrl('Special:FilePath/' + encodeURIComponent(name));
           }
           return '/index.php/Special:FilePath/' + encodeURIComponent(name);
       }


       function generarHTMLAtributos(str) {
           var vals = (str || ).split(','); // pode ter menos de 4
           for (var k = 0; k < vals.length; k++) vals[k] = vals[k].trim();
           var title = ['Poder PVE', 'Poder PVP', 'Energia', 'Recarga'];
           var icons = ['Attr_PVE.png', 'Attr_PVP.png', 'Attr_Energia.png', 'Attr_Recarga.png'];
           function firstInt(raw) {
               if (!raw) return '-';
               raw = raw.trim();
               if (raw === '-') return '-';
               var m = /^-?\d+/.exec(raw);
               return m ? parseInt(m[0], 10) : '-';
           }

var html = '

';
           for (var i = 0; i < 4; i++) {
               var raw = (typeof vals[i] !== 'undefined' && vals[i] !== null) ? vals[i] : '-';
               var f = firstInt(raw);
               if (i === 2 && f !== '-') { // Energia com sinal
                   f = (f > 0 ? '+' : ) + f;
               }
               var units = (i === 3 && f !== '-') ? ' seg' : ;
               html += 
+ '
' + '
'
                   + '<img class="cardAttribute--icon" src="' + resolveFile(icons[i]) + '"'
                   + ' alt="' + title[i] + '" width="32" height="32" loading="lazy" decoding="async">'
                   + '' + title[i] + ''
+ '
' + '

' + f + units + '

' + '
';
           }
html += '

';

           return html;
       }
   })();

</script>

<style>

 /* --------- Resetzinhos úteis ---------- */
 img { pointer-events:none; user-select:none; }
 video { max-height:33.25em; object-fit:fill; }
 .mw-body { padding:unset !important; }
 .mw-body-content { line-height:1.5 !important; }
 .mw-body-content p { display:none; }
 /* --------- Banner de fundo do topo ---------- */
 .banner{
   position:absolute; z-index:-9; width:100%; height:100%;
   background-image:url(https://i.imgur.com/OVGhLvl.png);
   background-size:cover;
 }
 .banner-personaje{ width:100%; height:auto; }
 .banner::before{
   content:""; position:absolute; inset:0;
   background:linear-gradient(to right, rgba(0,0,0,.6), rgba(0,0,0,.2));
 }
 /* --------- Caixa geral ---------- */
 .personaje-box{
   padding:unset !important; color:#000;
   font-family:'Noto Sans',sans-serif !important;
   width:100%; margin:auto; position:relative; user-select:none;
 }
 .personaje-box p{ display:unset; }
 /* --------- Topbar ---------- */
 .personaje-topbar{
   display:flex; flex-direction:column; align-items:flex-start;
   padding:8px 20px; padding-top:4px;
 }
 .personaje-nome-box{ display:flex; align-items:center; gap:14px; }
 .topbar-icon{ margin-top:8px; width:100px; height:100px; object-fit:none; }
 .nome{
   text-shadow:0 0 6px #000,0 0 9px #000; color:#fff;
   font-size:56px; font-family:'Orbitron',sans-serif; font-weight:900;
 }
 .topbar-description{
   display:none !important; font-size:16px; margin-top:6px;
   width:fit-content; padding-inline:16px; border-radius:0 10px 10px 0;
   box-shadow:0 0 2px rgb(0 0 0 / 70%);
 }
 .personaje-header{
   position:relative; overflow:hidden;
   display:flex; gap:10px; flex-direction:column;
 }
 /* Arte do personagem – fica dentro do header e por trás do conteúdo */
 .art-personaje{
   width:34.3vw; height:auto; position:absolute; right:3.5rem; top:-3.1rem;
   z-index:1; pointer-events:none;
 }
 .classes{ display:flex; gap:9px; flex-wrap:wrap; margin-left:.28rem; }
 .classe{
   background:#353420; color:#fff; outline:2px solid #000;
   padding:1px 6px; border-radius:4px; font-size:.9em; font-weight:bold;
   box-shadow:0 0 2px rgb(0 0 0 / 70%);
 }
 .personaje-info{ user-select:none; }
 .personaje-info .tier,.personaje-info .classe{ font-size:18px; color:#bbb; }
 /* --------- Abas ---------- */
 .personaje-tabs{
   margin:4px 0 4px 8px; display:flex; gap:12px; justify-content:flex-start;
 }
 .tab-btn{
   padding:5px 20px; background:#333; color:#fff;
   border:2px solid transparent; border-radius:8px;
   font-size:20px; cursor:pointer; font-weight:600; line-height:1;
   transition:background .15s ease, border-color .15s ease;
 }
 .tab-btn.active{ background:#156bc7; border-color:#156bc7; }
 .tab-content{
   display:none; background:#26211cd6; padding:0 8px 8px;
   position:relative; z-index:3;
 }
 .tab-content.active{ display:block; }
 /* --------- Habilidades ---------- */
 .habilidades-container{ display:flex; gap:20px; }
 .habilidades-details{
   flex:1; display:flex; flex-direction:column; gap:10px;
   width:50%; justify-content:center;
 }
 /* Barra dos ícones – ocupa toda a largura e fica acima da arte */
 .cuadros-container{
   display:flex; flex-wrap:nowrap; gap:10px; width:100%;
   overflow-x:auto; overflow-y:hidden; padding:10px 0 3px 1px;
   position:relative; z-index:4; margin-bottom:6px;
   scrollbar-width:thin; scrollbar-color:#ababab transparent;
   scroll-behavior:smooth; justify-content:flex-start;
 }
 .cuadros-container::-webkit-scrollbar{ height:6px; }
 .cuadros-container::-webkit-scrollbar-track{ background:transparent; }
 .cuadros-container::-webkit-scrollbar-thumb{ background-color:#151515; border-radius:3px; }
 .cuadros-container .cuadro{
   flex:0 0 auto; width:50px; height:50px; border-radius:5px; cursor:pointer;
   transition:transform .2s, box-shadow .2s;
 }
 .cuadros-container .cuadro.activo{ box-shadow:0 0 0 1.5px #FFD700; }
 .cuadro img{ width:100%; height:100%; object-fit:cover; }
 /* Título e tooltip */
 .titulo-habilidad{
   position:relative; display:flex; justify-content:center; align-items:center;
   margin-bottom:8px; padding-right:32px;
 }
 .titulo-habilidad h3{ font-size:1.6em; color:#fff; text-align:center; margin:0; width:100%; }
 .tooltip-container{ position:absolute; right:0; top:50%; transform:translateY(-50%); }
 .info-btn{
   border:none; color:#D3DBDC; background:#787878; font-weight:bold;
   border-radius:50%; width:44px; height:44px; font-family:'Noto Sans';
   cursor:pointer; transition:.2s; box-shadow:0 0 3px #000;
   font-size:40px; padding:0; line-height:24px; text-align:center;
 }
 .tooltip-text{
   visibility:hidden; width:220px; background:#222; color:#fff; text-align:left;
   padding:8px 10px; border-radius:8px; position:absolute; z-index:10;
   bottom:130%; left:50%; transform:translate(-85%,110%);
   opacity:0; transition:opacity .3s; font-size:12px;
   box-shadow:0 2px 10px rgba(0,0,0,.5); pointer-events:none;
 }
 .tooltip-container:hover .tooltip-text{ visibility:visible; opacity:1; }
 /* Descrição da habilidade */
 .descripcion-container{
   min-height:27.5rem; height:100%; padding:4px 16px !important;
   background:#26211C; border-radius:8px; position:relative;
   box-shadow:0 6px 18px rgba(0,0,0,.28);
   color:#fff; backdrop-filter:blur(2px); transition:all .3s ease;
   text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
   padding-top:0 !important; z-index:99;
 }
 .descripcion-container h3{ font-size:2.7em; margin:0; text-align:center; padding-top:0; }
 .descripcion-container p, .desc{ font-size:1.2em; margin:0; }
 .desc{ overflow-y:auto !important; max-height:inherit; margin-top:10px; }
 .desc *{ font-size:inherit !important; line-height:inherit; }
 .descripcion-container .descLevel{ margin-top:5px; font-weight:bold; }
 .descripcion-container .desc::-webkit-scrollbar, .tabSkill--container::-webkit-scrollbar{ width:7px; height:7px; }
 .descripcion-container .desc::-webkit-scrollbar-thumb, .tabSkill--container::-webkit-scrollbar-thumb{ background-color:rgb(71 153 255); border-radius:10px; }
 .descripcion-container .desc::-webkit-scrollbar-track, .tabSkill--container::-webkit-scrollbar-track{ background-color:#151515a8; border-radius:10px; }
 /* Tiers */
 .tier-bronze .topbar-icon, .tier-bronze .tier{ outline:2px solid #7b4e2f !important; }
 .tier-silver .topbar-icon, .tier-silver .tier{ outline:2px solid #d6d2d2 !important; }
 .tier-gold .topbar-icon, .tier-gold .tier{ outline:2px solid #fcd300 !important; }
 .tier-diamond .topbar-icon, .tier-diamond .tier{ outline:2px solid #60dae2 !important; }
 /* Vídeo da habilidade */
 video::-webkit-media-controls{ opacity:0; transition:opacity .3s; }
 video:hover::-webkit-media-controls{ opacity:1; }
 .video-container{
   position:relative; width:43%; background:#000;
   display:flex; align-items:center; justify-content:center;
   border-radius:2%; box-shadow:0 8px 24px rgba(0,0,0,.35);
   overflow:hidden; z-index:999;
 }
 .video-placeholder{
   position:absolute; inset:0; background:#000; display:flex; align-items:center; justify-content:center;
   z-index:2; opacity:1; transition:opacity .9s ease;
 }
 .video-placeholder img{ width:120px; height:auto; animation:breathe 2.5s ease-in-out infinite; filter:drop-shadow(0 0 6px rgba(255,255,255,.3)); }
 .video-placeholder.fade-out{ opacity:0; }
 @keyframes breathe{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(1.07); opacity:.85; } }
 /* --------- Atributos (chips simples) ---------- */
 .attr-chips{
   display:flex; flex-wrap:wrap; gap:12px; justify-content:center;
   margin:6px 0 10px;
 }
 .attr-chip{
   display:inline-flex; align-items:center; gap:8px;
   padding:8px 12px; border-radius:10px;
   background:#3b312f; color:#fff; border:1px solid rgba(0,0,0,.25);
   box-shadow:0 1px 4px rgba(0,0,0,.25); line-height:1.1;
 }
 .attr-label{ font-weight:700; letter-spacing:.2px; font-size:1rem; }
 .attr-value{ font-weight:800; font-size:1rem; }
 /* --------- Skins ---------- */
 .attribute-title, .card-skins-title{
   font-size:1.4em; text-align:center; letter-spacing:1px;
   font-family:'Noto Sans',sans-serif !important;
   border-bottom:2px solid #9d9c9c; color:#fff !important;
   padding-bottom:8px; margin-bottom:16px; width:75%;
 }
 .card-skins{ padding-block:12px; border-radius:12px; user-select:none; }
 .skins-carousel-wrapper{
   min-height:21.1rem; max-height:60%;
   padding:0 16px 1px !important;
   background:#26211C; border-radius:8px; position:relative;
   box-shadow:0 8px 24px rgba(0,0,0,.35);
   color:#fff; backdrop-filter:blur(2px); transition:all .3s ease;
   text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
   flex:1; display:flex; flex-direction:row; gap:10px; justify-content:center; align-items:center;
   overflow:visible; z-index:99;
 }
 /* Gradientes laterais quando houver rolagem */
 .skins-carousel-wrapper::before, .skins-carousel-wrapper::after{
   content:; position:absolute; top:0; width:60px; height:100%;
   pointer-events:none; opacity:0; transition:opacity .4s ease; z-index:3;
 }
 .skins-carousel-wrapper::before{ left:0;  background:linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); }
 .skins-carousel-wrapper::after { right:0; background:linear-gradient(to left,  rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); }
 .skins-carousel-wrapper.has-left::before, .skins-carousel-wrapper.has-right::after{ opacity:1; }
 .has-left{ padding-left:60px; }
 .has-left .skins-carousel{ mask-image:linear-gradient(to right, transparent 0px, black 40px, black 100%); }
 .has-right{ padding-right:60px; }
 .has-right .skins-carousel{ mask-image:linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%); }
 .card-skins-title{
   display:block; border-bottom:unset; font-size:40px; font-weight:bold;
   padding-bottom:unset; margin-bottom:10px; width:47%;
 }
 .skins-carousel{
   display:flex; gap:1vw; overflow-x:auto; scroll-behavior:smooth;
   padding:10px 0; flex-grow:1;
 }
 .skins-carousel.both-mask{  mask-image:linear-gradient(to right, transparent 0px, black 40px, black calc(100% - 40px), transparent 100%); }
 .skins-carousel.left-mask{  mask-image:linear-gradient(to right, transparent 0px, black 40px, black 100%); }
 .skins-carousel.right-mask{ mask-image:linear-gradient(to right, black 0px, black calc(100% - 40px), transparent 100%); }
 .skins-carousel.no-mask{    mask-image:none; }
 .skins-carousel::-webkit-scrollbar{ display:none; }
 .skins-arrow{
   background:none; border:none; color:#fff; font-size:36px; cursor:pointer; padding:8px; z-index:5;
   transition:opacity .3s ease, transform .3s ease;
 }
 .skins-arrow.left{ margin-right:8px; }
 .skins-arrow.right{ margin-left:8px; }
 .skins-arrow.hidden{ opacity:0; transform:scale(.8); pointer-events:none; visibility:hidden; }
 .skin-card{
   position:relative; width:12vw; height:39vh; flex:0 0 auto;
   border:2px solid #697EC9 !important; border-radius:8px; overflow:hidden;
   box-shadow:0 2px 10px rgba(0,0,0,.25); background:#111;
 }
 .skin-card::before{
   content:; position:absolute; inset:0; pointer-events:none; border-radius:inherit; z-index:2;
   box-shadow:inset 0 0 8px rgba(180,180,180,.18);
 }
 .skins--imageBanner{ width:100%; height:109%; }
 .skins--imageBanner img{ width:100%; height:100%; object-fit:cover; filter:brightness(.5); scale:1.1; }
 .skins--imageSkin img{
   position:absolute; bottom:10px; left:50%; transform:translateX(-50%);
   height:140px; width:auto; z-index:2; transition:transform .2s;
 }
 /* --------- Responsivo (tela “alta”/mobile) ---------- */
 @media (max-aspect-ratio: 3/4){
   .desc{ font-size:26px; line-height:1.5; overflow-y:auto !important; max-height:inherit; margin:0; width:100%; margin-top:8px; }
   .desc *{ font-size:inherit !important; line-height:inherit; }
   .habilidades-container{ display:flex; gap:20px; flex-direction:column-reverse; }
   .habilidades-details{ flex:1; display:flex; flex-direction:column; width:96%; align-self:center; }
   .video-container{ width:80%; border-radius:3%; margin-top:2%; align-self:center; }
   .art-personaje{
     display:none; width:370px; height:290px; position:absolute;
     right:.5rem; top:1.1rem; z-index:1; pointer-events:none;
   }
   .topbar-description{ font-size:22px; }
   .personaje-info .tier,.personaje-info .classe{ font-size:30px; }
   .cuadros-container{ width:98%; place-self:center; padding:10px 0 16px 1px; }
   .cuadros-container .cuadro{ width:80px; height:80px; }
   .descripcion-container h3{ font-size:3.6em; margin-top:-14px; }
   .descripcion-container p{ font-size:2.3em; margin-bottom:5px; }
   .descripcion-container{ padding:22px !important; }
   .tab-btn{ padding:10px 20px; font-size:26px; }
   .tab-content{ position:relative; z-index:1; padding:0 8px 20px; }
   .classe{ padding:0 5px; font-size:1.4em; }
   /* chips maiores no mobile */
   .attr-chips{ gap:14px; }
   .attr-chip{ padding:10px 14px; border-radius:12px; }
   .attr-label,.attr-value{ font-size:1.3rem; }
   .skins-carousel{ gap:20px; }
   .skin-card{ width:236px; height:400px; }
   .skins--imageSkin img{ height:170px; }
   .tooltipster-content{ font-size:26px; }
   .attribute-title,.card-skins-title{ width:100% !important; }
   .skins-arrow{ display:none !important; }
   .skins-carousel-wrapper::after, .skins-carousel-wrapper::before{ background:unset; }
   video::-webkit-media-controls{ opacity:unset; transition:unset; }
   video:hover::-webkit-media-controls{ opacity:unset; }
 }

</style>