/* IMAGE LIGHTBOX SELECTOR */

#imagelightbox {
    cursor: pointer;
    position: fixed ;
    z-index: 10000;
    touch-action: none;
    padding: 4px;
    background-color: #fff;
    border: 1px solid #ddd;
    -webkit-box-shadow: 0 2px 4px rgba(0,0,0,.3);
    box-shadow: 0 2px 4px rgba(0,0,0,.3); 
    margin: auto; /* Will not center vertically and won't work in IE6/7. */
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
}

.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 {
    cursor: pointer;
    width: 2.5em; /* 40 */
    height: 2.5em; /* 40 */
    font-size: 24px;
    position: fixed;
    z-index: 10002;
    top: 5px; /* 40 */
    right: 5px; /* 40 */
    border-radius: 50%;
    transition: color .3s ease;
}

.imagelightbox-close:hover {
    /*background-color: #111;*/
}

.imagelightbox-close:before,
.imagelightbox-close:after {
    width: 2px;
    background-color: #666;
    content: '';
    position: absolute;
    top: 20%;
    bottom: 20%;
    left: 50%;
    margin-left: -1px;
}

.imagelightbox-close:before {
    transform: rotate(45deg);
}

.imagelightbox-close:after {
    transform: rotate(-45deg);
}

/* WITH CAPTION */

.imagelightbox-caption {
    text-align: center;
    color: #fff;
    background-color: #000;
    opacity: 0.7;
    position: fixed;
    z-index: 10001;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0.625em; /* 10 */
}

/* WITH NAVIGATION */

.imagelightbox-nav {
    opacity: 0.6;
    background-color: #444;
    background-color: rgba(0, 0, 0, 0);
    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 #D02121;
    display: inline-block;
    margin: 0 0.313em; /* 5 */
    border-radius: 50%;
}

.imagelightbox-nav .active {
    background-color: #D02121;
    
}

/* WITH ARROWS */

.imagelightbox-arrow {
    cursor: pointer;
    border: 0px solid #fff;
    background-color: rgba( 255, 255, 255, 0 );
    vertical-align: middle;
    display: none;
    position: fixed;
    z-index: 10001;
    top: 40%;
}
.imagelightbox-arrow:hover,
.imagelightbox-arrow:focus {
    opacity: 1;   
}
.imagelightbox-arrow:active {
    background-color: rgba(255,255,255,0);
}

.imagelightbox-arrow-left {
    opacity: 0.6;
    left: 5px; /* 40 */
}
.imagelightbox-arrow-right {
    opacity: 0.6;
    right: 5px; /* 40 */
}
.imagelightbox-arrow:before {
    width: 100%;
    height: 100%;
    font-size: 60px;
    height: 0;
    border: 0;
    display: inline-block;
}

.imagelightbox-arrow-left:before {
    font-family:'FontAwesome';
    content: "\f104";
    padding: 0;
    border-left: none;
    margin-left: 5px; /* 5 */
}
.imagelightbox-arrow-right:before {
    font-family:'FontAwesome';
    content: "\f105";
    padding: 0;
    border-right: none;
    margin-right: 5px; /* 5 */
}

.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; 
        right: 1.25em; 
    }
    .imagelightbox-arrow {
        width: 2.5em; 
        height: 3.75em; 
        margin-top: -1.875em;
    }
    .imagelightbox-arrow-left {
        left: 1.25em;
    }
    .imagelightbox-arrow-right {
        right: 1.25em; 
    }*/
}

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