/* Popup minimum requirements */
.sipa-popup {
    background-color: rgba(0,0,0,.45);
    position: fixed;
    z-index: 1001;
    inset: 0;
    visibility: hidden;
    content-visibility: hidden;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    max-width:unset !important;
    margin: unset !important;
    margin-block-start: unset !important;
    box-sizing: border-box;
}
.sipa-popup.active {
    visibility: visible;
    content-visibility: visible;
}
.sipa-popup > .popup-inner { /* positioning */
    overflow: auto;
    position: absolute;
    z-index: 1;
    inset: 0;
    width: max-content; /* or fit-content */
    height: max-content; /* or fit-content */
    max-width: 1280px;
    max-height: calc(100vh - 40px); /* max height */
    margin: auto; /* centered for all corners */
    box-sizing: border-box;
}
.sipa-popup > .popup-inner { /* painting */
    background-color: #ffffff;
    padding: 2rem;
    box-shadow: 0 0 16px 8px rgba(0,0,0,.25);
}
.sipa-popup.left > .popup-inner {
    margin: auto auto auto 0; /* horizontally left, vertically centered */
}
.sipa-popup.right > .popup-inner {
    margin: auto 0 auto auto; /* horizontally right, vertically centered */
}
.sipa-popup.top > .popup-inner {
    margin: 0 auto auto auto; /* horizontally centered, vertically top */
}
.sipa-popup.bottom > .popup-inner {
    margin: auto auto 0 auto; /* horizontally centered, vertically bottom */
}
.sipa-popup.left.top > .popup-inner {
    margin: 0 auto auto 0;
}
.sipa-popup.right.top > .popup-inner {
    margin: 0 0 auto auto;
}
.sipa-popup.left.bottom > .popup-inner {
    margin: auto auto 0 0;
}
.sipa-popup.right.bottom > .popup-inner {
    margin: auto 0 0 auto;
}

.sipa-popup > .popup-inner > a.popup-close {
    font-size: 0;
    position: absolute;
    z-index: 50;
    inset: 0 0 auto auto;
    width: 24px;
    height: 24px;
    background-color: #000000;
    cursor: pointer;
}
.sipa-popup > .popup-inner > a.popup-close:before,
.sipa-popup > .popup-inner > a.popup-close:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    width: 60%;
    height: 10%;
    inset: 0;
    margin: auto;
    background-color: #ffffff;
    transform: rotate(45deg);
}
.sipa-popup > .popup-inner > a.popup-close:after {
    transform: rotate(-45deg);
}
.sipa-popup > .popup-inner > a.popup-close:hover:before,
.sipa-popup > .popup-inner > a.popup-close:hover:after {
    width: 75%;
    height: 15%;
}

@media screen and (orientation:portrait) and (max-width:968px) {
    .sipa-popup > .popup-inner {
        max-width: calc(100vw - 40px);
        padding: 1rem;
    }
}