/* Basic Reset & Body Styling for Smoothness */ body { margin: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #1a1a1a; color: #f0f0f0; overflow: hidden; /* Prevent scrollbars initially due to overlay */ display: flex; justify-content: center; align-items: center; min-height: 100vh; /* Full viewport height */ transition: background-color 1s ease-in-out; /* Smooth background transition */ } /* Intro Overlay Styling */ #intro-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background-color: #000; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; z-index: 1000; /* Ensure it's on top */ color: #fff; cursor: pointer; transition: opacity 1s ease-out, visibility 1s ease-out; } #intro-overlay h1 { font-size: 3em; margin-bottom: 20px; opacity: 0; /* Starts hidden for fade-in effect */ transform: translateY(20px); /* Starts slightly below for smooth entry */ animation: fadeInSlideUp 1.5s ease-out forwards; } #intro-overlay p { font-size: 1.2em; opacity: 0; /* Starts hidden for fade-in effect */ transform: translateY(10px); /* Starts slightly below for smooth entry */ animation: fadeInSlideUp 1.5s ease-out forwards; animation-delay: 1s; /* Delay for this element */ } /* Keyframe Animations for Intro */ @keyframes fadeInSlideUp { to { opacity: 1; transform: translateY(0); } } /* Hidden state for elements */ .hidden { opacity: 0; visibility: hidden; } /* Main Content Styling */ #main-content { width: 90%; max-width: 1000px; padding: 20px; box-sizing: border-box; background-color: #2c2c2c; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); transition: opacity 1s ease-in, transform 1s ease-in; transform: translateY(20px); /* Starts slightly below for smooth entry */ opacity: 0; /* Will be made visible by JS */ } #main-content.visible { opacity: 1; visibility: visible; transform: translateY(0); } /* Tabs Styling */ .tabs { display: flex; justify-content: center; margin-bottom: 20px; border-bottom: 2px solid #555; padding-bottom: 5px; } .tab-button { background-color: transparent; border: none; padding: 10px 20px; cursor: pointer; font-size: 1.1em; color: #aaa; transition: color 0.3s ease, border-bottom 0.3s ease; border-bottom: 3px solid transparent; /* For the active indicator */ margin: 0 5px; } .tab-button:hover { color: #fff; } .tab-button.active { color: #4CAF50; /* Green for active tab */ border-bottom: 3px solid #4CAF50; font-weight: bold; } /* Tab Content Styling */ .tab-content { display: none; /* Hidden by default */ padding: 15px; background-color: #3a3a3a; border-radius: 5px; line-height: 1.6; opacity: 0; /* For fade transition */ transform: translateY(10px); /* For slide-up transition */ transition: opacity 0.5s ease-out, transform 0.5s ease-out; /* ADDITIONS FOR SCROLLING */ max-height: 60vh; /* Adjust this value as needed, e.g., 500px, 70vh */ overflow-y: auto; /* Adds vertical scrollbar when content overflows */ scrollbar-width: thin; /* Firefox */ scrollbar-color: #555 #3a3a3a; /* Firefox thumb and track */ } /* Webkit scrollbar styling (for Chrome, Safari, Edge) */ .tab-content::-webkit-scrollbar { width: 8px; } .tab-content::-webkit-scrollbar-track { background: #3a3a3a; /* Track color */ border-radius: 10px; } .tab-content::-webkit-scrollbar-thumb { background-color: #555; /* Thumb color */ border-radius: 10px; border: 2px solid #3a3a3a; /* Padding around thumb */ } .tab-content.active { display: block; /* Show active content */ opacity: 1; transform: translateY(0); } /* Image Styling within Tab Content */ .tab-content img { max-width: 100%; /* Ensure images don't overflow their container */ height: auto; /* Maintain aspect ratio */ display: block; /* Remove extra space below image */ margin: 20px auto; /* Center images with some vertical spacing */ border-radius: 5px; /* Slightly rounded corners for images */ } /* Responsive Design */ @media (max-width: 768px) { #intro-overlay h1 { font-size: 2em; } #intro-overlay p { font-size: 1em; } .tab-button { padding: 8px 15px; font-size: 0.9em; } #main-content { width: 95%; padding: 15px; } .tab-content { max-height: 50vh; /* Adjust max-height for smaller screens if needed */ } } @media (max-width: 480px) { .tabs { flex-direction: column; } .tab-button { margin: 5px 0; width: 100%; } }