e.l.f. Cosmetics Forever Advent
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
–grad-start:#4b123d;
–grad-mid:#e91e8c;
–grad-end:#ff8cbd;
–accent:#ffd6f3;
–gold:#ffd86b;
–cream:#fff7fb;
–ink:#21151f;
–shadow:rgba(88, 10, 65, 0.2);
}
body { font-family:’Nunito’, sans-serif; background:radial-gradient(circle at top, #ffe5f4 0%, var(–cream) 35%, #fff 100%); color:var(–ink); overflow-x:hidden; }
#progress-bar { position:fixed; top:0; left:0; height:5px; width:0%; background:linear-gradient(90deg, var(–grad-start), var(–gold), var(–grad-end)); z-index:9999; transition:width 0.1s linear; }
#confetti-canvas { position:fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:9998; }
.page-wrap { max-width:920px; margin:0 auto; padding:10px 16px 46px; }
.hero { background:linear-gradient(135deg, var(–grad-start) 0%, var(–grad-mid) 48%, var(–grad-end) 100%); border-radius:26px; padding:38px 28px 32px; text-align:center; margin-bottom:24px; position:relative; overflow:hidden; box-shadow:0 18px 60px rgba(126, 18, 95, 0.32); }
.hero::before { content:”; position:absolute; inset:0; background:radial-gradient(circle at 10% 8%, rgba(255,255,255,0.28), transparent 28%), radial-gradient(circle at 88% 12%, rgba(255,216,107,0.22), transparent 24%); pointer-events:none; }
.hero > * { position:relative; z-index:1; }
.hero-badge { display:inline-block; background:var(–gold); color:#1a1a1a !important; font-weight:900; font-size:0.86rem; padding:7px 18px; border-radius:999px; margin-bottom:16px; letter-spacing:0.06em; text-transform:uppercase; box-shadow:0 6px 18px rgba(0,0,0,0.2); }
.hero h1 { font-family:’Fredoka One’, cursive; font-size:clamp(2rem, 6vw, 3.45rem); color:#ffffff !important; line-height:1.08; margin-bottom:14px; text-shadow:0 4px 14px rgba(0,0,0,0.5); }
.highlight { color:var(–accent) !important; }
.hero-sub { font-size:clamp(1rem, 2.6vw, 1.22rem); color:#ffffff !important; font-weight:900; max-width:700px; margin:0 auto 24px; line-height:1.58; text-shadow:0 2px 10px rgba(0,0,0,0.45); }
.hero-img-wrap { margin:0 auto 24px; max-width:760px; border-radius:20px; overflow:hidden; box-shadow:0 16px 42px rgba(0,0,0,0.45); transform:rotate(-0.5deg); animation:float 4.5s ease-in-out infinite; }
.hero-img-wrap img { width:100%; height:auto; display:block; }
@keyframes float { 0%, 100% { transform:translateY(0) rotate(-0.5deg); } 50% { transform:translateY(-8px) rotate(0.3deg); } }
.countdown-wrap { display:flex; justify-content:center; gap:13px; flex-wrap:wrap; margin-bottom:22px; }
.cd-box { background:rgba(255,255,255,0.14); border:2px solid rgba(255,255,255,0.34); border-radius:15px; padding:10px 16px; min-width:76px; text-align:center; backdrop-filter:blur(2px); }
.cd-num { font-family:’Fredoka One’, cursive; font-size:2rem; color:var(–accent) !important; line-height:1; font-weight:900; }
.cd-lbl { font-size:0.72rem; color:#ffffff !important; font-weight:900; text-transform:uppercase; letter-spacing:1px; margin-top:3px; }
.stat-row { display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.stat-pill { background:rgba(255,255,255,0.16); border:1px solid rgba(255,255,255,0.34); border-radius:999px; padding:9px 16px; font-size:0.82rem; color:#ffffff !important; font-weight:900; line-height:1.25; }
.stat-pill span { display:block; color:#ffffff !important; font-size:1.1rem; font-weight:900; }
.card, .section-card { background:#ffffff; border-radius:20px; padding:30px 26px; margin-bottom:21px; box-shadow:0 7px 25px var(–shadow); border-top:6px solid var(–grad-mid); }
.card h2, .section-card h2 { font-family:’Fredoka One’, cursive; font-size:clamp(1.45rem, 4vw, 2rem); color:var(–grad-start); margin-bottom:15px; line-height:1.2; }
.card p, .section-card p { color:#332531; line-height:1.78; margin-bottom:12px; font-size:1.01rem; }
.card p:last-child, .section-card p:last-child { margin-bottom:0; }
.prize-card { background:linear-gradient(135deg, #34102d 0%, #94116c 52%, #d91f89 100%); border-radius:22px; padding:34px 26px; text-align:center; margin-bottom:21px; box-shadow:0 14px 42px rgba(76, 9, 56, 0.38); }
.prize-card .prize-emoji { font-size:3.2rem; margin-bottom:8px; }
.prize-card h2 { font-family:’Fredoka One’, cursive; font-size:clamp(1.65rem, 5vw, 2.35rem); color:var(–accent) !important; margin-bottom:12px; text-shadow:0 2px 8px rgba(0,0,0,0.45); }
.prize-card p { color:#ffffff !important; font-size:1.06rem; font-weight:900; line-height:1.68; max-width:660px; margin:0 auto 8px; text-shadow:0 1px 5px rgba(0,0,0,0.5); }
.prize-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:12px; margin-top:20px; }
.prize-item { background:rgba(255,255,255,0.13); border:1px solid rgba(255,255,255,0.34); border-radius:14px; padding:14px 16px; color:#ffffff !important; font-size:0.92rem; font-weight:900; text-align:center; line-height:1.45; }
.prize-item strong { color:var(–accent) !important; display:block; font-size:1.03rem; margin-bottom:4px; }
.prize-tag { display:inline-block; background:var(–gold); color:#1a1a1a !important; font-weight:900; font-size:1.06rem; padding:9px 24px; border-radius:999px; margin-top:18px; }
.steps-wrap { display:grid; grid-template-columns:repeat(auto-fit, minmax(205px, 1fr)); gap:16px; margin:18px 0 2px; }
.step-box { background:linear-gradient(135deg, #fff1f8, #f5e9ff); border-radius:16px; padding:20px 16px; text-align:center; border:2px solid #f3c7e5; }
.step-num { width:46px; height:46px; background:var(–grad-start); color:#ffffff; border-radius:999px; display:flex; align-items:center; justify-content:center; font-family:’Fredoka One’, cursive; font-size:1.42rem; margin:0 auto 10px; }
.step-icon { font-size:1.9rem; margin-bottom:6px; }
.step-box h3 { color:var(–grad-start); font-size:1rem; font-weight:900; margin-bottom:5px; }
.step-box p { color:#46323f; font-size:0.9rem; line-height:1.5; margin:0; }
.urgency-box { background:linear-gradient(135deg, #3d1036 0%, #c01880 100%); border-radius:20px; padding:30px 24px; text-align:center; margin-bottom:21px; box-shadow:0 12px 36px rgba(76, 9, 56, 0.32); }
.urgency-box h3 { font-family:’Fredoka One’, cursive; font-size:clamp(1.45rem, 4vw, 2rem); color:#ffffff !important; margin-bottom:10px; text-shadow:0 2px 7px rgba(0,0,0,0.5); }
.urgency-box p { color:#ffffff !important; font-size:1.03rem; font-weight:900; line-height:1.7; max-width:650px; margin:0 auto; text-shadow:0 1px 5px rgba(0,0,0,0.5); }
.tips-list { list-style:none; padding:0; margin-top:14px; }
.tips-list li { display:flex; align-items:flex-start; gap:12px; padding:13px 0; border-bottom:1px solid #f0ddea; font-size:0.98rem; color:#332531; line-height:1.62; }
.tips-list li:last-child { border-bottom:none; }
.tip-icon { font-size:1.5rem; flex-shrink:0; margin-top:1px; }
.faq-item { border-bottom:1px solid #eeddea; padding-bottom:2px; }
.faq-q { width:100%; background:none; border:none; text-align:left; padding:17px 0; font-size:1.01rem; font-weight:900; color:var(–grad-start); cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; font-family:’Nunito’, sans-serif; }
.faq-q .arrow { font-size:1.1rem; transition:transform 0.3s; flex-shrink:0; }
.faq-q.open .arrow { transform:rotate(180deg); }
.faq-a { display:none; padding:0 0 17px; color:#40323d; font-size:0.96rem; line-height:1.75; }
.faq-a.open { display:block; }
.related-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(188px, 1fr)); gap:14px; margin-top:16px; }
.related-card { background:#fff; border-radius:14px; padding:16px 14px; box-shadow:0 4px 14px rgba(72, 16, 58, 0.1); border-top:4px solid var(–grad-mid); text-decoration:none; display:block; transition:transform 0.2s, box-shadow 0.2s; }
.related-card:hover { transform:translateY(-3px); box-shadow:0 9px 25px rgba(72, 16, 58, 0.18); }
.rc-emoji { font-size:1.6rem; margin-bottom:6px; }
.rc-title { font-size:0.9rem; font-weight:900; color:var(–grad-start); line-height:1.38; margin-bottom:4px; }
.rc-tag { font-size:0.75rem; color:#8c6f83; font-weight:800; }
.entry-section { background:linear-gradient(135deg, #34102d 0%, #b3167c 54%, #4b123d 100%); border-radius:24px; padding:42px 28px; text-align:center; margin-bottom:20px; box-shadow:0 15px 46px rgba(76, 9, 56, 0.42); }
.entry-section h2 { font-family:’Fredoka One’, cursive; font-size:clamp(1.85rem, 5vw, 2.65rem); color:var(–accent) !important; margin-bottom:14px; text-shadow:0 3px 11px rgba(0,0,0,0.55); }
.entry-section p { color:#ffffff !important; font-size:1.07rem; font-weight:900; max-width:640px; margin:0 auto 24px; line-height:1.68; text-shadow:0 1px 5px rgba(0,0,0,0.52); }
.btn-enter { display:inline-block; background:linear-gradient(135deg, #ff4db3, #ff8cbd); color:#ffffff !important; font-family:’Fredoka One’, cursive; font-size:clamp(1.18rem, 3vw, 1.58rem); padding:18px 46px; border-radius:999px; text-decoration:none; font-weight:900; box-shadow:0 7px 26px rgba(0,0,0,0.32); transition:transform 0.2s, box-shadow 0.2s; animation:pulse 2s ease-in-out infinite; }
.btn-enter:hover { transform:scale(1.04); box-shadow:0 11px 34px rgba(0,0,0,0.5); }
@keyframes pulse { 0%, 100% { box-shadow:0 7px 26px rgba(0,0,0,0.32); } 50% { box-shadow:0 7px 38px rgba(255, 141, 201, 0.65); } }
.legal { font-size:0.76rem !important; color:#ffffff !important; font-weight:800; margin-top:20px !important; line-height:1.6 !important; opacity:0.94; }
header.hero *, .urgency-box *, .entry-section *, .prize-card * { color:#ffffff !important; }
.hero h1 .highlight, .entry-section h2, .prize-card h2, .cd-num, #cd-days, #cd-hours, #cd-mins, #cd-secs, .prize-item strong { color:var(–accent) !important; }
.hero-badge, .prize-tag { color:#1a1a1a !important; }
.btn-enter, .btn-enter * { color:#ffffff !important; }
@media (max-width:600px) {
.page-wrap { padding:6px 10px 32px; }
.hero { padding:26px 16px 24px; border-radius:20px; }
.card, .section-card, .entry-section, .prize-card { padding-left:17px; padding-right:17px; }
.btn-enter { width:100%; padding-left:14px; padding-right:14px; }
.stat-pill { flex:1 1 42%; }
}
e.l.f. Cosmetics Forever Advent Calendar Giveaway
The beauty giveaway everyone in the group chat will want: 4 winners can score the ultimate advent calendar packed with 324 lip combos, plus 5 more winners get lip combos for a full year.

💄 What Is the e.l.f. Forever Advent Calendar Giveaway?
e.l.f. Cosmetics is running a fun Instagram giveaway for beauty fans who love sharing their best finds. The featured prize is the Forever Advent Calendar, described in the caption as being packed with 324 lip combos, which makes this a major lip-gloss-and-liner moment for you and your favorite people.
The giveaway has 9 total winners. Four winners get the ultimate advent calendar to split with their day ones, while five additional winners receive lip combos for a full year. That gives entrants more than one prize tier to be excited about before the deadline hits.
Entry is simple, but it must happen on the official Instagram post. You need to follow @elfcosmetics and comment who you are sharing it with before May 13, 2026 at 11:59 PM PT.
The Prize
This is a lip-combo lover’s dream giveaway with two winning groups: advent calendar winners and full-year lip combo winners.
📋 How to Enter — 3 Easy Steps
Open Instagram
Use the official entry button at the bottom of this page to visit the giveaway post.
Follow @elfcosmetics
Make sure you are following the official e.l.f. Cosmetics Instagram account.
Leave Your Comment
Comment who you would share the prize with, then keep an eye on direct messages.
⏰ This Giveaway Ends May 13
The caption says entries close at 11:59 PM PT. If you want a chance at the advent calendar or the year of lip combos, comment on the official post before the countdown runs out.
💡 5 Tips to Boost Your Chances
-
Enter on the official Instagram post only, because comments elsewhere will not count for this giveaway.
-
Tag or name someone you would genuinely share with so your comment matches the prompt.
-
Follow the verified e.l.f. Cosmetics account before commenting so your entry is complete.
-
Do not wait until the last few minutes; Instagram comments can lag when posts are busy.
-
Watch for fake winner messages. The caption says winners are contacted by direct message, so verify the account carefully.
❓ Frequently Asked Questions
The Instagram caption says this giveaway ends May 13, 2026 at 11:59 PM PT. If you want to enter, do it before that time so your comment is already posted on the official Instagram giveaway.
Go to the official e.l.f. Cosmetics Instagram post, follow @elfcosmetics, and comment telling them who you would share the prize with. Keep your comment friendly, clear, and on the official post.
The caption lists 9 total winners: 4 lucky e.l.f.ies win the ultimate Forever Advent Calendar, and 5 additional winners score lip combos for a full year.
The post describes the calendar as being packed with 324 lip combos, which makes this a major share-with-the-group-chat kind of beauty prize.
No. The caption states NO PURCH NEC., which means no purchase is necessary to enter the giveaway.
The visible giveaway caption says it is open to people who are 18+ in the 50 United States and Washington, DC, and void where prohibited.
According to the caption, winners will be chosen at random and contacted by direct message. Be careful of look-alike accounts, and only trust communication from the verified e.l.f. Cosmetics account.
🎁 More Free Giveaways You’ll Love
Ready to Enter?
Tap below to open the official e.l.f. Cosmetics Instagram giveaway post. Follow @elfcosmetics, then comment who you are sharing with before the deadline.
Freebie Mom is not the sponsor or administrator of this giveaway. This page is an editorial summary to help readers find and understand the promotion. Always review the official Instagram caption and any official rules linked by the sponsor before entering. No purchase necessary. Void where prohibited.
document.addEventListener(‘DOMContentLoaded’, function () {
function enforceColors() {
var whiteEls = document.querySelectorAll(
‘header.hero, header.hero *, .hero-badge, .hero-sub, ‘ +
‘.cd-lbl, .cd-num, .stat-pill, .stat-pill span, ‘ +
‘.urgency-box, .urgency-box *, ‘ +
‘.entry-section, .entry-section p, .entry-section strong, .entry-section .legal, ‘ +
‘.prize-card p, .prize-card .prize-item’
);
whiteEls.forEach(function(el) {
el.style.setProperty(‘color’, ‘#ffffff’, ‘important’);
});
var accentEls = document.querySelectorAll(‘.highlight, .entry-section h2, .prize-card h2, #cd-days, #cd-hours, #cd-mins, #cd-secs, .prize-item strong’);
accentEls.forEach(function(el) {
el.style.setProperty(‘color’, ‘#ffd6f3’, ‘important’);
});
var darkEls = document.querySelectorAll(‘.hero-badge, .prize-tag’);
darkEls.forEach(function(el) {
el.style.setProperty(‘color’, ‘#1a1a1a’, ‘important’);
});
var btnEls = document.querySelectorAll(‘.btn-enter, .btn-enter *’);
btnEls.forEach(function(el) {
el.style.setProperty(‘color’, ‘#ffffff’, ‘important’);
});
}
enforceColors();
setTimeout(enforceColors, 500);
setTimeout(enforceColors, 1500);
setTimeout(enforceColors, 3000);
function tick() {
var now = new Date();
var utcNow = now.getTime() + now.getTimezoneOffset() * 60000;
var tzNow = new Date(utcNow + (-7) * 3600000);
var deadline = new Date(tzNow);
deadline.setFullYear(2026);
deadline.setMonth(4);
deadline.setDate(13);
deadline.setHours(23);
deadline.setMinutes(59);
deadline.setSeconds(0);
var diff = deadline – tzNow;
if (diff 0) { pct = (scrollTop / scrollHeight) * 100; }
document.getElementById(‘progress-bar’).style.width = pct + ‘%’;
});
var canvas = document.getElementById(‘confetti-canvas’);
var ctx = canvas.getContext(‘2d’);
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
window.addEventListener(‘resize’, function () { canvas.width = window.innerWidth; canvas.height = window.innerHeight; });
var colors = [‘#e91e8c’, ‘#ffd6f3’, ‘#ffd86b’, ‘#ffffff’, ‘#ff8cbd’];
var pieces = Array.from({length: 110}, function () {
return { x: Math.random() * canvas.width, y: Math.random() * canvas.height – canvas.height, w: Math.random() * 10 + 5, h: Math.random() * 6 + 3, color: colors[Math.floor(Math.random() * colors.length)], speed: Math.random() * 3 + 1.5, angle: Math.random() * 360, spin: (Math.random() – 0.5) * 6 };
});
var confettiActive = true;
setTimeout(function () { confettiActive = false; ctx.clearRect(0, 0, canvas.width, canvas.height); }, 8000);
function drawConfetti() {
if (!confettiActive) { return; }
ctx.clearRect(0, 0, canvas.width, canvas.height);
pieces.forEach(function (p) {
ctx.save();
ctx.translate(p.x, p.y);
ctx.rotate(p.angle * Math.PI / 180);
ctx.fillStyle = p.color;
ctx.fillRect(-p.w / 2, -p.h / 2, p.w, p.h);
ctx.restore();
p.y += p.speed;
p.angle += p.spin;
if (p.y > canvas.height) { p.y = -10; p.x = Math.random() * canvas.width; }
});
requestAnimationFrame(drawConfetti);
}
drawConfetti();
window.toggleFaq = function (btn) {
var sibling = btn.nextElementSibling;
while (sibling) {
if (sibling.classList.contains(‘faq-a’)) { break; }
sibling = sibling.nextElementSibling;
}
if (!sibling) { return; }
var isOpen = sibling.classList.contains(‘open’);
document.querySelectorAll(‘.faq-a.open’).forEach(function(a) { a.classList.remove(‘open’); });
document.querySelectorAll(‘.faq-q.open’).forEach(function(b) { b.classList.remove(‘open’); });
if (!isOpen) { sibling.classList.add(‘open’); btn.classList.add(‘open’); }
};
});
Helpful Freebie Mom Guides
Keep going