Joyshaper Spring 7 Challenge Giveaway
body { font-family: ‘Segoe UI’, Tahoma, Geneva, Verdana, sans-serif; line-height: 1.8; color: #444; max-width: 950px; margin: 0 auto; padding: 20px; background: #fdf6f9; }
:root {
–primary: #7b2d5e;
–accent: #c2185b;
–gold: #f9a825;
–dark: #111;
–white: #ffffff;
–light: #fce4ec;
}
h1 { font-family: ‘Segoe UI’, sans-serif; font-size: 38px; font-weight: 800; color: var(–dark); margin-bottom: 20px; line-height: 1.2; text-transform: uppercase; border-bottom: 4px solid var(–accent); padding-bottom: 15px; }
h2 { font-size: 28px; font-weight: 700; color: var(–accent); margin-top: 50px; margin-bottom: 20px; border-left: 6px solid var(–gold); padding-left: 15px; background: #fff; padding-top: 10px; padding-bottom: 10px; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
h3 { font-size: 22px; font-weight: 600; color: var(–dark); margin-top: 35px; margin-bottom: 15px; }
p { margin-bottom: 20px; font-size: 18px; color: #555; }
li { margin-bottom: 10px; font-size: 18px; color: #555; }
.intro { font-size: 20px; font-weight: 500; color: var(–dark); background: var(–white); border: 1px solid #ddd; padding: 35px; margin: 40px 0; border-radius: 8px; border-top: 5px solid var(–accent); box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.giveaway-container { margin: 60px auto; max-width: 800px; }
.countdown-box { background: var(–primary); border: 4px solid var(–accent); border-bottom: none; border-radius: 12px 12px 0 0; padding: 30px; text-align: center; color: var(–white); }
.countdown-title { color: var(–white); font-size: 32px; font-weight: 800; text-transform: uppercase; margin: 0 0 10px; letter-spacing: 1px; }
.countdown-subtitle { color: #f8bbd0; font-size: 16px; margin: 0 0 25px; font-weight: 600; text-transform: uppercase; letter-spacing: 2px; }
.countdown-timer { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; max-width: 550px; margin: 0 auto; }
.timer-cell { background: rgba(194,24,91,0.2); border: 1px solid var(–accent); border-radius: 6px; padding: 15px; color: var(–white); }
.timer-num { display: block; font-size: 42px; font-weight: 700; line-height: 1; font-family: ‘Arial Black’, sans-serif; color: var(–gold); }
.timer-label { display: block; font-size: 12px; text-transform: uppercase; margin-top: 10px; font-weight: 600; color: #f8bbd0; }
.giveaway-box { background: #fff; border: 4px solid var(–accent); border-top: none; border-radius: 0 0 12px 12px; padding: 50px 40px; text-align: center; position: relative; box-shadow: 0 15px 40px rgba(194,24,91,0.15); }
.giveaway-badge { position: absolute; top: -25px; right: 50%; transform: translateX(50%); background: var(–gold); color: var(–dark); padding: 10px 40px; border-radius: 50px; font-size: 16px; font-weight: 800; text-transform: uppercase; box-shadow: 0 5px 15px rgba(0,0,0,0.1); border: 3px solid var(–white); white-space: nowrap; }
.giveaway-headline { font-size: 36px; font-weight: 800; margin: 30px 0 20px; color: var(–dark); text-transform: uppercase; letter-spacing: -0.5px; }
.giveaway-description { font-size: 20px; color: #666; margin: 0 auto 20px; line-height: 1.6; max-width: 650px; }
.enter-button { display: inline-block; background: var(–accent); color: var(–white); font-size: 24px; font-weight: 700; padding: 20px 60px; border-radius: 6px; text-decoration: none; border: none; cursor: pointer; box-shadow: 0 8px 0px #880e4f; transition: transform 0.1s, box-shadow 0.1s; text-transform: uppercase; letter-spacing: 1px; }
.enter-button:hover { transform: translateY(4px); box-shadow: 0 4px 0px #880e4f; }
.cheat-sheet { background: var(–light); border: 2px dashed var(–accent); padding: 20px; margin: 0 auto 20px; border-radius: 8px; max-width: 600px; }
.cs-title { display: block; font-weight: 800; color: var(–accent); margin-bottom: 10px; font-size: 18px; letter-spacing: 1px; text-transform: uppercase; }
.cs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 16px; color: var(–dark); text-align: left; }
.cs-grid div { background: #fff; padding: 8px 12px; border-radius: 4px; border: 1px solid #f48fb1; }
.cs-grid strong { color: var(–accent); text-transform: uppercase; float: right; font-weight: 900; }
.cs-highlight { border: 2px solid var(–gold) !important; background: #fffde7 !important; }
.entry-section { background: var(–white); border: 2px solid var(–accent); border-radius: 12px; padding: 40px; margin-top: 60px; text-align: center; }
.entry-section h3 { color: var(–accent); font-size: 30px; font-weight: 800; margin: 0 0 30px; text-transform: uppercase; }
.recap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 30px; margin-top: 60px; text-align: left; }
.recap-box { background: var(–light); border-top: 5px solid var(–gold); padding: 25px; border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.recap-box h4 { color: var(–accent); font-size: 18px; font-weight: 800; text-transform: uppercase; margin: 0 0 20px; letter-spacing: 1px; }
.recap-box dl { font-size: 16px; line-height: 1.8; margin: 0; }
.recap-box dt { font-weight: 700; color: #333; margin-top: 15px; text-transform: uppercase; font-size: 13px; }
.recap-box dd { margin: 0; color: #555; }
.ad-container { margin: 40px auto; text-align: center; max-width: 100%; overflow: hidden; }
.prize-image { width: 100%; max-width: 800px; border-radius: 12px; margin: 30px auto; display: block; box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
.prize-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin: 30px 0; }
.prize-tier { background: #fff; border-radius: 10px; padding: 25px 20px; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.07); border-top: 4px solid var(–accent); }
.prize-tier .tier-icon { font-size: 40px; margin-bottom: 10px; display: block; }
.prize-tier .tier-count { font-size: 32px; font-weight: 900; color: var(–accent); display: block; }
.prize-tier .tier-label { font-size: 13px; text-transform: uppercase; color: #999; font-weight: 700; display: block; margin-bottom: 8px; }
.prize-tier .tier-value { font-size: 18px; font-weight: 700; color: var(–dark); }
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 25px; margin: 40px 0; }
.feature-card { background: #fff; border-radius: 10px; padding: 25px; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.07); border-top: 4px solid var(–accent); }
.feature-card .icon { font-size: 40px; margin-bottom: 15px; display: block; }
.feature-card h4 { color: var(–dark); font-size: 18px; font-weight: 800; margin: 0 0 10px; }
.feature-card p { font-size: 15px; color: #666; margin: 0; }
.steps-list { counter-reset: steps; list-style: none; padding: 0; margin: 30px 0; }
.steps-list li { counter-increment: steps; display: flex; align-items: flex-start; margin-bottom: 20px; background: #fff; border-radius: 8px; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.06); border-left: 5px solid var(–accent); }
.steps-list li::before { content: counter(steps); background: var(–accent); color: #fff; font-weight: 800; font-size: 20px; min-width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 20px; flex-shrink: 0; }
.data-table { width: 100%; border-collapse: collapse; margin: 30px 0; font-size: 16px; }
.data-table th { background: var(–primary); color: #fff; padding: 14px 18px; text-align: left; font-weight: 700; text-transform: uppercase; font-size: 14px; }
.data-table td { padding: 12px 18px; border-bottom: 1px solid #e0e0e0; background: #fff; }
.data-table tr:nth-child(even) td { background: var(–light); }
.data-table tr:hover td { background: #fff9c4; }
.faq-item { background: #fff; border: 1px solid #ddd; border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.faq-question { padding: 20px 25px; font-weight: 700; font-size: 17px; color: var(–dark); cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-question:hover { background: var(–light); }
.faq-answer { display: none; padding: 0 25px 20px; font-size: 16px; color: #555; line-height: 1.7; border-top: 1px solid #eee; }
.faq-toggle { font-size: 22px; color: var(–accent); font-weight: 900; }
.related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 20px; margin-top: 40px; }
.related-card { background: #fff; border-radius: 10px; padding: 20px; box-shadow: 0 3px 12px rgba(0,0,0,0.08); border-left: 5px solid var(–gold); text-decoration: none; color: inherit; display: block; transition: transform 0.2s; }
.related-card:hover { transform: translateY(-3px); }
.related-card h5 { color: var(–accent); font-size: 16px; font-weight: 800; margin: 0 0 8px; }
.related-card p { font-size: 14px; color: #777; margin: 0; }
.popup-message { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(–white); border: 5px solid var(–accent); padding: 50px; font-size: 26px; font-weight: 800; color: var(–dark); text-align: center; z-index: 10000; box-shadow: 0 40px 100px rgba(0,0,0,0.2); max-width: 90%; width: 550px; border-radius: 12px; }
.skip-popup { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(–white); border: 4px solid var(–gold); padding: 40px 50px; text-align: center; z-index: 10001; box-shadow: 0 30px 80px rgba(0,0,0,0.1); max-width: 90%; width: 500px; border-radius: 12px; }
.skip-popup-title { font-size: 28px; font-weight: 800; color: var(–accent); margin: 0 0 20px; }
.skip-popup-text { font-size: 17px; color: #555; margin-bottom: 10px; }
.skip-yes-button { display: inline-block; background: var(–gold); color: var(–dark); font-size: 20px; font-weight: 700; padding: 15px 40px; border-radius: 6px; border: none; cursor: pointer; margin-top: 20px; text-transform: uppercase; }
.loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #7b2d5e; z-index: 99999; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #ffffff; text-align: center; padding: 30px; box-sizing: border-box; }
.loading-spinner { width: 70px; height: 70px; border: 6px solid rgba(255,255,255,0.2); border-top: 6px solid #f9a825; border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 30px; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.loading-title { font-size: 28px; font-weight: 800; color: #f9a825; margin: 0 0 15px; text-transform: uppercase; letter-spacing: 1px; }
.loading-subtitle { font-size: 18px; color: #f8bbd0; margin: 0; line-height: 1.5; }
.loading-dots::after { content: ”; animation: dots 1.5s steps(3, end) infinite; }
@keyframes dots { 0%, 20% { content: ‘.’; } 40% { content: ‘..’; } 60%, 100% { content: ‘…’; } }
@media (max-width: 600px) {
h1 { font-size: 26px; }
h2 { font-size: 22px; }
.giveaway-headline { font-size: 26px; }
.enter-button { font-size: 18px; padding: 16px 30px; }
.timer-num { font-size: 32px; }
.cs-grid { grid-template-columns: 1fr; }
.prize-tiers { grid-template-columns: 1fr 1fr; }
}
🌼 Joyshaper Spring 7 Challenge Giveaway: Win $500 Amazon Gift Card + 15 More Prizes!
Joyshaper is celebrating spring with a massive giveaway — 16 total winners including a $500 Amazon Gift Card grand prize! Enter free at gleam.io before May 4, 2026. Open worldwide! Bonus entries available for following Joyshaper on social media, visiting their website, and more.

The Prizes: 16 Winners Across 4 Tiers
This is one of the most generous giveaways we’ve seen — 16 total winners across four prize tiers. Here’s the full breakdown:
1
Grand Prize Winner
$500 Amazon Gift Card
5
First Prize Winners
$100 Shaperin Gift Card each
5
Second Prize Winners
$30 Shaperin Gift Card each
5
Third Prize Winners
1 Spring New Piece of Choice ($50 ARV)
$500 Amazon Gift Card
The grand prize winner gets a $500 Amazon Gift Card — spend it on anything you want!
Shaperin Gift Cards
10 winners get Shaperin Gift Cards worth $100 or $30 each to spend on Joyshaper’s shapewear line.
Spring Shapewear Piece
5 winners get to choose any new spring piece from Joyshaper’s collection ($50 ARV each).
Open Worldwide
This giveaway is open to entrants worldwide — no US-only restriction! Void where prohibited by law.
Bonus Entry Options
Earn extra entries by following Joyshaper on social media, visiting their website, and completing other bonus actions on Gleam.
Completely Free
No purchase necessary. Just fill out the Gleam entry form — free to enter for everyone!
How to Enter the Joyshaper Spring Giveaway
Entering takes just a minute — and you can grab bonus entries to boost your chances of winning the $500 Amazon Gift Card. Here’s exactly what to do:
- Visit the Official Gleam Entry Page: Go to gleam.io/QzTsI/-giveaway-spring-7-challenge- on your phone or computer. You’ll see the Joyshaper Spring 7 Challenge Giveaway entry form powered by Gleam.
- Complete the Main Entry: Sign in with your email address or social account to unlock the entry form. Complete the required entry action to submit your entry for the random drawing.
- Grab Your Bonus Entries: After entering, scroll through the Gleam widget to find bonus entry options — follow Joyshaper on Instagram, TikTok, YouTube, visit their website, and more. Each action earns additional entries!
- Submit Before May 4: The giveaway closes on May 4, 2026 at 11:59 PM PDT. Make sure your entry is submitted before the deadline — entries submitted after the close will not be eligible.
- Watch for the Winner Notification: Winners will be selected by random draw and notified within 7 days of the drawing. Check your email (and spam folder!) and respond promptly — you have 7 days to claim your prize or an alternate winner will be chosen.
Giveaway Details at a Glance
| Detail | Information |
|---|---|
| Sponsor | Joyshaper |
| Entry Website | gleam.io/QzTsI/-giveaway-spring-7-challenge- |
| Start Date | April 19, 2026 at 12:00 AM PDT |
| End Date | May 4, 2026 at 11:59 PM PDT |
| Grand Prize | $500 Amazon Gift Card (1 winner) |
| First Prize | $100 Shaperin Gift Card (5 winners) |
| Second Prize | $30 Shaperin Gift Card (5 winners) |
| Third Prize | 1 Spring New Piece of Choice — $50 ARV (5 winners) |
| Total Winners | 16 |
| Total ARV | $1,250 |
| Winner Selection | Random draw under supervision of Sponsor |
| Winner Notification | Within 7 days of drawing; must respond within 7 days |
| Eligibility | Open worldwide — void where prohibited by law |
| Platform | Gleam (powered by Crowd9 PTY LTD) |
About Joyshaper
Joyshaper is a popular shapewear and activewear brand known for its comfortable, flattering designs that help women feel confident and supported. From seamless bodysuits and tummy-control leggings to sports bras and sculpting shorts, Joyshaper’s spring collection is full of fresh pastel styles perfect for the season. This Spring 7 Challenge Giveaway is their way of celebrating spring and sharing the love with their community!
Frequently Asked Questions
🌼 You Made It! Enter the Giveaway Below
ENTER THE SPRING GIVEAWAY 🌼
🏆 Prize Details
- Grand Prize:
- $500 Amazon Gift Card (1 winner)
- First Prize:
- $100 Shaperin Gift Card (5 winners)
- Second Prize:
- $30 Shaperin Gift Card (5 winners)
- Third Prize:
- Spring Piece of Choice — $50 ARV (5 winners)
- Total ARV:
- $1,250
📅 Critical Dates
- Start Date:
- April 19, 2026 at 12:00 AM PDT
- End Date:
- May 4, 2026 at 11:59 PM PDT
- Winner Notification:
- Within 7 days of drawing
- Claim Window:
- 7 days from notification
📋 Eligibility
- Location:
- Open Worldwide
- Total Winners:
- 16
- Platform:
- Gleam (gleam.io)
More Giveaways You’ll Love
NO PURCHASE NECESSARY. Open worldwide, void where prohibited by law. Begins April 19, 2026 at 12:00 AM PDT; ends May 4, 2026 at 11:59 PM PDT. Sponsored by Joyshaper. See full rules at gleam.io/QzTsI/-giveaway-spring-7-challenge-. This promotion is in no way sponsored, endorsed, administered by, or associated with Amazon, Facebook, Instagram, TikTok, YouTube, Pinterest, LinkedIn, or any other social network.
let scrollAnimationId = null;
let isScrolling = false;
let popupTimers = [];
const endDate = new Date(“May 4, 2026 23:59:59 PDT”).getTime();
function updateCountdown() {
const now = new Date().getTime();
const distance = endDate – now;
if (distance < 0) {
document.getElementById("days").textContent = "00";
document.getElementById("hours").textContent = "00";
document.getElementById("minutes").textContent = "00";
document.getElementById("seconds").textContent = "00";
return;
}
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("days").textContent = String(days).padStart(2, "0");
document.getElementById("hours").textContent = String(hours).padStart(2, "0");
document.getElementById("minutes").textContent = String(minutes).padStart(2, "0");
document.getElementById("seconds").textContent = String(seconds).padStart(2, "0");
}
setInterval(updateCountdown, 1000);
updateCountdown();
function slowScrollToEntry() {
const entrySection = document.getElementById("entry-section");
const startPosition = window.pageYOffset;
const targetPosition = entrySection.offsetTop – 50;
const distance = targetPosition – startPosition;
const duration = 35000;
let startTime = null;
isScrolling = true;
function animation(currentTime) {
if (!isScrolling) return;
if (startTime === null) startTime = currentTime;
const timeElapsed = currentTime – startTime;
const progress = Math.min(timeElapsed / duration, 1);
window.scrollTo(0, startPosition + distance * progress);
if (timeElapsed < duration) {
scrollAnimationId = requestAnimationFrame(animation);
} else {
window.scrollTo(0, targetPosition);
}
}
scrollAnimationId = requestAnimationFrame(animation);
const schedule = [3000, 6000, 9000, 12000, 15000, 21000, 24000, 27000, 30000, 33000];
schedule.forEach(function(time, index) {
popupTimers.push(setTimeout(function() { showPopup("popup" + (index + 1)); }, time));
});
popupTimers.push(setTimeout(function() { showSkipPopup(targetPosition); }, 18000));
}
function showPopup(id) {
const popup = document.getElementById(id);
if (popup) {
popup.style.display = "block";
setTimeout(function() { popup.style.display = "none"; }, 2500);
}
}
function showSkipPopup(targetPosition) {
if (!isScrolling) return;
const skipPopup = document.getElementById("skip-popup");
skipPopup.style.display = "block";
const autoHide = setTimeout(function() { skipPopup.style.display = "none"; }, 5000);
document.getElementById("skip-yes-btn").onclick = function() {
clearTimeout(autoHide);
skipPopup.style.display = "none";
isScrolling = false;
if (scrollAnimationId) cancelAnimationFrame(scrollAnimationId);
popupTimers.forEach(function(t) { clearTimeout(t); });
document.querySelectorAll('.popup-message').forEach(function(p) { p.style.display = 'none'; });
window.scrollTo({ top: targetPosition, behavior: 'smooth' });
};
}
function toggleFaq(el) {
const answer = el.nextElementSibling;
const toggle = el.querySelector('.faq-toggle');
if (answer.style.display === "block") {
answer.style.display = "none";
toggle.textContent = "+";
} else {
answer.style.display = "block";
toggle.textContent = "−";
}
}
// Loading overlay — show for 3 seconds on page load
window.addEventListener('load', function() {
const overlay = document.getElementById('loading-overlay');
if (overlay) {
setTimeout(function() {
overlay.style.transition = 'opacity 0.6s ease';
overlay.style.opacity = '0';
setTimeout(function() { overlay.style.display = 'none'; }, 600);
}, 3000);
}
});
document.getElementById("top-enter-button").addEventListener("click", function(e) {
e.preventDefault();
slowScrollToEntry();
});
Helpful Freebie Mom Guides
Keep going