/*-- -------------------------- -->
<---          Gallery           -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
    #gallery-45 {
        padding: var(--sectionPadding);
        position: relative;
        /* Prevents overflow from the image going off screen */
        overflow: hidden;
        background-overlay: var(--darkPanelMaskColor);

    }
    #gallery-45 .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 48px - 64px */
        gap: clamp(3rem, 6vw, 4rem);
    }
    #gallery-45 .cs-content {
        /* set text align to left if content needs to be left aligned */
        text-align: center;
        width: 100%;
        display: flex;
        flex-direction: column;
        /* centers content horizontally, set to flex-start to left align */
        align-items: center;
    }

    #gallery-45 .cs-image-group {
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        /* 16px - 20px */
        gap: clamp(1rem, 1.5vw, 1.25rem);
    }
    #gallery-45 .cs-item {
        list-style: none;
        width: 100%;
        height: 100%;
        aspect-ratio: 1;
        margin: 0;
        position: relative;
        display: block;
    }
    #gallery-45 .cs-item:hover .cs-hover-box {
        opacity: 1;
    }
    #gallery-45 .cs-item:hover .cs-icon {
        /* return to original position */
        transform: rotateY(0);
    }
    #gallery-45 .cs-item:hover .cs-h3 {
        opacity: 1;
        /* Return to original position */
        transform: translateY(0);
    }
    #gallery-45 .cs-item:hover .cs-hover-box-text {
        opacity: 1;
        /* Return to original position */
        transform: translateY(0);
    }
    #gallery-45 .cs-picture {
        margin: auto;
        width: 100%;
        height: 100%;
        display: block;
        position: relative;
    }
    #gallery-45 .cs-picture img {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}
/* In Between - 600px */
@media only screen and (min-width: 37.5rem) {
    #gallery-45 .cs-image-group {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        grid-template-rows: 1fr;
    }
    #gallery-45 .cs-item {
        grid-column: span 6;
    }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
    #gallery-45 .cs-item {
        grid-column: span 3;
    }
}