body._cstm-popup-on {
    max-height: 100%;
    overflow: hidden;
}
body._cstm-popup-padding {
    padding-right: var(--scroll-bar-width);
}
.cstm-popup {
    display: flex;
    align-items: center;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 190;
    transition: opacity .2s .25s, visibility .2s .25s;
    overflow: hidden;
}
.cstm-popup-list {
    display: none;
}
.cstm-popup-darker {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(147, 161, 189, 0.75);
}
.cstm-popup-out {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}
.cstm-popup-main {
    position: relative;
    max-height: 100%;
    width: 100%;
    overflow: auto;
    text-align: center;
}
@media (min-width: 768px) {
    .cstm-popup-main {
        padding: 20px 0;
    }
}
.cstm-popup-content {
    display: inline-block;
    max-width: calc(100vw - 40px);
    overflow: auto;
    opacity: 0;
    transition: all .25s;
    text-align: left;
}
.cstm-popup-content._gallery {
    padding: 0;
    background-color: transparent;
}
@media (min-width: 768px) {
    .cstm-popup-content._gallery {
        max-width: 100%;
    }
}
.cstm-popup-content._gallery .swiper-wrapper {
    align-items: center;
}
.cstm-popup-content._gallery .swiper-horizontal > .swiper-pagination-bullets, .cstm-popup-content._gallery .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 15px;
    height: 0;
    display: flex;
    justify-content: center;
}
.cstm-popup-content._gallery .swiper-button-next.swiper-button-disabled,
.cstm-popup-content._gallery .swiper-button-prev.swiper-button-disabled {
    pointer-events: auto;
}
.cstm-popup-content._gallery [role=button]:focus {
    outline: none;
    border: none;
}
.cstm-popup-content._gallery .swiper-pagination-bullet {
    display: block;
    width: 10px;
    height: 10px;
}
@media (min-width: 768px) {
    .cstm-popup-content._full-mobile {
        max-width: 100%;
        height: 100vh;
        height: calc(var(--vh, 1vh) * 100); }
        .cstm-popup-content._full-mobile .popup-container {
        min-height: 100%;
        border-radius: 0;
        padding-left: 20px;
        padding-right: 20px;
    }
}
.cstm-popup._visible .cstm-popup-content {
    opacity: 1;
    transition: all .25s .25s;
}
.cstm-popup.center {
    align-items: center;
}
.cstm-popup.center .cstm-popup-content {
    transform: scale(0.5);
}
.cstm-popup.center._visible .cstm-popup-content {
    transform: scale(1);
}
.cstm-popup.top {
    align-items: flex-start
 }
.cstm-popup.top .cstm-popup-main {
    padding-top: 0;
}
.cstm-popup.top .cstm-popup-content {
    transform: translateY(-100%);
}
.cstm-popup.top._visible .cstm-popup-content {
    transform: translateY(0);
}
.cstm-popup.bottom {
    align-items: flex-end;
}
.cstm-popup.bottom .cstm-popup-main {
    padding-bottom: 0;
}
.cstm-popup.bottom .cstm-popup-content {
    transform: translateY(100%);
}
.cstm-popup.bottom._visible .cstm-popup-content {
    transform: translateY(0);
}
.cstm-popup.left .cstm-popup-main {
    justify-content: flex-start;
    padding-left: 0;
}
.cstm-popup.left .cstm-popup-content {
    transform: translateX(-100%);
}
.cstm-popup.left._visible .cstm-popup-content {
    transform: translateX(0);
}
.cstm-popup.right .cstm-popup-main {
    justify-content: flex-end;
    padding-right: 0;
}
.cstm-popup.right .cstm-popup-content {
    transform: translateX(100%);
}
.cstm-popup.right._visible .cstm-popup-content {
    transform: translateX(0);
}
.cstm-popup._visible {
    visibility: visible;
    opacity: 1;
    transition: opacity .2s, visibility .2s;
}
.cstm-popup-close {
    position: absolute;
    top: 0;
    right: 0;
}
.cstm-popup-slide-content {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 100px;
    padding-right: 100px;
}
.cstm-popup-slide-content img {
    display: block;
    max-height: calc(100vh - 100px);
    max-height: calc((var(--vh, 1vh) * 100) - 100px);
    max-width: 100%;
    width: 960px;
    height: auto;
}
.cstm-popup-slide-box {
    max-width: 100%;
    padding: 20px;
    background-color: #fff;
}
.cstm-popup-slide-video {
    position: relative;
    width: 960px;
    max-width: 100%;
    padding-bottom: 56.25%;
}
.cstm-popup-slide-video iframe {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}
