.is-hidden {
    display: none;
}

.btn {
    border: 0;
}

.l58-gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em;
    max-width: 1364px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.l58-gallery > li {
    width: calc(50% - 0.25em);
    margin: 0;
}

.l58-gallery > li > a {
    display: block;
    position: relative;
    /* aspect-ratio: 3 / 2; */
    overflow: hidden;
    padding-bottom: 66.6%; /* Aspect Ratio 3-2 */
}

.l58-gallery > li > a > img {
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 750px) {
    
.l58-gallery {
    gap: 1.5em;
}

.l58-gallery > li {
    width: calc(33.3% - 1em);
}
    
}



/* IMAGE LIGHTBOX SELECTOR */

#imagelightbox {
    cursor: pointer;
    position: fixed;
    z-index: 10000;

    -ms-touch-action: none;
    touch-action: none;
}


/* ACTIVITY INDICATION */

#imagelightbox-loading,
#imagelightbox-loading div
{
    border-radius: 50%;
}
#imagelightbox-loading
{
    width: 2.5em; /* 40 */
    height: 2.5em; /* 40 */
    background-color: #444;
    background-color: rgba( 0, 0, 0, .5 );
    position: fixed;
    z-index: 10003;
    top: 50%;
    left: 50%;
    padding: 0.625em; /* 10 */
    margin: -1.25em 0 0 -1.25em; /* 20 */

    -webkit-box-shadow: 0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */
    box-shadow: 0 0 2.5em rgba( 0, 0, 0, .75 ); /* 40 */
}
    #imagelightbox-loading div
    {
        width: 1.25em; /* 20 */
        height: 1.25em; /* 20 */
        background-color: #fff;

        -webkit-animation: imagelightbox-loading .5s ease infinite;
        animation: imagelightbox-loading .5s ease infinite;
    }

    @-webkit-keyframes imagelightbox-loading
    {
        from { opacity: .5;	-webkit-transform: scale( .75 ); }
        50%	 { opacity: 1;	-webkit-transform: scale( 1 ); }
        to	 { opacity: .5;	-webkit-transform: scale( .75 ); }
    }
    @keyframes imagelightbox-loading
    {
        from { opacity: .5;	transform: scale( .75 ); }
        50%	 { opacity: 1;	transform: scale( 1 ); }
        to	 { opacity: .5;	transform: scale( .75 ); }
    }


/* OVERLAY */

#imagelightbox-overlay
{
    background-color: #222;
    background-color: rgba( 0,0,0,0.8 );
    position: fixed;
    z-index: 9998;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}


/* "CLOSE" BUTTON */

#imagelightbox-close {
    width: 2.5em;
    height: 2.5em;
    text-align: left;
    background-color: #000;
    border: 0;
    border-radius: 50%;
    position: fixed;
    z-index: 10002;
    top: 2.5em;
    right: 3em;
    transition: color .3s ease, background-color .3s ease;
}

#imagelightbox-close:hover,
#imagelightbox-close:focus { background-color: #555; }

    #imagelightbox-close:before,
    #imagelightbox-close:after
    {
        width: 2px;
        background-color: #fff;
        content: '';
        position: absolute;
        top: 15%;
        bottom: 15%;
        left: 50%;
        margin-left: -1px;
    }
    #imagelightbox-close:before
    {
        -webkit-transform: rotate( 45deg );
        -ms-transform: rotate( 45deg );
        transform: rotate( 45deg );
    }
    #imagelightbox-close:after
    {
        -webkit-transform: rotate( -45deg );
        -ms-transform: rotate( -45deg );
        transform: rotate( -45deg );
    }



/* ARROWS */

.imagelightbox-arrow {
    width: 3.75em; /* 60 */
    height: 3.75em;
    border: 0;
    border-radius: 50%;
    text-align: center;
    vertical-align: middle;
    display: none;
    position: fixed;
    z-index: 10001;
    top: 50%;
    margin-top: -1.9em; 
    background-color: transparent;
    transition: background-color .3s ease;
}
.imagelightbox-arrow:hover,
.imagelightbox-arrow:focus	{ background-color: rgba( 0, 0, 0, .5 ); }

    .imagelightbox-arrow-left	{ left: 2.5em; /* 40 */ }
    .imagelightbox-arrow-right	{ right: 2.5em; /* 40 */ }

    .imagelightbox-arrow:before {
        width: 1.6em;
        height: 1.6em;
        content: '';
        display: inline-block;
        border-top: 2px solid #fff;
        border-left: 2px solid #fff;
        margin-bottom: -0.125em; /* 2 */
    }

    .imagelightbox-arrow-left:before {
        transform: rotate(-45deg);
        margin-left: 0.8em;
    }

    .imagelightbox-arrow-right:before {
        transform: rotate(135deg);
        margin-right: 0.8em;
    }

#imagelightbox-loading,
#imagelightbox-overlay,
#imagelightbox-close,
#imagelightbox-caption,
#imagelightbox-nav,
.imagelightbox-arrow
{
    -webkit-animation: fade-in .25s linear;
    animation: fade-in .25s linear;
}
    @-webkit-keyframes fade-in
    {
        from	{ opacity: 0; }
        to		{ opacity: 1; }
    }
    @keyframes fade-in
    {
        from	{ opacity: 0; }
        to		{ opacity: 1; }
    }

@media only screen and (max-width: 660px)
{

    #imagelightbox-close
    {
        top: 1.25em;
        right: 1.25em;
    }

    .imagelightbox-arrow {
        width: 2.5em; /* 40 */
        height: 2.5em;
        margin-top: -1.75em;
    }
    
    .imagelightbox-arrow:before {
        width: 1.2em;
        height: 1.2em; 
    }
    
    .imagelightbox-arrow-left:before {
        margin-left: 0.6em;
    }

    .imagelightbox-arrow-right:before {
        margin-right: 0.6em;
    }
    
    .imagelightbox-arrow-left	{ left: 1em; }
    .imagelightbox-arrow-right	{ right: 1em; }
}

@media only screen and (max-width: 320px)
{
    .imagelightbox-arrow-left	{ left: 0; }
    .imagelightbox-arrow-right	{ right: 0; }
}

