Instant

Tito’s Holiday Spin-The-Wheel Instant Win Game 2025

View saved
How does this find feel?

/* Box 1: Timer Styles */
#titos-box1 {
margin-bottom: 20px;
max-width: 860px;
margin-left: auto;
margin-right: auto;
}
#titos-box1 .wrap {
background: #fff8f7;
border-radius: 22px;
padding: 20px;
color: #4b1e06;
border: 1px solid rgba(0, 0, 0, .1);
box-shadow: 0 10px 28px rgba(0, 0, 0, .12);
}
#titos-box1 .bar {
height: 6px;
border-radius: 6px;
background: linear-gradient(90deg, #b91c1c, #ef4444, #fecaca);
margin-bottom: 14px;
}
#titos-box1 h3 {
margin: 0 0 10px;
font-size: 21px;
font-weight: 800;
text-transform: uppercase;
color: #b91c1c;
}
#titos-box1 .meta {
font-size: 14px;
opacity: .85;
margin-bottom: 14px;
}
#titos-box1 .timer {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 12px;
}
#titos-box1 .cell {
background: #fff5f4;
border: 1px solid rgba(0, 0, 0, .1);
border-radius: 14px;
padding: 10px;
text-align: center;
}
#titos-box1 .num {
font-size: 30px;
font-weight: 900;
color: #b91c1c;
}
#titos-box1 .lbl {
font-size: 12px;
text-transform: uppercase;
opacity: .8;
}

/* Box 1: Overlay Styles */
#titos-overlay {
position: fixed;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, .65);
z-index: 99999;
}
#titos-overlay .box {
background: #fff5f6;
border: 3px solid #b91c1c;
border-radius: 22px;
padding: 34px;
text-align: center;
max-width: 420px;
box-shadow: 0 8px 32px rgba(0, 0, 0, .35);
}
#titos-overlay h2 {
font-size: 24px;
color: #b91c1c;
font-weight: 900;
margin-bottom: 10px;
}
#titos-overlay p {
font-size: 16px;
color: #4b1e06;
margin-bottom: 20px;
}
#titos-overlay button {
background: linear-gradient(90deg, #b91c1c, #ef4444);
color: #fff;
font-weight: 800;
border: none;
border-radius: 16px;
padding: 14px 26px;
cursor: pointer;
box-shadow: 0 6px 20px rgba(185, 28, 28, .4);
}
#titos-skip {
display: none;
margin-top: 10px;
font-size: 13px;
color: #b91c1c;
opacity: .8;
cursor: pointer;
text-decoration: underline;
}

/* Box 2: Card Styles */
#titos-box2 {
margin-bottom: 20px;
max-width: 860px;
margin-left: auto;
margin-right: auto;
}
#titos-box2 .card {
background: #fff;
border: 2px solid #b91c1c;
border-radius: 22px;
padding: 26px;
text-align: center;
box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}
#titos-box2 h3 {
margin: 6px 0 12px;
font-size: 22px;
color: #b91c1c;
font-weight: 900;
}
#titos-box2 .sub {
font-size: 15px;
margin-bottom: 12px;
color: #4b1e06;
opacity: .85;
}
#titos-box2 .cta {
display: inline-block;
margin-top: 12px;
background: linear-gradient(90deg, #b91c1c, #ef4444);
color: #fff;
border-radius: 16px;
padding: 14px 34px;
font-weight: 800;
font-size: 18px;
text-decoration: none;
box-shadow: 0 6px 20px rgba(185, 28, 28, .35);
}

/* Box 2: Popup & Confetti Styles */
#titos-popup {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff4f4;
padding: 24px;
border-radius: 18px;
box-shadow: 0 0 32px rgba(0, 0, 0, .25);
z-index: 9999;
font-size: 18px;
font-weight: 800;
color: #b91c1c;
text-align: center;
}
canvas#titos-confetti {
position: fixed;
inset: 0;
pointer-events: none;
z-index: 9998;
display: none;
}

