Spaces:
Sleeping
Sleeping
<!--Shiva--> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> | |
<title>Happy Raksha Bandhan!</title> | |
<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=Tangerine:wght@700&family=Hind:wght@400;600&display=swap" rel="stylesheet"/> | |
<style> | |
:root { | |
--rani-pink: #e42c8c; | |
--marigold: #ffc048; | |
--gold: #ffd700; | |
--cream: #fff9e6; | |
--deep-maroon: #800000; | |
--text-brown: #5c3b1e; | |
} | |
/* (All previous CSS is the same) */ | |
* { box-sizing: border-box; } | |
body { | |
margin: 0; padding: 0; font-family: 'Hind', sans-serif; | |
background: radial-gradient(circle, var(--cream), var(--marigold)); | |
display: flex; justify-content: center; align-items: center; | |
min-height: 100vh; padding: 40px 20px; | |
} | |
.card { | |
background: var(--cream); width: 100%; max-width: 500px; | |
padding: 40px 30px; border-radius: 20px; border: 4px solid var(--gold); | |
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2); text-align: center; | |
position: relative; animation: fadeInCard 1.2s ease-out; | |
} | |
@keyframes fadeInCard { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } } | |
.card::before, .card::after { | |
content: 'β'; font-size: 48px; color: var(--rani-pink); opacity: 0.4; | |
position: absolute; animation: spin 20s linear infinite; | |
} | |
.card::before { top: 15px; left: 15px; } | |
.card::after { bottom: 15px; right: 15px; } | |
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } | |
.title { | |
font-family: 'Tangerine', cursive; font-size: 4.5em; color: var(--rani-pink); | |
margin: 0; text-shadow: 0 0 10px rgba(228, 44, 140, 0.15); | |
animation: glow 2.5s infinite alternate; | |
} | |
@keyframes glow { from { text-shadow: 0 0 5px rgba(228, 44, 140, 0.1); } to { text-shadow: 0 0 20px var(--gold); } } | |
.subtitle { font-size: 1.4em; font-weight: 600; color: var(--deep-maroon); margin-top: 18px; } | |
.rakhi-svg { | |
width: 110px; height: 110px; margin: 30px auto; | |
animation: popIn 1s ease-out, float 4s ease-in-out infinite; | |
} | |
@keyframes popIn { from { transform: scale(0); } to { transform: scale(1); } } | |
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } } | |
.message { font-size: 1.1em; color: var(--text-brown); margin: 20px 0; line-height: 1.6; } | |
/* --- CSS CHANGES START HERE --- */ | |
.blessing-container { | |
margin-top: 25px; | |
padding: 18px; | |
background: rgba(255, 223, 100, 0.15); | |
border-radius: 12px; | |
border: 2px dashed var(--gold); | |
position: relative; /* This is needed to position the overlay inside */ | |
} | |
.blessing-overlay { | |
position: absolute; | |
inset: 0; /* This is a modern shorthand for top:0, right:0, bottom:0, left:0 */ | |
background: linear-gradient(135deg, var(--rani-pink), var(--marigold)); | |
color: white; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
border-radius: 10px; /* Match the parent's border-radius */ | |
cursor: pointer; | |
transition: opacity 0.8s ease-in-out; /* Controls the fade-out speed */ | |
z-index: 2; /* Ensures it sits on top of the text */ | |
} | |
.blessing-overlay p { | |
font-weight: 600; | |
font-size: 1.2em; | |
padding: 10px; | |
text-shadow: 1px 1px 3px rgba(0,0,0,0.2); | |
} | |
/* --- CSS CHANGES END HERE --- */ | |
.blessing { font-size: 1.15em; font-weight: 600; color: var(--deep-maroon); } | |
.signature { font-family: 'Tangerine', cursive; font-size: 2.4em; color: var(--rani-pink); margin-top: 30px; } | |
@media (max-width: 600px) { | |
/* (Responsive CSS is unchanged) */ | |
.title { font-size: 3.4em; } .subtitle { font-size: 1.15em; } | |
.message { font-size: 1em; } .blessing { font-size: 1.05em; } | |
.signature { font-size: 2em; } | |
.card::before, .card::after { font-size: 32px; } | |
.rakhi-svg { width: 90px; height: 90px; } | |
} | |
</style> | |
</head> | |
<body> | |
<div class="card"> | |
<h1 class="title">Happy Raksha Bandhan!</h1> | |
<p class="subtitle">To my dearest sister,</p> | |
<svg class="rakhi-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> | |
<style> | |
.rakhi-thread { stroke: #e42c8c; stroke-width: 2; stroke-dasharray: 2 2; animation: dash 1s linear infinite; } | |
.rakhi-center { fill: #ffc048; filter: drop-shadow(0 0 2px #c71585); } | |
.rakhi-gem { fill: #40E0D0; } | |
.rakhi-pearl { fill: #fff9e6; stroke: #ffd700; stroke-width: 0.5; } | |
@keyframes dash { to { stroke-dashoffset: -8; } } | |
</style> | |
<path class="rakhi-thread" d="M0 50 H 25" /> | |
<path class="rakhi-thread" d="M75 50 H 100" /> | |
<circle class="rakhi-center" cx="50" cy="50" r="22"/> | |
<circle cx="50" cy="50" r="15" fill="#c71585"/> | |
<path d="M50 38 L55 48 L62 50 L55 52 L50 62 L45 52 L38 50 L45 48 Z" fill="#ffd700"/> | |
<circle class="rakhi-gem" cx="50" cy="50" r="5"/> | |
<circle class="rakhi-pearl" cx="28" cy="50" r="3"/> | |
<circle class="rakhi-pearl" cx="72" cy="50" r="3"/> | |
</svg> | |
<p class="message"> | |
On this special day, I'm sending you all the love and wishes.Thank you for being someone I've shared talks and walks with, a guide, a best friend.This thread is not just silk and color, but a promise of my love and support β forever and always. | |
</p> | |
<div class="blessing-container"> | |
<div class="blessing-overlay" onclick="revealBlessing(this)"> | |
<p>π A Special Note For You...<br>(Tap to Reveal)</p> | |
</div> | |
<p class="blessing"> | |
<strong>Dear Sister,</strong><br> | |
Akka! I never did anything great to your life. It was you who stood by in all situations holding this family.<br> | |
I'm really blessed to have you in my life.Never be worried/sad, let's be honest, it dosen't suit you :)<br> | |
In the next birth! I want to be your sister and you to be my brother. SO I can take care of you just like how you did!<br> | |
I wnat you to reach greater achievements and be the best version of yourself.<br> | |
May this Raksha Bandhan bring you all the happiness and success you deserve. May your life be filled with joy, love, and endless opportunities. Remember, I am always here for you, cheering you on every step of the way. | |
</p> | |
</div> | |
<p class="signature">With Love,<br>Your Brother</p> | |
</div> | |
<script> | |
function revealBlessing(element) { | |
// This makes the overlay fade out | |
element.style.opacity = '0'; | |
// This makes the faded overlay unclickable | |
element.style.pointerEvents = 'none'; | |
} | |
</script> | |
</body> | |
</html> | |
<!-- | |
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8" /> | |
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> | |
<title>Happy Raksha Bandhan!</title> | |
<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=Tangerine:wght@700&family=Hind:wght@400;600&display=swap" rel="stylesheet"/> | |
<style> | |
/* --- Root Variables and Original Card Styles (Untouched) --- */ | |
:root { | |
--rani-pink: #e42c8c; | |
--marigold: #ffc048; | |
--gold: #ffd700; | |
--cream: #fff9e6; | |
--deep-maroon: #800000; | |
--text-brown: #5c3b1e; | |
--envelope-bg: #f7e4a8; | |
--envelope-shadow: rgba(0,0,0,0.2); | |
} | |
* { | |
box-sizing: border-box; | |
margin: 0; | |
padding: 0; | |
} | |
body { | |
font-family: 'Hind', sans-serif; | |
background: radial-gradient(circle, var(--cream), var(--marigold)); | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
min-height: 100vh; | |
padding: 40px 20px; | |
} | |
/* --- New Envelope Styles --- */ | |
.envelope-wrapper { | |
position: relative; | |
cursor: pointer; | |
} | |
.envelope { | |
position: relative; | |
width: 320px; | |
height: 200px; | |
background-color: var(--envelope-bg); | |
box-shadow: 0 4px 20px var(--envelope-shadow); | |
transition: all 0.5s 0.8s ease-in-out; /* Delay transition */ | |
} | |
.envelope::before { /* Front bottom part of envelope */ | |
content: ''; | |
position: absolute; | |
top: 100px; | |
left: 0; | |
width: 100%; | |
height: 100px; | |
background: var(--envelope-bg); | |
z-index: 3; | |
border-top: 1px solid rgba(0,0,0,0.1); | |
} | |
.flap { | |
position: absolute; | |
width: 100%; | |
height: 100px; | |
background-color: var(--envelope-bg); | |
top: 0; | |
left: 0; | |
z-index: 4; | |
transform-origin: top; | |
transition: transform 0.5s ease-in-out; | |
clip-path: polygon(0 0, 100% 0, 50% 100%); | |
border-bottom: 2px solid rgba(0,0,0,0.1); | |
} | |
/* --- The user's original card, now positioned inside the envelope --- */ | |
.card { | |
background: var(--cream); | |
width: 100%; | |
max-width: 500px; | |
padding: 40px 30px; | |
border-radius: 20px; | |
border: 4px solid var(--gold); | |
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2); | |
text-align: center; | |
position: absolute; /* Changed for positioning */ | |
bottom: 0; | |
left: 50%; | |
z-index: 2; | |
opacity: 0; /* Initially hidden */ | |
transform: translateX(-50%) translateY(100px); /* Start below */ | |
transition: transform 0.8s 0.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.5s 0.5s; | |
} | |
/* --- Envelope Opening Animations --- */ | |
.envelope-wrapper.open .flap { | |
transform: rotateX(180deg); | |
z-index: 1; | |
transition-delay: 0s; | |
} | |
.envelope-wrapper.open .card { | |
opacity: 1; | |
transform: translateX(-50%) translateY(-150px); | |
transition-delay: 0.5s; | |
} | |
.envelope-wrapper.open .envelope { | |
transform: translateY(1100px); | |
transition-delay: 1s; /* Envelope fades after card comes up */ | |
} | |
/* --- Original Card Animations & Styles (Untouched) --- */ | |
@keyframes fadeInCard { | |
from { opacity: 0; transform: scale(0.9); } | |
to { opacity: 1; transform: scale(1); } | |
} | |
.card::before, .card::after { | |
content: 'β'; | |
font-size: 48px; | |
color: var(--rani-pink); | |
opacity: 0.4; | |
position: absolute; | |
animation: spin 20s linear infinite; | |
} | |
.card::before { top: 15px; left: 15px; } | |
.card::after { bottom: 15px; right: 15px; } | |
@keyframes spin { | |
from { transform: rotate(0deg); } | |
to { transform: rotate(360deg); } | |
} | |
.title { | |
font-family: 'Tangerine', cursive; | |
font-size: 4.5em; | |
color: var(--rani-pink); | |
margin: 0; | |
text-shadow: 0 0 10px rgba(228, 44, 140, 0.15); | |
animation: glow 2.5s infinite alternate; | |
} | |
@keyframes glow { | |
from { text-shadow: 0 0 5px rgba(228, 44, 140, 0.1); } | |
to { text-shadow: 0 0 20px var(--gold); } | |
} | |
.subtitle { | |
font-size: 1.4em; | |
font-weight: 600; | |
color: var(--deep-maroon); | |
margin-top: 18px; | |
} | |
.rakhi-svg { | |
width: 110px; | |
height: 110px; | |
margin: 30px auto; | |
animation: popIn 1s ease-out 1.5s, float 4s ease-in-out infinite 2.5s; | |
animation-fill-mode: backwards; | |
} | |
@keyframes popIn { | |
from { transform: scale(0); } | |
to { transform: scale(1); } | |
} | |
@keyframes float { | |
0%, 100% { transform: translateY(0); } | |
50% { transform: translateY(-12px); } | |
} | |
.message { | |
font-size: 1.1em; | |
color: var(--text-brown); | |
margin: 20px 0; | |
line-height: 1.6; | |
} | |
.blessing-container { | |
margin-top: 25px; | |
padding: 18px; | |
background: rgba(255, 223, 100, 0.15); | |
border-radius: 12px; | |
border: 2px dashed var(--gold); | |
} | |
.blessing { | |
font-size: 1.15em; | |
font-weight: 600; | |
color: var(--deep-maroon); | |
} | |
.signature { | |
font-family: 'Tangerine', cursive; | |
font-size: 2.4em; | |
color: var(--rani-pink); | |
margin-top: 30px; | |
} | |
/* --- Original Responsive Styles (Untouched) --- */ | |
@media (max-width: 600px) { | |
.card { | |
padding: 30px 20px; | |
transform: translateX(-50%) translateY(-120px) scale(0.9); | |
} | |
.envelope-wrapper.open .card { | |
transform: translateX(-50%) translateY(-120px) scale(0.9); | |
} | |
.title { font-size: 3.4em; } | |
.subtitle { font-size: 1.15em; } | |
.message { font-size: 1em; } | |
.blessing { font-size: 1.05em; } | |
.signature { font-size: 2em; } | |
.card::before, .card::after { font-size: 32px; } | |
.rakhi-svg { width: 90px; height: 90px; } | |
} | |
</style> | |
</head> | |
<body> | |
<div class="envelope-wrapper"> | |
<div class="envelope"> | |
<div class="flap"></div> | |
<div class="card"> | |
<h1 class="title">Happy Raksha Bandhan!</h1> | |
<p class="title">To my dearest sister,</p> | |
<svg class="rakhi-svg" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> | |
<style> | |
.rakhi-thread { stroke: #e42c8c; stroke-width: 2; stroke-dasharray: 2 2; animation: dash 1s linear infinite; } | |
.rakhi-center { fill: #ffc048; filter: drop-shadow(0 0 2px #c71585); } | |
.rakhi-gem { fill: #40E0D0; } | |
.rakhi-pearl { fill: #fff9e6; stroke: #ffd700; stroke-width: 0.5; } | |
@keyframes dash { to { stroke-dashoffset: -8; } } | |
</style> | |
<path class="rakhi-thread" d="M0 50 H 25" /> | |
<path class="rakhi-thread" d="M75 50 H 100" /> | |
<circle class="rakhi-center" cx="50" cy="50" r="22"/> | |
<circle cx="50" cy="50" r="15" fill="#c71585"/> | |
<path d="M50 38 L55 48 L62 50 L55 52 L50 62 L45 52 L38 50 L45 48 Z" fill="#ffd700"/> | |
<circle class="rakhi-gem" cx="50" cy="50" r="5"/> | |
<circle class="rakhi-pearl" cx="28" cy="50" r="3"/> | |
<circle class="rakhi-pearl" cx="72" cy="50" r="3"/> | |
</svg> | |
<p class="message"> | |
On this special day, I'm sending you all the love and wishes. <br>Thank you for being someone I've shared talks and walks with, a guide, a best friend. <br>This thread is not just silk and color, but a promise of my love and support β forever and always. | |
</p> | |
<div class="blessing-container"> | |
<p class="blessing"> | |
Have an amazing time filled with success, joy, and happiness in everything you do have going forward!<br> | |
Never be worried/sad, let's be honest, it dosen't suit you :)<br> | |
PS don't forget, There is always a support behind you in me!<br> | |
</p> | |
</div> | |
<p class="signature">With Love,<br>Your Brother</p> | |
</div> | |
</div> | |
</div> | |
<script> | |
const envelope = document.querySelector('.envelope-wrapper'); | |
envelope.addEventListener('click', () => { | |
envelope.classList.add('open'); | |
}); | |
</script> | |
</body> | |
</html>--> |