.modalizer {
    position: fixed;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
}
.modalizer.opened {
    pointer-events: auto;
}
.modalizer.hidden {
    visibility: hidden;
}
.modalizer__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity 350ms ease;
}
.modalizer.opened .modalizer__overlay {
    opacity: 1;
}
.modalizer__content {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    overflow: hidden;
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 350ms ease, transform 350ms ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
.modalizer__content:focus {
    outline: none;
}
.modalizer.opened .modalizer__content {
    opacity: 1;
    transform: scale(1);
}