/*
Whole site popup that is activated by targeting its id.
To close the popup, link the close button to id of parent element.
*/

.overlay {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;

    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 3;

    background-color: hsla(var(--c-background-h), var(--c-background-s), 5%, .2);

    transition: opacity .5s cubic-bezier(.4,.01,.25,1),
    visibility .5s cubic-bezier(.4,.01,.25,1);

    visibility: hidden;
    opacity: 0;
}

.overlay:target {
    visibility: visible;
    opacity: 1;

    transition: opacity .5s, visibilty .5s;
}

.popup {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-items: flex-start;

    height: calc(100vh - 2 * calc(var(--gap-s) + 2.5rem + 1px));

    /* Margin to cross the navigation-bar at 50% */
    margin: calc(var(--gap-s) + var(--size-icons) + var(--gap-xs) + var(--size-borders));

    /* Match border-radius of navigation-bar */
    border-radius: calc(var(--size-icons) + var(--gap-xs) + var(--size-borders));

    overflow: hidden;

    transform: scale(.9);
    transition: transform .5s cubic-bezier(.4,.01,.25,1);
    
    background-color: var(--c-background);
    border: var(--frosted-glass-border);
    box-shadow: var(--shadow-elevation-high)
}

.overlay:target .popup {
    transform: scale(1);
}

.popup .popup-content {
    width: 100%;

    padding: var(--gap-2xl);
    padding-bottom: var(--gap-4xl);

    overflow-x: hidden;
    overflow-y: scroll;

    align-items: center;

    article {
        margin: 0 auto;
    }

    figure.standalone {
        max-width: 1280px;
        margin: var(--gap-xl) auto;
    }

    .grid {
        max-width: 1280px;
        margin: var(--gap-xl) auto;
        grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    }

    iframe {
        display: block;
        max-width: 40rem;
        margin: var(--gap-xl) auto;
    }

}

.popup.article {
    margin-left: auto;
    margin-right: auto;
}


/* Popup navigation buttons */

.popup .btn-nav {
    position: fixed;
    width: fit-content;
}

.popup .close {
    top: var(--gap-xs);
    right: var(--gap-xs);
}

.popup .previous {
    bottom: var(--gap-xs);
    left: var(--gap-xs);
}

.popup .next {
    bottom: var(--gap-xs);
    right: var(--gap-xs);
}

/* Popup content */

.popup .cover-image {
    margin: calc(-1 * var(--gap-2xl));
    width: calc(100% + 2 * var(--gap-2xl));
    max-height: fit-content;
    height: calc(100vh - 2 * (var(--gap-s) + var(--size-icons) + var(--gap-xs) + var(--size-borders)));

    margin-bottom: var(--gap-m);

    overflow: hidden;
}