BlackMonsterMedia's picture
No teasing, troca o texto depois de "3 semanas"
8a3be28 verified
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Alma Shopping Gaming Week – Teasing</title>
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet">
<style>
:root{
--bg:#0a0b0f;
--ink:#fffc00;
--border: rgba(255,255,255,.12);
--accent:#ff2a6d;
--glass: rgba(255,255,255,.06);
--glow: 0 0 8px rgba(255,42,109,.8);
--scanline: rgba(0,255,255,.05);
--space: 28px;
}
*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{
margin:0; color:var(--ink); background: var(--bg);
font-family: Inter, sans-serif;
border: 16px solid #222;
border-image: linear-gradient(45deg, #333, #111) 1;
box-shadow: inset 0 0 40px rgba(0,0,0,0.5);
min-height: 100vh;
position: relative;
overflow-x:hidden;
}
body::after { content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 100; border: 8px solid rgba(255,42,109,0.2); }
body::before{
content:""; position:fixed; inset:0; z-index:-3; pointer-events:none;
background:
linear-gradient(var(--scanline) 1px, transparent 1px),
linear-gradient(90deg, var(--scanline) 1px, transparent 1px),
radial-gradient(ellipse at 50% 0, rgba(255,42,109,.2), transparent 70%),
radial-gradient(ellipse at 50% 100%, rgba(0,255,255,.1), transparent 70%),
var(--bg);
background-size: 100% 2px, 3px 100%, auto, auto, auto;
animation: scan 8s linear infinite;
}
@keyframes scan { from { background-position: 0 0, 0 0; } to { background-position: 0 100vh, 0 0; } }
.wrap{
max-width:900px; margin:0 auto; padding: calc(var(--space) * 2) var(--space);
text-align:center; min-height:100vh;
display:flex; flex-direction:column; justify-content:center; align-items:stretch;
gap: var(--space);
}
.tagline{
font-family: "Press Start 2P", monospace;
font-size: clamp(24px, 3vw, 36px);
margin: 0; padding: calc(var(--space) * .8);
background: rgba(0,0,0,0.5);
border: 4px solid var(--accent);
box-shadow: inset 0 0 20px rgba(255,42,109,0.3), var(--glow);
text-shadow: 0 0 5px var(--accent), 0 0 10px var(--accent), 0 0 20px var(--accent);
text-transform: uppercase; letter-spacing: 2px; position:relative;
}
.tagline::after {
content: ""; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%);
width: 80%; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent);
box-shadow: 0 0 8px var(--accent);
}
.options-title {
font-family: "Press Start 2P", monospace;
font-size: 16px;
color: var(--accent);
text-transform: uppercase;
letter-spacing:2px;
text-shadow: 0 0 5px var(--accent), 0 0 10px var(--accent);
margin: 0;
}
.card {
background: rgba(0,0,0,0.5);
padding: var(--space);
border: 2px solid var(--accent);
box-shadow: inset 0 0 20px rgba(255,42,109,0.3), var(--glow);
text-align: left;
}
h1, h2, h3 {
font-family: "Press Start 2P", monospace;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 1px;
text-shadow: 0 0 5px var(--accent);
}
h1 { font-size: clamp(24px, 3vw, 36px); }
h2 { font-size: clamp(20px, 2.5vw, 30px); }
h3 { font-size: clamp(18px, 2vw, 24px); }
.timeline {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: var(--space);
margin-top: var(--space);
}
.timeline-item {
border: 2px solid var(--accent);
padding: 12px;
text-align: center;
}
.timeline-item h4 {
margin: 0 0 8px 0;
color: var(--accent);
font-family: "Press Start 2P", monospace;
font-size: 14px;
}
.activation-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: var(--space);
margin-top: var(--space);
}
.activation-card {
border: 2px solid var(--accent);
padding: 12px;
text-align: center;
}
.activation-card h4 {
margin: 0 0 8px 0;
color: var(--accent);
font-family: "Press Start 2P", monospace;
font-size: 14px;
}
.popup-icon{
position: fixed;
pointer-events:none;
z-index: 50;
opacity:0;
filter: drop-shadow(0 0 6px rgba(255,255,255,.35));
image-rendering: pixelated;
}
@keyframes popInOut{
0%{ transform: translateY(10px) scale(.6); opacity:0; }
15%{ transform: translateY(0) scale(1); opacity:1; }
70%{ transform: translateY(-20px) scale(1); opacity:1; }
100%{ transform: translateY(-28px) scale(.9); opacity:0; }
}
</style>
<script src="https://unpkg.com/feather-icons"></script>
</head>
<body>
<div class="wrap">
<h1 class="tagline">ALMA SHOPPING GAMING WEEK — TEASING</h1>
<p class="options-title">O GAMING VAI TOMAR CONTA DE COIMBRA</p>
<section>
<h3>FASE 1 — TEASING</h3>
<div class="card">
<p>A campanha de teasing tem como objetivo criar intriga e buzz em Coimbra e online, anunciando que vem aí um evento de gaming inédito onde o torneio familiar é a peça central.</p>
<div class="timeline">
<div class="timeline-item">
<h4>DURAÇÃO</h4>
<p>3 semanas</p>
<p>Buzz inicial</p>
<p>Outdoors/mupis com QR → LP de votação</p>
<p>Influencers: teaser + CTA para votarem</p>
<p>Teasers Digitais</p>
</div>
<div class="timeline-item">
<h4>OBJETIVO</h4>
<p>Posicionar o Alma Shopping como epicentro do gaming em Coimbra</p>
</div>
<div class="timeline-item">
<h4>RESULTADOS</h4>
<p>Engajamento inicial através da votação</p>
</div>
</div>
</div>
</section>
<section>
<h3>MENSAGEM-CHAVE</h3>
<div class="card" style="text-align: center;">
<p style="font-size: 1.2em; font-weight: bold;">
"Vem aí a Alma Shopping Gaming Week — o gaming vai tomar conta de Coimbra."
</p>
</div>
</section>
<section>
<h3>ATIVAÇÕES</h3>
<div class="card">
<div class="activation-grid">
<div class="activation-card">
<h4>OFFLINE</h4>
<p>Cartazes misteriosos e visuais fortes espalhados pela cidade e no shopping com QR code para landing page</p>
</div>
<div class="activation-card">
<h4>PRESS</h4>
<p>Notícias a anunciar que Coimbra vai receber a sua primeira Gaming Week</p>
</div>
<div class="activation-card">
<h4>INFLUENCERS</h4>
<p>Streamers e criadores de conteúdo falam da "competição familiar única"</p>
</div>
<div class="activation-card">
<h4>DIGITAL</h4>
<p>Landing page de votação + teasers nas redes sociais + divulgação via app</p>
</div>
</div>
</div>
</section>
<section>
<h3>TIMING SUGERIDO</h3>
<div class="card">
<ul style="list-style-type: none; padding-left: 0;">
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Semana 1 → Lançamento dos cartazes + landing de votação
</li>
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Semana 2 → Influencers ativam conversas e interações
</li>
<li style="display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Semana 3 → Peças de imprensa a revelar oficialmente a Gaming Week
</li>
</ul>
</div>
</section>
<section>
<h3>RESULTADOS ESPERADOS</h3>
<div class="card">
<ul style="list-style-type: none; padding-left: 0;">
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Posicionar o Alma Shopping como epicentro do gaming em Coimbra
</li>
<li style="margin-bottom: 12px; display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Engajamento inicial através da votação + inscrições de interesse
</li>
<li style="display: flex; align-items: center;">
<span style="color: var(--accent); margin-right: 8px;"></span>
Geração de buzz offline e online (cidade + comunidade gaming)
</li>
</ul>
</div>
</section>
</div>
<script>
feather.replace();
// Pop-up icons animation
const COLORS = ['#ff2a6d','#ff9c2a','#ffdc00','#00d1ff','#51ff6d','#ffffff'];
const ICON_POOL = ['heart','sword','bomb','trophy','diamond','crown','clover','star'];
function spawnPopupIcon(){
const el = document.createElement('span');
el.className = `popup-icon`;
el.style.left = Math.round(Math.random()*92+4) + 'vw';
el.style.top = Math.round(Math.random()*82+8) + 'vh';
el.style.animation = `popInOut ${1200 + Math.random()*1100}ms ease-out forwards`;
const name = ICON_POOL[Math.floor(Math.random()*ICON_POOL.length)];
const color = COLORS[Math.floor(Math.random()*COLORS.length)];
el.innerHTML = `
<svg width='32' height='32' viewBox='0 0 24 24' style='shape-rendering:crispEdges;image-rendering:pixelated'>
<path d='M12 21s-6-4.35-9-7.35C-1 12 1 5 6 6c2 .4 3 2 3 2s1-1.6 3-2c5-1 7 6 3 7.65C18 16.65 12 21 12 21z' fill='${color}' stroke='#000' stroke-width='1.2'/>
</svg>`;
document.body.appendChild(el);
setTimeout(()=> el.remove(), 2200);
}
function startPopupStream(){
const jitter = () => 900 + Math.random()*2000;
const loop = () => { spawnPopupIcon(); setTimeout(loop, jitter()); };
setTimeout(loop, 800);
}
startPopupStream();
</script>
</body>
</html>