@custom-media --extra-small-viewport (min-width: 20em);
@custom-media --small-viewport (min-width: 30em);
@custom-media --small-viewport (min-width: 25em);
@custom-media --medium-small-viewport (min-width: 48em);
@custom-media --medium-viewport (min-width: 62em);
@custom-media --large-viewport (min-width: 75em);

.glightbox-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999 !important;
    overflow: hidden;
    overflow-scrolling: touch;

    &.inactive {
        display: none;
    }

    & .gcontainer {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 9999;
    }

    .gslider {
        transition: transform .4s ease;
        height: 100%;
        left: 0;
        top: 0;
        width: 100%;
        position: absolute;
    }


    .gslide {
        height: 100%;
        width: 100%;
        position: absolute;
        display: block;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        user-select: none;

        &.current {
            opacity: 1;
            z-index: 99999;
        }

        &.prev {
            opacity: 1;
            z-index: 9999;
        }
    }

    .gslide-inner-content {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .ginner-container {
        width: auto;
        display: flex;
        justify-content: center;
        flex-direction: column;
        max-width: 100%;

        @media (--medium-small-viewport) {
            flex-direction: row;
        }

        &.desc-bottom,
        &.desc-top {
            flex-direction: column;
        }

        &.desc-left,
        &.desc-right {
            max-width: 100% !important;
        }

        &.desc-left,
        &.desc-top {
            @media (--medium-small-viewport) {
                .gslide-description {
                    order: 0;
                }
                .gslide-media {
                    order: 1;
                }
            }
        }
    }
}


.gslide {
    iframe,
    video {
        width: 100vw;
        max-width: 100vw;
        min-width: 100vw;
        outline: none !important;
        border: none;
        min-height: 165px;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
        touch-action: auto;

        @media (--small-viewport) {
            min-width: 0;
        }
    }
}



.gslide-image {
    align-items: center;

    img {
        max-height: 100vh;
        display: block;
        max-width: 100%;
        margin: 0;
        padding: 0;
        float: none;
        outline: none;
        border: none;
        user-select: none;
        width: initial;

        @media (--medium-small-viewport) {
            width: initial;
            max-height: 97vh;
        }
    }
}

.gslide-video {
    width: 100%;
    height: auto;
    min-width: 100%;
    max-width: 100%;
    min-height: auto;
    max-height: auto;
    position: relative;

    @media (--medium-small-viewport) {
        display: flex;
        min-height: 100px;
        height: 100%;
        max-height: 95vh !important;
    }

    &::before {
        content: '';
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        background: rgba(255, 0, 0, 0.34);
        display: none;
    }
    &.playing::before {
        display: none;
    }

    .jw-media,
    .jw-video {
        position: relative !important;
    }

    .jwplayer {
        max-width: 100vw;
        width: 100vh;
        height: auto !important;
    }

    .jwplayer,
    .box-emboss {
        outline: none !important;
        box-shadow: none !important;
        border: none !important;

        .btnd:active,
        .btnd:focus,
        .btnd.active {
            background-image: none;
            outline: 0;
            box-shadow: none;
        }
    }

    object {
        position: absolute;
        top: 0;
        left: 0;
    }
}

.gslide-inline {
    background: #fff;
    padding: 20px;
    text-align: left;
    max-height: 62vh;
    overflow: auto;

    @media (--medium-small-viewport) {
        max-height: 95vh;
    }
}

.ginlined-content {
    overflow: auto;
    display: block !important;
    opacity: 1;
}


.gslide-external {
    display: flex;
    width: 100%;
    min-width: 100%;
    background: #fff;
    padding: 0;
    overflow: auto;
    max-height: 62vh;

    @media (--medium-small-viewport) {
        max-height: 95vh;
    }
}

.gslide-media {
    display: block;
    width: auto;

    @media (--medium-small-viewport) {
        display: block;
        display: inline-flex;
        justify-content: center;
    }
}

.gslide-description {

    &.left-position,
    &.right-position {
        padding: 30px;
        background: #fff;
        max-width: 300px;
        min-width: 190px;
    }

    .bottom-position,
    .top-position{
        padding: 30px;
        background: #fff;
        width: 100%;
        display: inline-block;
        min-width: 190px;
    }

    &.description-left,
    &.description-right {
        max-width: 100%;

        @media (--medium-small-viewport) {
            max-width: 275px;
        }
    }

    p {
        margin-bottom: 12px;

        &::last-child {
            margin-bottom: 0;
        }
    }
}


