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

