body { font-family: Arial, sans-serif; margin: 0; padding: 20px; background: #f0f0f0; color: #333; transition: background 0.5s, color 0.5s, font-size 0.5s; } #floatingBanner { position: fixed; top: 0; left: 0; width: 100%; background: rgba(0, 0, 0, 0.7); color: white; padding: 10px; text-align: center; z-index: 100; font-size: 1.2em; display: none; /* Initially hidden */ } #landingPage { text-align: center; margin-top: 50px; } .emojiButton { font-size: 4em; background: none; border: none; cursor: pointer; transition: transform 0.3s; } .emojiButton:hover { transform: scale(1.2); } h1 { color: #333; } #busSection, #trainSection, #customisationSection { display: none; } button { padding: 10px 20px; font-size: 18px; background-color: #333; color: white; border: none; border-radius: 5px; cursor: pointer; } button:hover { background-color: #555; } table { width: 90%; border-collapse: collapse; font-size: 1.1em; margin-top: 20px; } th, td { padding: 12px; text-align: left; border: 1px solid #ddd; color: black; } tr:nth-child(even) { background-color: #d3e6ff; } tr:nth-child(odd) { background-color: #f3ccff; } footer { background-color: #333; color: #fff; padding: 20px 0; position: fixed; bottom: 0; width: 100%; text-align: center; } #customisationSection { margin-top: 20px; } #colorPicker, #fontPicker, #sizePicker { padding: 10px; font-size: 18px; border: 1px solid #ccc; border-radius: 5px; margin-bottom: 10px; } .bus-departure { display: inline-block; padding: 102px 20px; margin: 10px 0; border-radius: 8px; font-size: 48px; font-weight: bold; color: white; text-align: center; width: fit-content; max-width: 100%; } .green { background-color: #28a745; /* Green */ border: 3px solid #1e7e34; } .amber { background-color: #ffc107; /* Amber */ border: 3px solid #e0a800; } .red { background-color: #dc3545; /* Red */ border: 3px solid #b21f2d; } /* Background Shapes Layer */ .background-shapes { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; /* Keeps it behind all content */ overflow: hidden; } /* Shapes Styling */ .shape { position: absolute; border-radius: 50%; opacity: 0.6; /* Slight transparency */ animation: moveShapes 20s infinite linear; } /* Individual Shape Properties */ .shape-1 { background: rgba(231, 76, 60, 0.8); /* Red */ width: 100px; height: 100px; top: 10%; left: 15%; animation-duration: 15s; } .shape-2 { background: rgba(52, 152, 219, 0.8); /* Blue */ width: 150px; height: 150px; top: 40%; left: 70%; animation-duration: 20s; } .shape-3 { background: rgba(46, 204, 113, 0.8); /* Green */ width: 120px; height: 120px; top: 70%; left: 30%; animation-duration: 12s; } .shape-4 { background: rgba(241, 196, 15, 0.8); /* Yellow */ width: 180px; height: 180px; top: 20%; left: 60%; animation-duration: 250s; } .shape-5 { background: rgba(155, 89, 182, 0.8); /* Purple */ width: 80px; height: 80px; top: 50%; left: 10%; animation-duration: 18s; } /* Animation for Shapes */ @keyframes moveShapes { 0% { transform: translate(0, 0) rotate(0deg); } 25% { transform: translate(50px, -50px) rotate(45deg); } 50% { transform: translate(-50px, 50px) rotate(90deg); } 75% { transform: translate(50px, 50px) rotate(135deg); } 100% { transform: translate(0, 0) rotate(360deg); } } .departure-list { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; } .departure-box { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 100px; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 8px; transition: transform 0.2s, box-shadow 0.2s; width: 550px; text-align: center; } .departure-box:hover { transform: scale(1.05); box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15); } .bus-number { font-weight: bold; font-size: 1.2em; color: #007BFF; } .destination { font-size: 1em; margin-top: 5px; color: #333; } .departure-time { font-size: 0.9em; margin-top: 5px; color: #555; } .modern-list ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; } /* List item styling */ .modern-list li { display: flex; align-items: center; padding: 10px 15px; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 8px; width: 100%; font-size: 1rem; color: #333; cursor: pointer; } .modern-list li:hover { background-color: #007BFF; color: white; transform: translateY(-2px); box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2); } /* Bullet icon styling */ .bullet-icon { display: inline-block; width: 12px; height: 12px; margin-right: 10px; background-color: #007BFF; border-radius: 50%; transition: background-color 0.3s; } .modern-list li:hover .bullet-icon { background-color: white; } /* Modern styling for the dropdown container */ /* Responsive dropdown with green background and black text */ #results select { width: 100%; /* Span full width */ max-width: 100%; /* Prevent overflow */ padding: 12px; /* Comfortable padding */ margin-top: 12px; /* Add spacing */ font-size: 1rem; /* Readable font size */ color: #000; /* Black text */ background: linear-gradient(145deg, #28a745, #218838); /* Green background with gradient */ border: 2px solid rgba(0, 0, 0, 0.2); /* Subtle border */ border-radius: 8px; /* Rounded corners */ box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1); /* Soft shadow */ transition: all 0.3s ease-in-out; /* Smooth transitions */ cursor: pointer; /* Pointer cursor for better UX */ appearance: none; /* Custom styling */ } /* Hover effect */ #results select:hover { background: linear-gradient(145deg, #218838, #28a745); /* Invert gradient for hover */ box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2); /* More prominent shadow */ } /* Focus effect */ #results select:focus { outline: none; /* Remove default outline */ border-color: #155724; /* Darker green border on focus */ background: linear-gradient(145deg, #1e7e34, #28a745); /* Slightly darker focus gradient */ box-shadow: 0 0 10px rgba(33, 136, 56, 0.5); /* Green glow effect */ } /* Highlight selected option */ #results select:active { background: linear-gradient(145deg, #155724, #1e7e34); /* Highlight on active */ color: #fff; /* White text for contrast */ border-color: #1c7430; /* Accent border */ } /* Hover and focus effects for better interactivity */ #results select:hover, #results select:focus { border-color: #4A90E2; /* Bright blue for focus */ box-shadow: 0 8px 12px rgba(0, 0, 0, 0.15), inset 0 -2px 0 rgba(0, 0, 0, 0.1); background: linear-gradient(145deg, rgba(255, 255, 255, 1), rgba(240, 240, 240, 1)); } /* Add a slight animation when the dropdown is clicked */ @keyframes dropdown-pop { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } #results select:active { animation: dropdown-pop 0.2s ease; } /* Adding hover and focus effects */ #results select:hover, #results select:focus { border-color: #007BFF; box-shadow: 0 6px 10px rgba(0, 0, 0, 0.15); } /* Optional: Arrow icon customization */ #results select::after { content: '▼'; position: absolute; right: 15px; top: calc(50% - 8px); pointer-events: none; color: #555; } /* Optional styling for the header */ #results h2 { font-size: 1.2rem; margin-bottom: 10px; color: #333; } /* General Styles for Landing Page */ #landingPage { text-align: center; margin-top: 20px; font-family: Arial, sans-serif; } /* Button Styling */ .emojiButton { padding: 10px 20px; font-size: 1.5rem; border: none; border-radius: 8px; cursor: pointer; margin: 10px; transition: background-color 0.3s, transform 0.2s; } .emojiButton:hover { background-color: #007BFF; color: white; transform: scale(1.1); } /* Christmas Tree GIF Styling */ #christmasTree img { width: 200px; /* Adjust size as needed */ height: auto; margin-top: 20px; } /* Tinsel Styling */ #tinsel img { width: 80%; /* Reduce width to 80% of the container */ height: auto; /* Maintain aspect ratio */ margin-top: 20px; max-height: 50px; /* Ensure it stays thin */ object-fit: cover; /* Crops if necessary while keeping it proportional */ } /* Flashing Merry Christmas Message */ #christmasMessage { font-size: 1.5rem; font-weight: bold; margin-top: 20px; animation: flashColors 1s infinite; text-transform: uppercase; text-align: center; /* Align text to the center */ } /* Animation for Flashing Text */ @keyframes flashColors { 0% { color: red; } 50% { color: green; } 100% { color: red; } } /* Style for the suggestions container */ #suggestions { border: 1px solid #ccc; background-color: rgba(144, 238, 144, 0.8); /* Light green semi-transparent */ max-height: 150px; overflow-y: auto; border-radius: 4px; padding: 4px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } /* Style for individual suggestion items */ #suggestions div { padding: 10px; cursor: pointer; color: #2d2d2d; /* Dark text */ font-size: 16px; border-radius: 3px; transition: background-color 0.2s ease-in-out; } /* Highlight on hover or selection */ #suggestions div:hover { background-color: rgba(34, 139, 34, 0.9); /* Darker green */ color: white; /* Highlighted text color */ } /* Styling for input boxes */ input { width: 100%; /* Full width */ max-width: 100%; /* Prevents overflow */ padding: 12px; /* Comfortable padding */ margin: 10px 0; /* Adds spacing between inputs */ font-size: 1rem; /* Readable text size */ color: #fff; /* White text */ background-color: #000; /* Black background */ border: 1px solid #555; /* Subtle border for contrast */ border-radius: 6px; /* Rounded corners for modern look */ box-sizing: border-box; /* Ensures padding is included in the width */ transition: border-color 0.3s, box-shadow 0.3s; /* Smooth hover/focus effects */ } /* Hover effect */ input:hover { border-color: #fff; /* Highlight border on hover */ box-shadow: 0 0 10px rgba(255, 255, 255, 0.2); /* Add glow effect */ } /* Focus effect */ input:focus { outline: none; /* Removes default outline */ border-color: #4A90E2; /* Bright blue border on focus */ box-shadow: 0 0 10px rgba(74, 144, 226, 0.5); /* Subtle glow */ } #fetchButton, #downloadButton, #submitButton { display: none; } footer { text-align: center; font-size: 14px; padding: 10px; background-color: #f9f9f9; color: #555; border-top: 1px solid #ddd; } #christmasDecor { display: flex; align-items: center; justify-content: center; margin-top: 100px; gap: 80px; /* Space between tinsel and message */ } #christmasMessage { font-weight: bold; color: #d32f2f; animation: fade 2s infinite alternate; } @keyframes fade { from { opacity: 1; } to { opacity: 0.5; } } footer img { display: block; height: auto; width: auto; } footer { text-align: center; font-size: 14px; padding: 10px; background-color: rgba(255, 255, 255, 0); /* Fully transparent */ color: #555; /* Ensure text remains visible */ border-top: 1px solid rgba(0, 0, 0, 0.1); /* Subtle border */ backdrop-filter: none; /* Remove blur since no background */ box-shadow: none; /* Remove shadow for a cleaner see-through look */ } .train-departure { display: inline-block; padding: 102px 20px; margin: 10px 0; border-radius: 8px; font-size: 48px; font-weight: bold; color: white; text-align: center; width: fit-content; max-width: 100%; } .green { background-color: #28a745; /* Green */ border: 3px solid #1e7e34; } .amber { background-color: #ffc107; /* Amber */ border: 3px solid #e0a800; } .red { background-color: #dc3545; /* Red */ border: 3px solid #b21f2d; }