/* 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 */
}