/* Basic page setup */
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: sans-serif;
    overflow: hidden;
}

/* The container that holds the background image */
#background-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
/*    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(graphics/bg.jpg);*/
    background-color: #fff;
}

/* Main container for all centered content */
.content-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    flex-direction: column;
    gap: 20px;
}

/* Styling for the main site logo at the top */
.site_logo img {
    max-height: 170px;
    width: auto;
    margin-top: -4rem;
}

/* Flex container for the three logo boxes */
.logos {
    display: flex;
    gap: 40px;
    justify-content: center;
    align-items: center;
    width: 90%;
}

/* The styled box with the fixed aspect ratio */
.image-container {
    width: 30%;
    max-width: 350px;
    aspect-ratio: 15 / 7;
    background-color: #000;
    background-color: transparent;
    border: 1px solid #000;
    transition: transform 0.2s ease;
}

.image-container:hover {
    transform: scale(1.05);
}

/* Make the link the positioning context for the overlay */
.image-container a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 8px;
    border-radius: 0;
}

/* Style the image */
.image-container img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 15px;
    box-sizing: border-box;
    transition: opacity 0.3s ease-in-out;
}

/* Style the description overlay */
.description {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1.4;
    opacity: 0; /* Hidden by default */
    transition: opacity 0.3s ease-in-out;
}

/* --- The Hover Effect --- */
.image-container:hover img {
    opacity: 0.1; /* Fade out the logo */
}

.image-container:hover .description {
    opacity: 1; /* Fade in the description */
}


/* --- Responsive Styles for Smaller Screens --- */
@media (max-width: 768px) {
    .logos {
        flex-direction: column;
        gap: 30px;
    }

    .image-container {
        width: 80%;
        max-width: 300px;
    }
}