/*
 * Description for mobiles
 * something like facebook does the description
 * for the photos
*/
.glightbox-mobile .glightbox-container{
    .gslide-description {
        background: transparent;
        position: absolute;
        bottom: 15px;
        padding: 19px 11px;
        max-width: 100vw !important;
        order: 2 !important;
        max-height: 78vh;
        overflow: auto !important;
        background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .75) 100%);
        transition: opacity .3s linear;
    }

    .gslide-title {
        color: #fff;
        font-size: 1em;
    }
    .gslide-desc {
        color: #a1a1a1;

        a {
            color: #fff;
            font-weight: bold;
        }
        .desc-more {
            color: #fff;
            opacity: .4;
        }
    }
}

.gdesc-open {
    .gslide-media {
        transition: opacity .5s ease;
        opacity: .4;
    }
    .gslide-description {
        padding-bottom: 30px;
    }
}
.gdesc-closed {
    .gslide-media {
        transition: opacity .5s ease;
        opacity: 1;
    }
}

.greset {
    transition: all .5s ease;
}

.glightbox-desc {
    display: none;
}

.glightbox-open {
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: auto;
    height: auto;
}

.gloader {
    height: 25px;
    width: 25px;
    animation: lightboxLoader .8s infinite linear;
    border: 2px solid #fff;
    border-right-color: transparent;
    border-radius: 50%;
    position: absolute;
    display: block;
    z-index: 9999;
    left: 0;
    right: 0;
    margin: 0 auto;
    top: 47%;
}

.goverlay {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: #000;

    @media (--medium-small-viewport) {
        background: rgba(0, 0, 0, .92);
    }
}


.gprev,
.gnext,
.gclose{
    background-repeat: no-repeat;
    z-index: 99999;
    cursor: pointer;
    width: 26px;
    height: 44px;
    display: block;
    background-position: 0 0;

    &.disabled {
        opacity: .1;
    }
    .garrow {
        stroke: #fff;
    }
}

iframe.wait-autoplay {
    opacity: 0;
}

.glightbox-closing {
    .gnext,
    .gprev,
    .gclose {
        opacity: 0 !important;
    }
}