/* Box 3: Entry Styles */
#titos-box3 .shell {
background: #fff5f4;
border: 2px solid #b91c1c;
border-radius: 22px;
padding: 20px;
box-shadow: 0 10px 28px rgba(0, 0, 0, .08);
}
#titos-box3 h3 {
margin: 6px 0 14px;
font-size: 21px;
color: #b91c1c;
font-weight: 900;
text-align: center;
}
#titos-box3 .cta {
display: block;
text-align: center;
background: #b91c1c;
color: #fff;
border-radius: 14px;
padding: 16px;
font-weight: 900;
margin: 18px auto;
max-width: 320px;
text-decoration: none;
box-shadow: 0 6px 14px rgba(185, 28, 28, .4);
font-size: 20px;
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.07);
}
}
#titos-box3 .grid {
display: grid;
gap: 16px;
}
#titos-box3 .recap {
background: #fff;
border: 1px solid #fbc2c2;
border-radius: 14px;
padding: 14px;
}
#titos-box3 .recap dt {
font-weight: 800;
color: #b91c1c;
}
#titos-box3 .recap dd {
margin: 0;
}

Tito’s Holiday Spin the Wheel Instant Win Game 2025

Ends Dec 31 • One-Time Entry • 21+ • U.S. Only
Days

Hours

Minutes

Seconds

FIRST I NEED TO TELL YOU THE RULES!

This will only take a few seconds before the entry link appears.

Skip to entry (not recommended)

Spin the Wheel for Holiday Prizes!

Tito’s is giving away 1,477 instant holiday prizes — free entry for U.S. residents 21+.

ENTER HERE

If you’re the type who loves Tito’s vodka, ugly sweaters, and free stuff (who doesn’t?), you’ll want to spin your way into this one. The Tito’s Holiday Spin-The-Wheel Instant Win Game 2025 is officially live, and it’s giving major holiday energy. Thousands of Tito’s fans are already spinning for a chance to grab exclusive merch straight from the Tito’s distillery in Austin, Texas. From their famous ugly sweaters to cozy dog blankets and collectible ornaments, this giveaway feels like Christmas came early.

Here’s the best part: every spin gives you an instant result—win or not, you’ll know right away. No waiting for drawing dates, no second-guessing if your entry disappeared into the void. This is a one-time entry instant win game, and each spin is tied to your individual submission. The virtual wheel determines your fate in real time, and the prizes ship directly to verified winners.

So if you’ve got a soft spot for Tito’s (and maybe for your dog’s wardrobe too), consider this your invitation to try your luck before it closes on December 31, 2025.


Prize Breakdown

There are a total of 1,477 prizes up for grabs, valued at more than $38,000 in total Tito’s merchandise. Every item comes straight from Tito’s, known for turning their brand into a lifestyle—one bottle, sweater, or dog blanket at a time.

  • 1,000 Tito’s Ugly Sweaters (human or dog version – winner chooses at entry): $36 each. Perfect for those holiday selfies or matching with your pup during ugly sweater parties.
  • 252 Tito’s Holiday Ornaments: $4.50 each. Small but iconic—these add a little Austin flair to your tree.
  • 75 Tito’s Dog Blankets: $11.50 each. Warm, soft, and probably the cutest excuse to post your dog on Instagram.
  • 75 Tito’s Ugly Beanies: $5.60 each. The winter accessory you didn’t know you needed.
  • 75 Tito’s Ugly Stockings: $6.80 each. Hang them with pride—or fill them with mini bottles for the adults-only crowd.

Winners are selected instantly via Tito’s “Virtual Wheel,” an automated random system. When the wheel stops, you’ll see immediately whether you won and which prize is yours.


What You Can Do With the Prize if You Win

This is not your average swag. Tito’s prizes are wearable conversation starters—perfect for gifting, showing off, or pairing with your next holiday cocktail night.

If you score the human sweater, picture this: it’s Christmas Eve, you’re pouring a Tito’s Cranberry Mule, and your sweater is stealing the spotlight. Bonus points if your dog’s wearing the matching Tito’s dog sweater, because coordinated chaos is what the holidays are all about.

