:root {
    --lity-z-index-base: 9990;
    --lity-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    --lity-close-size: 35px;
    --lity-close-text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
    --lity-iframe-ratio: 9/16; /* Or 3/4 */
    --lity-transition-timing-function: ease;
    --lity-transition-duration: .3s;
}

.lity-active,
.lity-active body {
    overflow: hidden;
}

.lity {
    z-index: var(--lity-z-index-base);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    white-space: nowrap;
    background: #0b0b0b;
    background: rgba(0, 0, 0, 0.9);
    outline: none !important;
    opacity: 0;
    transition: opacity var(--lity-transition-duration) var(--lity-transition-timing-function);
}

.lity.lity-opened {
    opacity: 1;
}

.lity.lity-closed {
    opacity: 0;
}

.lity * {
    box-sizing: border-box;
}

.lity-wrap {
    z-index: var(--lity-z-index-base);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-align: center;
    outline: none !important;
}

.lity-wrap:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
}

.lity-loader {
    z-index: calc(var(--lity-z-index-base) + 1);
    color: #fff;
    position: absolute;
    top: 50%;
    margin-top: -0.8em;
    width: 100%;
    text-align: center;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    opacity: 0;
    transition: opacity var(--lity-transition-duration) var(--lity-transition-timing-function);
}

.lity-loading .lity-loader {
    opacity: 1;
}

.lity-container {
    z-index: calc(var(--lity-z-index-base) + 2);
    position: relative;
    text-align: left;
    vertical-align: middle;
    display: inline-block;
    white-space: normal;
    max-width: 100%;
    max-height: 100%;
    outline: none !important;
}

.lity-content {
    z-index: calc(var(--lity-z-index-base) + 3);
    width: 100%;

    transform: scale(1);
    transition: transform var(--lity-transition-duration) var(--lity-transition-timing-function);
}

.lity-loading .lity-content,
.lity-closed .lity-content {
    transform: scale(0.8);
}

.lity-content:after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: var(--lity-shadow);
}

.lity-close,
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
    z-index: calc(var(--lity-z-index-base) + 4);
    width: var(--lity-close-size);
    height: var(--lity-close-size);

    /* Change to position: absolute to display close button inside content container */
    position: fixed;
    right: 0;
    top: 0;

    -webkit-appearance: none;
    cursor: pointer;

    text-decoration: none;
    text-align: center;
    padding: 0;
    color: #fff;
    font-style: normal;
    font-size: var(--lity-close-size);
    font-family: Arial, Baskerville, monospace;
    line-height: var(--lity-close-size);
    text-shadow: var(--lity-close-text-shadow);
    border: 0;
    background: none;
    box-shadow: none;
}

.lity-close::-moz-focus-inner {
    border: 0;
    padding: 0;
}

.lity-close:active {
    top: 1px;
}

/* Image */

.lity-image img {
    max-width: 100%;
    display: block;
    line-height: 0;
    border: 0;
}

/* iFrame */

.lity-iframe .lity-container {
    width: 100%;
    max-width: 964px;
}

.lity-iframe-container {
    width: 100%;
    height: 0;
    padding-top: calc(var(--lity-iframe-ratio) * 100%);
    overflow: auto;
    pointer-events: auto;
    transform: translateZ(0);
    -webkit-overflow-scrolling: touch;
}

.lity-iframe-container iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: var(--lity-shadow);
    background: #000;
}

.lity-hide {
    display: none;
}
