Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2026.pythonbrasil.org.br
Binary file added img/foto-grupo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions img/hero-principal.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/logo-pybr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/nosvemo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/pybr-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
69 changes: 69 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Brasil 2026</title>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Cascadia+Mono:ital,wght@0,200..700;1,200..700&display=swap" rel="stylesheet">
<link rel="icon" href="img/pybr-icon.png" type="image/png">
</head>
<body>
<header class="topo">
<img src="img/logo-pybr.png" alt="Logo Python Brasil" class="logo-img">

<div class="contador">
<div class="tempo">
<span id="dias">000</span>
<p>dias</p>
</div>
<div class="separador">:</div>
<div class="tempo">
<span id="horas">00</span>
<p>horas</p>
</div>
<div class="separador">:</div>
<div class="tempo">
<span id="minutos">00</span>
<p>mins</p>
</div>
<div class="separador">:</div>
<div class="tempo">
<span id="segundos">00</span>
<p>segs</p>
</div>
</div>

<img src="img/nosvemo.png" alt="Nos Vemos em Breve" class="nosvemo-img">
</header>

<section class="hero">

<!-- agora é uma única imagem com toda a arte principal -->
<img src="img/hero-principal.svg" alt="Python Brasil 2026 em Floripa" class="hero-principal">
</section>

<section class="patrocinio">
<div class="conteudo-patrocinio">
<h2>Faça parte do maior encontro da comunidade Python no Brasil!</h2>
<p>Conecte sua marca à inovação, tecnologia e pessoas incríveis.<br>
Confira os planos de patrocínio ou garanta já seu ingresso 👇</p>

<div class="botoes">
<a href="https://pybr2026.eventbrite.com.br" target="_blank" class="btn">Ingressos</a>
<a href="#" target="_blank" class="btn">Plano de Patrocínio (PT)</a>
<a href="#" target="_blank" class="btn">Sponsorship Plan (EN)</a>
</div>
</div>
</section>

<footer>
<p>pessoas > tecnologia</p>
</footer>

<script src="script.js"></script>
</body>
</html>
27 changes: 27 additions & 0 deletions script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const targetDate = new Date("October 15, 2026 00:00:00").getTime();

function atualizarContador() {
const agora = new Date().getTime();
const distancia = targetDate - agora;

if (distancia <= 0) {
document.getElementById("dias").textContent = "000";
document.getElementById("horas").textContent = "00";
document.getElementById("minutos").textContent = "00";
document.getElementById("segundos").textContent = "00";
return;
}

const dias = Math.floor(distancia / (1000 * 60 * 60 * 24));
const horas = Math.floor((distancia % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutos = Math.floor((distancia % (1000 * 60 * 60)) / (1000 * 60));
const segundos = Math.floor((distancia % (1000 * 60)) / 1000);

document.getElementById("dias").textContent = String(dias).padStart(3, "0");
document.getElementById("horas").textContent = String(horas).padStart(2, "0");
document.getElementById("minutos").textContent = String(minutos).padStart(2, "0");
document.getElementById("segundos").textContent = String(segundos).padStart(2, "0");
}

setInterval(atualizarContador, 1000);
atualizarContador();
Loading