Got the ornament? That’s an instant upgrade to your tree decor—think shiny, understated, but still screaming “Tito’s fan.” It’s the kind of collectible you’ll bring out year after year.

The dog blanket might be the true underdog (pun intended). It’s plush, branded, and ideal for your four-legged best friend—or for you, honestly. Curl up, sip a cocktail, and call it self-care.

The beanie and stocking are winter staples that pair perfectly with Tito’s logo. Whether you wear them or display them, they make the whole season a little more spirited.

In short, every prize is built for comfort, clout, or both.


Q&A

Is this legitimate?
Yes. The Tito’s Holiday Spin-The-Wheel Instant Win Game 2025 is sponsored by Fifth Generation Distilled Spirits, Inc., the makers of Tito’s Handmade Vodka, and administered by ViralSweep, a verified sweepstakes platform. It’s 100% legitimate and open to U.S. residents aged 21 and older (excluding Maine and Virginia).

How many entries are allowed?
It’s a one-time entry instant win game. You can only spin once per person, per email address for the entire promotion period.

Are there bonus entries?
No. There are no bonus entries or extra spins—just one entry per person.

How many prizes can you win?
You can win only one prize per person or household. Once you win, that’s it—you’re out of the running for the rest.

Why You Should Enter

Tito’s runs some of the most-loved brand promotions every year, and this one’s a perfect mix of festive, funny, and free. There’s zero purchase required, the entry form takes under a minute, and the prizes ship straight to verified winners within weeks.

This instant win format is particularly appealing for fans who love immediate results. No waiting until January for a winner announcement—if you’re lucky, you’ll know within seconds that you scored a limited-edition Tito’s item.

Even if you don’t win, Tito’s gives you the option to opt in to their mailing list, which often features new sweepstakes, merch drops, and tasting events. That’s a subtle but smart way to stay in the loop on future freebies.

You’ve Reached the Giveaway — Enter Below!

ENTER HERE

Prize Breakdown

  • 1,477 prizes total — merch + holiday pet gear
  • Grand Prize: Tito’s Holiday Gift Set

Giveaway Recap

Sponsor
Tito’s Handmade Vodka
Entry Type
One-Time Instant Win
Eligibility
U.S. residents 21+
Promotion Period
Now – Dec 31, 2025

document.addEventListener(“DOMContentLoaded”, () => {

// — Get All Elements Once —
const daysEl = document.getElementById(“t-d”);
const hoursEl = document.getElementById(“t-h”);
const minutesEl = document.getElementById(“t-m”);
const secondsEl = document.getElementById(“t-s”);
const overlay = document.getElementById(“titos-overlay”);
const startBtn = document.getElementById(“titos-start”);
const skipBtn = document.getElementById(“titos-skip”);
const backupEnterBtn = document.getElementById(“backup-enter”);
const finalEntryBtn = document.getElementById(“titos-entry”); // Target from Box 3
const popup = document.getElementById(“titos-popup”);
const confettiCanvas = document.getElementById(“titos-confetti”);

// — NEW: Variables to track popups and scrolling animation
let factTimeouts = [];
let scrollAnimationId = null;

// — Timer Countdown Logic —
const endDate = new Date(“2025-12-31T23:59:59Z”).getTime();
let timerInterval = null;

function pad(number) {
return number < 10 ? "0" + number : number;
}

function updateTimer() {
const remainingTime = endDate – Date.now();
if (remainingTime {
if (skipBtn) skipBtn.style.display = “block”;
}, 5000);

// — MODIFIED: This function now ONLY starts the experience —
function startExperience(e) {
e.preventDefault();
if (overlay) overlay.remove();
titosBegin(); // Call the main experience function
}

// — NEW: This function ONLY dismisses the overlay —
function dismissOverlay(e) {
e.preventDefault();
if (overlay) overlay.remove();
// We do NOT call titosBegin() here.
}

// — MODIFIED: Buttons start the full experience —
if (startBtn) startBtn.addEventListener(“click”, startExperience);
if (skipBtn) skipBtn.addEventListener(“click”, startExperience);

// — MODIFIED: Clicking background just dismisses it —
overlay.addEventListener(‘click’, (e) => {
if (e.target === overlay) {
dismissOverlay(e); // Use the new dismiss-only function
}
});
}

// — Confetti & Scroll Logic —
function launchConfetti() {
if (!confettiCanvas) return;
const ctx = confettiCanvas.getContext(“2d”);
confettiCanvas.width = window.innerWidth;
confettiCanvas.height = window.innerHeight;
confettiCanvas.style.display = ‘block’;

let particles = [];
const colors = [“#b91c1c”, “#ef4444”, “#f87171”, “#fecaca”];
for (let i = 0; i confettiCanvas.height) p.y = -10;
}
requestAnimationFrame(drawConfetti);
})();
}

