/* General Body Styles */ body { background-color: #0a2e36; /* Dark teal background */ color: #ffffff; /* White text */ font-family: 'Poppins', sans-serif; padding-top: 40px; /* Make space for garland */ } /* Headings */ h1, h2, h3, h4, h5, h6 { color: #ffffff !important; /* Use !important to override other styles if necessary */ } /* Christmas Tree */ .christmas-tree-container { position: fixed; bottom: 0; width: 100px; height: 150px; z-index: 100; } .christmas-tree-container.left { left: 20px; } .christmas-tree-container.right { right: 20px; } .tree { position: relative; width: 100%; height: 100%; } .tree::before { /* The tree itself */ content: ''; position: absolute; bottom: 30px; /* Height of the trunk */ left: 0; width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 120px solid #2C5F2D; /* Dark green */ } .tree::after { /* The trunk */ content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 20px; height: 30px; background: #5C3D2E; /* Brown */ } .ornament { position: absolute; width: 10px; height: 10px; border-radius: 50%; background: #ff6f61; /* Coral red */ } .ornament.o1 { top: 50px; left: 45px; } .ornament.o2 { top: 70px; left: 30px; background: #ffff24; } .ornament.o3 { top: 75px; left: 60px; background: #2424ff; } .ornament.o4 { top: 95px; left: 40px; } .ornament.o5 { top: 100px; left: 15px; background: #24ff24;} .ornament.o6 { top: 105px; left: 70px; background: #ff24ff;} /* Garland */ body::before { content: ''; position: fixed; top: 10px; left: -5%; width: 110%; height: 20px; background: radial-gradient(circle, #ff2424 4px, transparent 5px), radial-gradient(circle, #24ff24 4px, transparent 5px), radial-gradient(circle, #2424ff 4px, transparent 5px), radial-gradient(circle, #ffff24 4px, transparent 5px), radial-gradient(circle, #ff24ff 4px, transparent 5px); background-size: 100px 20px; background-position: 0 0, 20px 0, 40px 0, 60px 0, 80px 0; background-repeat: repeat-x; z-index: 1031; animation: garland-animation 1.5s infinite; } @keyframes garland-animation { 50% { filter: brightness(0.7); } } /* Navbar */ .navbar { background-color: rgba(10, 46, 54, 0.8) !important; /* Semi-transparent dark teal */ backdrop-filter: blur(10px); border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .navbar-brand { color: #ffffff !important; font-weight: 600; } /* Main Content */ .display-4 { font-weight: 700; color: #ffffff; } .lead { color: #ffffff; } /* Cards */ .card { background-color: rgba(255, 255, 255, 0.05); border: none; border-radius: 15px; } .card-body { color: #ffffff; } /* Forms */ .form-label { color: #ffffff; } .form-control { background-color: rgba(0, 0, 0, 0.2); border: 1px solid rgba(255, 255, 255, 0.1); color: #ffffff; border-radius: 8px; } .form-control:focus { background-color: rgba(0, 0, 0, 0.3); border-color: #ff6f61; /* Coral red accent */ box-shadow: 0 0 0 0.25rem rgba(255, 111, 97, 0.25); color: #ffffff; } .form-control::placeholder { color: rgba(255, 255, 255, 0.5); } /* Buttons */ .btn-primary { background-color: #ff6f61; /* Coral red */ border-color: #ff6f61; font-weight: 600; padding: 12px 30px; border-radius: 50px; transition: all 0.3s ease; } .btn-primary:hover { background-color: #e65a50; border-color: #e65a50; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(255, 111, 97, 0.2); } .btn-outline-secondary { border-color: rgba(255, 255, 255, 0.8); color: #ffffff; font-weight: 600; padding: 12px 30px; border-radius: 50px; transition: all 0.3s ease; } .btn-outline-secondary:hover { background-color: rgba(255, 255, 255, 0.1); color: #ffffff; border-color: #ffffff; } .btn-secondary { background-color: rgba(255, 255, 255, 0.15); border: none; color: #ffffff; } /* Shopping List & Recipe Cards */ #shopping-list-container .text-muted, #recipe-cards-container .text-muted { color: #ffffff !important; } .recipe-card { background-color: rgba(255, 255, 255, 0.1); border-radius: 10px; padding: 15px; margin-bottom: 15px; } /* Footer */ footer.bg-light { background-color: transparent !important; border-top: 1px solid rgba(255, 255, 255, 0.1); color: #ffffff; } /* Snow Effect */ #snow-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 1032; overflow: hidden; } .snowflake { position: absolute; top: -20px; background: #fff; border-radius: 50%; opacity: 0.8; pointer-events: none; animation: fall linear infinite; } @keyframes fall { to { transform: translateY(105vh); opacity: 0; } }