/* Basic styling for the entire page */ body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; font-family: 'Great Vibes', cursive; /* Use Great Vibes font */ background-image: url('../images/background.gif'); background-size: cover; background-position: center; background-repeat: no-repeat; backdrop-filter: blur(4px); /* Apply blur effect */ } /* Invitation card container with 3D perspective */ .invitation-card { width: 100%; max-width: 650px; height: 100%; max-height: 850px; perspective: 900px; /* Creates the 3D effect */ position: relative; overflow: hidden; cursor: pointer; animation: pulse 5s infinite; } .invitation-card:hover { animation: none; } /* Inner container for the flip effect */ .card-inner { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform 0.8s ease-in-out; } .invitation-card.flipped .card-inner { transform: rotateY(180deg); } /* Styling for the front and back of the card */ .card-front, .card-back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; border-radius: 10px; overflow: hidden; display: flex; justify-content: center; align-items: center; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a shadow for a better visual appearance */ } .card-image { width: 100%; height: 100%; object-fit: cover; /* Ensures the image covers the entire card */ } /* Flip the back side of the card */ .card-back { transform: rotateY(180deg); } /* Text on top of the card */ .card-text { position: absolute; width: 100%; height: 100%; display: flex; text-align: center; justify-content: center; align-items: center; flex-direction: column; padding: 20px; color: rgba(249, 104, 14, 0.671); -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: rgba(0, 0, 0, 0.2); box-sizing: border-box; } .title-text { position: absolute; width: 100%; height: 100%; text-align: center; flex-direction: column; padding: 20px; display: inline-block; /* This makes the underline match the text width */ color: rgba(249, 104, 14, 0.671); font-size: 40px; font-style: italic; -webkit-text-stroke-width: 1px; -webkit-text-stroke-color: rgba(0, 0, 0, 0.2); box-sizing: border-box; } h1, h2, p { margin: 5px; } .custom-text-align { max-width: 80%; margin: 0 auto; padding-top: 20%; padding-left: 20px; padding-right: 20px; } h1 { font-size: 2em; } h2 { font-size: 1.5em; } p { font-size: 1.6em; } /* Outer glow effect for text */ .card-text h1, .card-text p { text-shadow: 0 0 10px rgba(170, 103, 2, 0.8); } .custom-text-align p { text-shadow: 0 0 40px rgba(255, 255, 255, 0.8); } /* Hover hint styling */ .hover-hint { position: absolute; bottom: 20%; left: 50%; font-size: 20px; transform: translateX(-50%); color: white; background: rgba(0, 0, 0, 0.5); padding: 20px 40px; border-radius: 5px; opacity: 0; /* Initially hidden */ transition: opacity 0.3s ease; z-index: 1; pointer-events: none; /* Avoid interaction when hidden */ } /* Hover hint disappears on hover */ .invitation-card:hover .hover-hint { opacity: 0; pointer-events: none; } /* Language switcher styles */ .language-switcher { position: absolute; top: 20px; right: 20px; } .language-switcher a { color: white; text-decoration: none; padding: 10px 20px; background-color: rgba(0, 0, 0, 0.6); border-radius: 5px; margin: 0 5px; transition: background-color 0.3s ease; } .language-switcher a:hover { background-color: rgba(0, 0, 0, 0.8); } /* Menu styles similar to language switcher */ .menu-btn { color: white; background-color: rgba(0, 0, 0, 0.6); border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; transition: background-color 0.3s ease; position: absolute; top: 10px; left: 20px; } .menu-btn:hover { background-color: rgba(0, 0, 0, 0.8); } .retractable-menu { display: none; position: absolute; top: 60px; left: 20px; background-color: rgba(0, 0, 0, 0.6); border-radius: 5px; padding: 10px 20px; } .retractable-menu.open { display: block; } .retractable-menu ul { list-style: none; padding: 0; margin: 0; } .retractable-menu ul li { margin: 10px 0; } .retractable-menu ul li a { color: white; text-decoration: none; padding: 10px 20px; display: block; background-color: rgba(0, 0, 0, 0.6); border-radius: 5px; transition: background-color 0.3s ease; } .retractable-menu ul li a:hover { background-color: rgba(0, 0, 0, 0.8); } /* Mobile responsiveness */ @media (max-width: 600px) { body { height: auto; padding: 20px; background-size: cover; } .invitation-card { max-width: 95vw; max-height: 80vh; margin: 0 auto; padding: 10px; } h1 { font-size: 1.5em; } h2 { font-size: 1.2em; } p { font-size: 1em; } }