/* Full-page setup */ html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; /* Prevent scrolling */ box-sizing: border-box; } /* Fullscreen slide styles */ .slide { width: 94%; height: 94%; margin-left: 4%; margin-top: 2.0rem; display: flex; justify-content: flex-start; /* Center content vertically */ align-items: center; /* Center content horizontally */ flex-direction: column; background: #f5f5f5; font-family: Arial, sans-serif; box-sizing: border-box; } /* Ensure the content container spans the full viewport */ .content { display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; /* Parent container sizing */ width: 90vw; /* Maximum width is 90% of the viewport width */ height: calc(90vw / 2.0); /* Maintain 3:2 aspect ratio */ /* Constrain height if it exceeds 90% of the viewport height */ max-height: 90vh; /* Maximum height is 90% of the viewport height */ max-width: calc(90vh * 2.0); /* Adjust width to maintain 3:2 aspect ratio */ padding: 0; /* Remove padding that could constrain content */ margin: 0; box-sizing: border-box; overflow: hidden; /* Prevent overflow */ border: 1px solid red; } .content::after { content: ""; /* Create a horizontal line */ position: absolute; left: 5vw; right: 5vw; top: 25.00%; /* 2/3 of the height */ height: 1px; /* Thickness of the line */ background-color: green; /* Color of the line */ } /* Media (images and videos) scaling */ .content img, .content video { display: block; margin: 0 auto; /* Center horizontally */ width: 100%; /* Grow to the full width of the browser window */ height: auto; /* Maintain aspect ratio */ max-height: 60vh; /* Ensure it doesn’t exceed the viewport height */ max-width: 100%; aspect-ratio: 2 / 1; object-fit: contain; /* Keep proportional scaling */ } /* Text content */ .content h1, .content h2, .content p { font-size: calc(1.0rem + 1vw); /* Scale text size based on screen width */ margin: 0.5em 0; text-align: left; /* Explicitly align text to the left */ } /* Scale navigation buttons */ .navigation { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: space-between; padding: 0 10px; box-sizing: border-box; } .navigation a, .navigation span { font-size: calc(0.75rem + 0.5vw); padding: 5px 5px; border: 2px solid #007BFF; border-radius: 5px; text-align: center; text-decoration: none; color: #007BFF; background: white; min-width: 120px; /* Ensure buttons have consistent width */ height: 20; /* Example height */ display: flex; align-items: center; justify-content: center; transition: opacity 0.3s ease, visibility 0.3s ease; user-select: none; } .navigation a:hover { background: #007BFF; color: white; } .navigation .disabled { visibility: hidden; /* Keep spacing consistent but hide the button */ opacity: 0; pointer-events: none; /* Prevent interaction */ }