.popup-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;    
    z-index: 400;
    pointer-events: none;
}

.popup {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    max-height: 90vh;
    min-width: min(400px, 25vw);
    max-width: 90vw;
    border: 1px solid var(--fg-colour);
    border-radius: .5rem;
    padding: .5rem;
    background-color: var(--bg-colour);
    transition: opacity .5s;
}

.popup.active {
    opacity: 1;
    z-index: 500;
    pointer-events: auto;
}

.popup-backdrop {
    opacity: 0;
    pointer-events: none;
    z-index: 400;
    position: absolute;
    background-color: #000;
    top:0;
    left:0;
    bottom:0;
    right:0;    
    transition: opacity 1s;
}

.popup.active ~ .popup-backdrop {
    opacity: .5;
    pointer-events: auto;
}

.popup .close-popup {
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
}

.popup-header .close-popup {
    position: absolute;
    top: .5rem;
    right: .5rem;
}

.popup-header {
    margin-bottom: .5rem;
}

.popup-footer {
    text-align: end;
    margin-top: .5rem;
}

.popup p {
    margin: .25rem 0;
}

.popup h1 {
    margin: 0;
    font-weight: normal;
    font-size: 1.5rem;
}
