﻿.body, html {
    margin: 0;
}

.header {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    border-bottom: solid 1px lightgray;
    margin-bottom: 3%;
    box-shadow: 5px 5px 10px;
    padding: 1%;
    color: white;
}

.noItems {
    text-align: center;
    padding-top: 15%;
    text-shadow: #ffffff 0px 0px 10px;
}

.gallery, .albumListPage {
    display: grid;
    grid-template-columns: 10vw 88vw;
    gap: 1%;
}


.imagesList {
    display: flex;
    gap: 2%;
    height: 73vh;
    flex-direction: column;
    overflow-y: scroll;
    align-items: center;
}

.categorieBtns {
    display: flex;
    gap: 1%;
    padding-left: 3%;
    padding-right: 3%;
    flex-direction: column;
    overflow-y: scroll;
    height: 70vh;
}

.imgThumbnail {
    margin: 0% 0.5% 0% 0.5%;
    overflow-x: auto;
    border: solid 1px white;
    object-fit: contain;
    background-color: white;
}

    .imgThumbnail:hover {
        background-color: #555555;
        transform: scale(1.1);
        cursor: pointer;
    }

.imageDisplay {
    text-align: center;
    height: 72vh;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    width: 98%;
}
.image {
    width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.imageStoryDisplay{
    display: grid;
    grid-template-columns: 70% 30%;
}



.storyDisplay {
    border: solid 3px white;
    padding: 3%;
    height: 72vh;
    background-color: lightgray;
    overflow-y: scroll;
}

.storyDisplay h2 {
    text-align: center;
}

#albumsList {
    display: flex;
    flex-wrap: wrap;
    height: 70vh;
    overflow-y: scroll;
    width: 89vw;
}

#eventsList {
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.card-img-top {
    height: 200px;
    text-align: center;
    object-fit: fill;
}

.imageCard {
    text-decoration: none;
    color: black;
}

.card-body {
    height: 150px;
}

.card-title {
    font-size: 1.3rem;
    text-align: center;
    border-bottom: 0.5px solid gray;
}

.imageCard:hover {
    color: white;
}

.w-25 {
    width: 100% !important;
}

@media (max-width: 980px) {
    .gallery, .albumListPage {
        grid-template-columns: 100vw;
        padding-left: 5%;
        padding-right: 5%;
    }

    .imageStoryDisplay {
        grid-template-columns: 90vw;
    }

    .imageDisplay {
        height: 280px;
        width: 360px;
    }

    .storyDisplay {
        width: 90vw;
        margin-top: 10%;
        margin-bottom: 10%;
        border: solid 1px white;
        height: 60vh;
    }

    .categorieBtns {
        flex-direction: row;
        height: 6vh;
        gap: 2%;
        width: 90vw;
        padding-top: 5%;
        overflow: scroll;
        white-space: nowrap; /* Prevents wrapping */
        padding-bottom: 16px; /* Creates space between content and scrollbar */
        box-sizing: content-box; /* Ensures padding doesn't shrink content box */
    }

        .categorieBtns .btn {
            width: 100px;
            flex-shrink: 0;
            display: flex;
            justify-content: center; /* Center horizontally */
            align-items: center; /* Center vertically */
            white-space: normal;
            object-fit: contain;
        }

    .col-lg-3 {
        width: 100%;
    }

    #albumsList {
        justify-content: center;
        margin-bottom: 10%;
    }

    .imagesList {
        gap: 3%;
        height: 15vh;
        width: 90vw;
        overflow: scroll;
        flex-direction: row;
        align-items: center;
        align-content: center;
    }

    .imgThumbnail {
        overflow-x: unset;
        contain: inline-size;
    }

    .w-25 {
        width: 25% !important;
    }

    .image {
        width: 90vw;
    }
}