  .mso-popup {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.1);
    width: 100%;
    height: 100%;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 20px;
    display: none;
}
.mso-popup .mso-popup-content {
    position: relative;
    background: white;
    display: flex;
    height: 50%;
    max-width: clamp(300px, 80vh, 900px);
}
.mso-popup .mso-popup-content .mso-popup-close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 30;
    font-size: 30px;
    color: white;
    cursor: pointer;
}
@media (max-width: 768px) {
    .mso-popup .mso-popup-content {
        flex-direction: column-reverse;
        justify-content: flex-end;
    }
}
.mso-popup .mso-popup-content .mso-popup-content-inner {
    padding: 20px;
    width: 50%;
    max-height: 100%;
    overflow: scroll;
}
@media (max-width: 768px) {
    .mso-popup .mso-popup-content .mso-popup-content-inner {
        width: 100%;
    }
}
.mso-popup .mso-popup-content .mso-popup-image {
    position: relative;
    width: 50%;
    height: 100%;
}
@media (max-width: 768px) {
    .mso-popup .mso-popup-content .mso-popup-image {
        width: 100%;
        height: 45%;
    }
}
.mso-popup .mso-popup-content .mso-popup-image img {
    height: 100%;
    object-fit: cover;
}

.mso-popup.corner {
    max-width: 500px !important;
    margin-bottom: 20px;
    margin-right: 20px;
    margin-left: auto;
    right: 0;
    top: auto;
    bottom: 0;
    background: transparent;
    max-height: 400px;
}
.mso-popup-content.corner {
    align-self: flex-end;
    max-width: 500px !important;
    margin-bottom: 20px;
    margin-right: 20px;
    margin-left: auto;
}
.mso-popup-content.just-image .mso-popup-image {
    width: 100%;
}
.mso-popup-content.big {
    max-width: 1000px !important;
    min-height: 540px !important;
}