function titosBegin() {
launchConfetti();

if (popup) popup.style.display = ‘none’;
factTimeouts.forEach(clearTimeout);
factTimeouts = [];

const facts = [
“🎄 This is a ONE-TIME ENTRY Instant Win Game!”,
“🍸 1,477 Holiday Prizes including Tito’s merch + pet swag!”,
“🐶 Some prizes are for your dog too — adorable sweaters!”,
“💌 Winners are notified instantly via Tito’s official page!”,
“🎅 Let’s scroll to the entry link — good luck & cheers!”
];

if (popup) {
facts.forEach((fact, index) => {
const showTimeout = setTimeout(() => {
popup.textContent = fact;
popup.style.display = “block”;

const hideTimeout = setTimeout(() => popup.style.display = “none”, 9500);
factTimeouts.push(hideTimeout);
}, 1000 + 10000 * index);
factTimeouts.push(showTimeout);
});
}

setTimeout(() => {
if (!finalEntryBtn) return;
if (scrollAnimationId) cancelAnimationFrame(scrollAnimationId); // Cancel any previous scroll

const startY = window.pageYOffset;
const endY = finalEntryBtn.getBoundingClientRect().top + startY;
const distance = endY – startY;
const duration = window.innerWidth < 768 ? 45000 : 30000;
let startTime = null;

function scrollStep(timestamp) {
if (!startTime) startTime = timestamp;
const progress = Math.min((timestamp – startTime) / duration, 1);
window.scrollTo(0, startY + distance * progress);

if (progress document.body.style.overflowY = “auto”, 2000);
scrollAnimationId = null; // — NEW: Clear ID when done —
}
}
// — MODIFIED: Store the first animation frame ID —
scrollAnimationId = requestAnimationFrame(scrollStep);
}, 2000);
}

// — MODIFIED: Global listener to stop popups AND scroll —
window.addEventListener(‘mousedown’, (e) => {
let popupsAreVisible = (popup && popup.style.display === ‘block’);
let scrollIsHappening = (scrollAnimationId !== null);

// Only act if popups are on screen or scroll is in progress
if (popupsAreVisible || scrollIsHappening) {
if (e.target.closest(‘a, button’)) {
return; // Don’t interfere with clicks on links or buttons
}

// — NEW: Stop the scroll animation —
if (scrollIsHappening) {
cancelAnimationFrame(scrollAnimationId);
scrollAnimationId = null;
document.body.style.overflowY = “auto”; // Ensure scrolling is re-enabled
}

// — Stop the popup sequence —
if (popupsAreVisible) {
popup.style.display = ‘none’;
factTimeouts.forEach(clearTimeout);
factTimeouts = [];
}
}
});

// — Backup Button Event Listener (from Box 2) —
if (backupEnterBtn) {
backupEnterBtn.addEventListener(“click”, e => {
e.preventDefault();
titosBegin(); // Start the same experience
});
}

}); // End of DOMContentLoaded

Helpful Freebie Mom Guides

Keep going

More Freebie Mom guides worth checking

Instant Win GamesQuick plays, fast prizes, and daily chances.Best Sweepstakes to Enter TodayStart with the strongest current prizes.Sweepstakes DatabaseSearch active sweeps by prize, deadline, and entry type.