/* General Body Styles */ body { background-color: #142E35; /* Dark green background */ color: #ffffff; /* White text */ font-family: 'Poppins', sans-serif; } /* Headings */ h1, h2, h3, h4, h5, h6 { color: #ffffff !important; /* Use !important to override other styles if necessary */ } /* Buttons and Inputs */ input, button, .btn { border-radius: 8px; } /* Garland */ body::before { content: ''; position: fixed; top: 10px; left: -5%; width: 110%; height: 20px; background: radial-gradient(circle, #C83434 4px, transparent 5px), radial-gradient(circle, #142E35 4px, transparent 5px), radial-gradient(circle, #FFAFCA 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(20, 46, 53, 0.8) !important; /* Semi-transparent dark green */ 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; } .form-control:focus { background-color: rgba(0, 0, 0, 0.3); border-color: #0a1a1f; /* Dark green accent */ box-shadow: 0 0 0 0.25rem rgba(10, 26, 31, 0.25); color: #ffffff; } .form-control::placeholder { color: rgba(255, 255, 255, 0.5); } /* Buttons */ .btn-primary, .btn-danger { background-color: #C83434 !important; /* Coral red */ border-color: #C83434 !important; font-weight: 600; padding: 12px 30px; transition: all 0.3s ease; } .btn-primary:hover, .btn-danger:hover { background-color: #a02929 !important; border-color: #a02929 !important; transform: translateY(-2px); box-shadow: 0 4px 15px rgba(200, 52, 52, 0.2); } .btn-outline-secondary { border-color: rgba(255, 255, 255, 0.8); color: #ffffff; font-weight: 600; padding: 12px 30px; 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; padding: 12px 30px; } /* 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; } /* 3-Column Layout Adjustments */ .row.g-4 > [class*='col-'] .card { height: 100%; /* Make cards in columns equal height */ } #recipe-cards-container, #shopping-list-container { max-height: 60vh; /* Adjust as needed */ overflow-y: auto; padding: 10px; } /* Custom scrollbar for webkit browsers */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.2); border-radius: 4px; } ::-webkit-scrollbar-thumb { background: #0a1a1f; /* Even darker green */ border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: #10242B; /* Slightly lighter than thumb */ } /* 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; } } /* Shopping List Checkbox */ .list-group-item.checked .form-check-label { text-decoration: line-through; opacity: 0.6; } .unit-btn { padding: 0.375rem 0.5rem; font-size: 0.875rem; } /* Adjust padding for the remove button in the ingredient row */ .ingredient-row .remove-ingredient { padding: 0.375rem 0.75rem; } /* Custom Shopping List Styles */ .col-md-4:has(#shopping-list-container) .card { background-color: transparent; box-shadow: none !important; border: 1px solid rgba(255, 255, 255, 0.1); } #shopping-list-container .list-group-item { background-color: transparent; color: #ffffff; border-color: rgba(255, 255, 255, 0.1) !important; } /* Custom Checkbox Styles */ .form-.form-check-input { background-color: transparent; border: 1px solid #ffffff; } .form-check-input:checked { background-color: #C83434; border-color: #C83434; } .form-check-input:focus { border-color: #0a1a1f; box-shadow: 0 0 0 0.25rem rgba(10, 26, 31, 0.25); } @media print { body * { visibility: hidden; } #shopping-list-container, #shopping-list-container * { visibility: visible; } #shopping-list-container { position: absolute; left: 0; top: 0; width: 100%; } .card { border: none !important; box-shadow: none !important; } .list-group-item { color: #000 !important; background-color: #fff !important; } .badge { color: #000 !important; background-color: #fff !important; border: 1px solid #ccc; } .form-check-input { border: 1px solid #000 !important; } h2, h3 { color: #000 !important; } } .bg-custom-green { background-color: #142E35 !important; } /* Modal Styles */ #recipe-form-modal .modal-content, #add-product-modal .modal-content, #confirmRemoveModal .modal-content { background-color: #142E35; color: white; } #recipe-form-modal .modal-header, #add-product-modal .modal-header, #confirmRemoveModal .modal-header { border-bottom: 1px solid rgba(255, 255, 255, 0.2); } #recipe-form-modal .modal-footer, #add-product-modal .modal-footer, #confirmRemoveModal .modal-footer { border-top: 1px solid rgba(255, 255, 255, 0.2); } #recipe-form-modal .btn-close, #add-product-modal .btn-close, #confirmRemoveModal .btn-close { filter: invert(1); } #category-filters .btn.active { background-color: #142E35; border-color: #142E35; color: white; } /* Recipe Card Category Label */ .card { position: relative; } .recipe-category-label { position: absolute; top: 10px; right: 10px; background-color: #142E35; color: white; padding: 5px 10px; border-radius: 5px; font-size: 0.8em; font-weight: 600; z-index: 1; } #category-filters .btn { padding: 8px 15px; font-size: 0.9rem; } /* Shopping List Quantity Controls */ .btn.btn-quantity-modifier { width: 32px; height: 32px; border-radius: 50%; padding: 0; font-size: 1.2rem; font-weight: bold; line-height: 1; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255, 255, 255, 0.2); outline: none; box-shadow: none; color: white; background-color: rgba(255, 255, 255, 0.1); transition: background-color 0.2s ease; } .btn.btn-quantity-modifier:hover { background-color: rgba(255, 255, 255, 0.2); } .quantity-controls .quantity { margin: 0 10px; } /* Make delete recipe button same height as edit button */ .card .btn.delete-recipe { padding: .25rem .5rem; }