/*Skin */
.glightbox-clean {

    .ginner-container {
        @media (--medium-small-viewport) {
            box-shadow: 1px 2px 9px 0px rgba(0, 0, 0, 0.65);
        }
    }

    .gslide-description {
        background: #fff;
        padding: 22px 20px;
    }

    .gslide-title {
        font-size: 1em;
        font-weight: normal;
        font-family: arial;
        color: #000;
        margin-bottom: 19px;
        line-height: 1.4em;
    }

    .gslide-desc {
        font-size: 0.86em;
        margin-bottom: 0;
        font-family: arial;
        line-height: 1.4em;
    }

    .gslide-video {
        background: #000;
    }

    .gprev,
    .gnext,
    .gclose{
        background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGMAAAA2CAYAAADTeCfRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIE1hY2ludG9zaCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5NThDMEMwNzg3NjgxMUU1QUM2MUYwRDYwNTNEN0UxMSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5NThDMEMwODg3NjgxMUU1QUM2MUYwRDYwNTNEN0UxMSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1OEMwQzA1ODc2ODExRTVBQzYxRjBENjA1M0Q3RTExIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjk1OEMwQzA2ODc2ODExRTVBQzYxRjBENjA1M0Q3RTExIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+htE8KwAAA9BJREFUeNrsm1tIFGEYhndDI4OSLgqkMrKjBXYwCjt40QkpL4pMyoqMgigIgm6iiy66KSwpj2vrucKgpINRRhYRooQkWYEWUkaWERokhVQXbu/QOyDhpjPzz3H/Dx7W1f2+753/3X9mnPnHHwqFfDKcEWPkEEgzZEgzpBkybDbjHLhvIP8GKLNhPILgksEaFaDKKWacAMdAn4Ean8F+kGOxGXFgDyjSmZ8L9oFpurKVU1uBnAr9jZMCah1hrQLBGkciyL7FGvNymXdZb2+RG3GGYo4LrHmINS9abEiZRkMu8PNXjPQVJV4Vc9SEgclm7WqLDSkd5RdBiBGizCihmMMmDkwWe1yz2JBy9g2E+ft5o7smkWZUUMwBCwYmg71u2nQMCZhphFEzaihmt4UDk86e9TYZUsj3OaKNMGJGHcVkWjwoChvZ+7HFfQvZt42vpaJ76Em6SzHbbDBCZR01NFvct519u8yorzXhEcWk2WiESiq1tFrUT901veZrnp1mNFHEWgcYoZJMTe0m98ljn3K+z+f7oB1mtLD5agcZoZJEbZ3Ab0J9deCrwpzSB6004xWbLnegESqJ1NgNok04aFeF+XtA5MF8pA90stkiBxuhkkCtvSBGQL2iEYz415Bys8yIAu/ZZKELjFCJp+Z+EGugTgHrVGq8ClEm2oxZ4CUYAHNcZIRKHOjj6ed8A8eISo15xUaPIcP9spFFk11ohMp0bkOHxrxa5lXo7Ksack9Pvn+YpTqLwS0QDZbxRo+bYgJoBZPAZtCiIVe5QzceZBroXwP8YKfWRH+YdVOx4AOYCOJBt0uMUAz4BGLAVNDjhXvg/bwF2UdTElywLVOoN5o/97hsRv/3HvgAv10fwVuQ6ODtUO45f6HmyaDXi6tDfoMZNKMdJDlwG2ZyN/qVs/mbl5fqDILZoAO8AMkO0j8XvONJhjKLf0TKuqkF4Dl4BlY6QLty1vcGdHE39SvSFrEtBc2gCWywUfcKfjE6eHIxGKkrCleBRvAApNmgOQU8BW2crRG/vDMV1JN0C/WmcmYqZizxeSyMLO/cBG6DOyDDAq3rwRPOyhSfB8PoWtst4DrJMlGnYnwDeMjZ4c0QdGGumhfIsk246LeVtetcfOFyVEQJ8nQv+AkqwThQIqjuDnAV1ILtPo9HlMBaB/kfewCMBfkG6ylL85VnJZSroLt8kRAmTLezOpfUD+W0WQvFnIzfpEePlaeO5oE1OvOVp56+R8KuaWiYZYYMG05tZUgzpBkypBnSDBnSDGmGDGmGDGmGNEOGNEOaIUOa4YH4I8AAM9m8BFEzyDIAAAAASUVORK5CYII=');
    }


    .gprev {
        background-color: rgba(0, 0, 0, 0.08);
        background-position: 4px 5px;
        position: absolute;
        top: -100%;
        left: 30px;
        width: 38px;
        height: 56px;

        @media (--medium-small-viewport) {
            top: 45%;
        }
    }
    .gnext {
        background-color: rgba(0, 0, 0, 0.08);
        background-position: -27px 5px;
        position: absolute;
        top: -100%;
        right: 30px;
        width: 38px;
        height: 56px;

        @media (--medium-small-viewport) {
            top: 45%;
        }
    }
    .gclose {
        background-color: rgba(0, 0, 0, 0.08);
        width: 35px;
        height: 35px;
        top: 15px;
        right: 10px;
        position: absolute;
        opacity: .7;
        background-position: -59px 2px;

        @media (--medium-viewport) {
            right: 20px;
        }

        &:hover {
            opacity: 1;
        }
    }
}



/*CSS Animations*/
.gfadeIn {
    animation: gfadeIn .5s ease;
}
.gfadeOut {
    animation: gfadeOut .5s ease;
}
.gslideOutLeft {
    animation: gslideOutLeft .3s ease;
}
.gslideInLeft {
    animation: gslideInLeft .3s ease;
}
.gslideOutRight {
    animation: gslideOutRight .3s ease;
}
.gslideInRight {
    animation: gslideInRight .3s ease;
}
.gzoomIn {
    animation: gzoomIn .5s ease;
}
.gzoomOut {
    animation: gzoomOut .5s ease;
}

@keyframes lightboxLoader {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
@keyframes gfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes gfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes gslideInLeft {
    from {
        opacity: 0;
        transform: translate3d(-60%, 0, 0);
    }
    to {
        visibility: visible;
        transform: translate3d( 0, 0, 0);
        opacity: 1;
    }
}
@keyframes gslideOutLeft {
    from {
        opacity: 1;
        visibility: visible;
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(-60%, 0, 0);
        opacity: 0;
        visibility: hidden;
    }
}
@keyframes gslideInRight {
    from {
        opacity: 0;
        visibility: visible;
        transform: translate3d(60%, 0, 0);
    }
    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}
@keyframes gslideOutRight {
    from {
        opacity: 1;
        visibility: visible;
        transform: translate3d(0, 0, 0);
    }
    to {
        transform: translate3d(60%, 0, 0);
        opacity: 0;
    }
}
@keyframes gzoomIn {
    from {
        opacity: 0;
        transform: scale3d(.3, .3, .3);
    }
    to {
        opacity: 1;
    }
}
@keyframes gzoomOut {
    from {
        opacity: 1;
    }
    50% {
        opacity: 0;
        transform: scale3d(.3, .3, .3);
    }
    to {
        opacity: 0;
    }
}