@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');

body{
    font-family: "Titillium Web", sans-serif;
    font-weight: 400;
    font-style: normal;
    line-height: 1.5;
    color: #333;
    background-color: #f8f9fa;
}

.grid-item {
    height: 400px;
    float: left;
}

/* 1 column by default */
.grid-sizer,
.grid-item,
.grid-item--width2,
.grid-item--width3,
.grid-item--width4 {
    width: 100%;
}
.grid-item--height1 { height: 200px; }
.grid-item--height2 { height: 400px; }
.grid-item--height3 { height: 600px; }
.grid-item--height4 { height: 800px; }

/* 4 columns on lg */
@media screen and (min-width: 768px) {
    .grid-sizer,
    .grid-item{
        width: 25%;
    }

    .grid-item--width2{
        width: 50%;
    }

    .grid-item--width3 {
        width: 75%;
    }

    .grid-item--width4 {
        width: 100%;
    }

    .grid-item--height1 { height: 300px; }
    .grid-item--height2 { height: 600px; }
    .grid-item--height3 { height: 900px; }
    .grid-item--height4 { height: 1200px; }
}

.container-xxl {
    max-width: 1800px;
}

.gallery-item-inner{
    cursor: pointer;
    /*padding: 0.25rem;*/
    width: calc(100% - 0.25rem);
    height: calc(100% - 0.25rem);
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.gallery-item-overlay{
    display: flex;
    color:black;
    text-align: center;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.7);
    font-weight: 300;
    transition:visibility 0.3s linear,opacity 0.3s linear;
    visibility: hidden;
    opacity: 0;
}

.gallery-item-overlay.shown{
    opacity: 100%;
    visibility: visible;
}
