body.dark-theme:not(.--CLIENT-USE-TOUCH, .--CLIENT-USE-PEN) .gallery-image-wrapper:hover  {
    .gallery-image-description { background-color: #444; }
    img { opacity: 0.8; }
}

h1 {
    color: #888;
    font-weight: bold;
    font-size: 36px;
    display: block;
    margin: 0px 0;
    letter-spacing: 3px;
}
#content-in {
    padding-top: 0;
}
#contents-container {
    display: grid;
}
.gallery-image-wrapper {
    text-decoration: none;
    color: gray !important;
    display: block;
    width: 100%;

    .gallery-image { background-color: white; }
    img {
        object-fit: cover;
        width: 100%;
        aspect-ratio: 4 / 3;
        transition: all 0.15s;
    }
    .gallery-image-description {
        background-color: #1d2222;
        padding: 10px 20px;
        transition: all 0.15s;

        .author-name {
            font-size: small;
        }
        .timeago {
            font-size: small;
            text-align: end;
        }
    }
}
@media screen and (max-width: 629px) {
    #contents-container {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
}
@media screen and (min-width: 630px) and (max-width: 834px) {
    #contents-container {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 20px;
    }
}
@media screen and (min-width: 835px) and (max-width: 909px) {
    #contents-container {
        grid-template-columns: 1fr 1fr;
        gap: 20px;
    }
}
@media screen and (min-width: 910px) {
    #contents-container {
        grid-template-columns: 1fr 1fr 1fr;
        gap: 20px;
    }
}