/* IMAGE LIGHTBOX SELECTOR */

#imagelightbox {
    cursor: pointer;
    position: fixed;
    z-index: 10000;
    touch-action: none;
    box-shadow: 0 0 3.125em rgba(0, 0, 0, .75); /* 50 */
}

.imagelightbox-scroll-lock {
    overflow: hidden;
}

.imagelightbox-disable-select {
    user-select: none;
}

/* WITH ACTIVITY INDICATION */

.imagelightbox-loading,
.imagelightbox-loading div {
    border-radius: 9999px;
}

.imagelightbox-loading {
    background-color: rgb(128, 128, 128);
    background-color: rgba(0, 0, 0, .5);
    position: fixed;
    z-index: 10003;
    top: 50%;
    left: 50%;
    padding: 0.65em;
    margin: -1.3em 0 0 -1.3em;
    box-shadow: 0 0 2.5em rgba(0, 0, 0, .75); /* 40 */
}

.imagelightbox-loading div {
    width: 1.3em;
    height: 1.3em;
    background-color: #fff;
    animation: imagelightbox-loading .5s ease infinite;
}

@keyframes imagelightbox-loading {
    from {
        opacity: .5;
        transform: scale(.75);
    }
    50% {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: .5;
        transform: scale(.75);
    }
}

/* WITH OVERLAY */

.imagelightbox-overlay {
    background-color: #fff;
    background-color: rgba(255, 255, 255, .9);
    position: fixed;
    z-index: 9998;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/* WITH "CLOSE" BUTTON */

.imagelightbox-close {
    width: 40px;
    height: 40px;
    text-align: left;
    background-color:transparent;
    border-radius: 50%;
    position: fixed;
    z-index: 10002;
    top: 1rem;
    right: 1rem;
    -webkit-transition: color .3s ease;
    transition: color .3s ease;
    border:none;
    cursor: pointer;
}

.imagelightbox-close:hover {
    opacity:.7;
    filter: alpha(opacity=70);
}

.imagelightbox-close:before,
.imagelightbox-close:after {
    width: 100%;
    background-color: #70a881;
    content: '';
    position: absolute;
    top: 50%;
    /* bottom: 20px; */
    /* left: 50%; */
    /* margin-left: -1px; */
    height: 1px;
}

.imagelightbox-close:before {
    transform: rotate(45deg);
}

.imagelightbox-close:after {
    transform: rotate(-45deg);
}

/* WITH CAPTION */

.imagelightbox-caption {
    text-align: center;
    background-color: #fff;
    position: fixed;
    z-index: 10001;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.625em;
}

/* WITH NAVIGATION */

.imagelightbox-nav {
    background-color: #444;
    background-color: rgba(0, 0, 0, .5);
    position: fixed;
    z-index: 10001;
    left: 50%;
    bottom: 3.75em; /* 60 */
    padding: 0.313em; /* 5 */
    transform: translateX(-50%);
    border-radius: 20px;
}

.imagelightbox-nav a {
    position: relative;
    top: 0.2em;
    width: 1em; /* 20 */
    height: 1em; /* 20 */
    border: 1px solid #fff;
    display: inline-block;
    margin: 0 0.313em; /* 5 */
    border-radius: 50%;
}

.imagelightbox-nav .active {
    background-color: #fff;
}

/* WITH ARROWS */

.imagelightbox-arrow {
    width: 48px;
    height: 48px;
    background-color: #FFF;
    vertical-align: middle;
    display: none;
    position: fixed;
    z-index: 10001;
    top: 50%;
    margin-top: -24px;
    border:none;
    background-image: url(../images/sprite.svg);
    background-repeat: no-repeat;
    border-radius:50%;
    opacity:.6;
    filter: alpha(opacity=60);
}
.imagelightbox-arrow:hover,
.imagelightbox-arrow:focus {
    opacity:.9;
    filter: alpha(opacity=90);
}
.imagelightbox-arrow:active {
    background-color: #111;
}
.imagelightbox-arrow-left {
    left: 2.5em; /* 40 */
    background-position: 16px -197px;
}
.imagelightbox-arrow-right {
    right: 2.5em; /* 40 */
    background-position: -24px -197px;
}

.imagelightbox-loading,
.imagelightbox-overlay,
.imagelightbox-close,
.imagelightbox-nav,
.imagelightbox-arrow {
    animation: fade-in .25s linear;
}

@keyframes fade-in {
    from	{ opacity: 0; }
    to		{ opacity: 1; }
}

@media only screen and (max-width: 41.250em) { /* 660 */
    #container {
        width: 100%;
    }
    .imagelightbox-close {
        top: 1.25em; /* 20 */
        right: 1.25em; /* 20 */
    }
    .imagelightbox-arrow {
        width: 2.5em; /* 40 */
        height: 3.75em; /* 60 */
        margin-top: -1.875em; /* 30 */
    }
    .imagelightbox-arrow-left {
        left: 1.25em; /* 20 */
    }
    .imagelightbox-arrow-right {
        right: 1.25em; /* 20 */
    }
}

@media only screen and (max-width: 20em) { /* 320 */
    .imagelightbox-arrow-left {
        left: 0;
    }
    .imagelightbox-arrow-right {
        right: 0;
    }
}
