body.stretch-page {
    display: flex;
    min-height: 100vh;

    flex-direction: column;
}

body.stretch-page > header {
    flex: 0 0 0;
}

body.stretch-page > main {
    flex: 1 0 0;
}

body.stretch-page > footer {
    flex: 0 0 0;
}

.frame {
    display: block;
    /* max-width: ; */
    min-width: 0;
    
    margin: 0 auto;

    box-sizing: border-box;
}

.frame.frame-fixed {
    overflow: hidden;
}

.frame.frame-split {
    display: flex;
    
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
}

.frame.frame-split.frame-reverse {
    flex-direction: row-reverse;
}

.panel {
    width: 100%;
    min-width: 0;

    margin: 0 8px;

    box-sizing: border-box;
}

.frame.frame-split > .panel-fixed {
    width: fit-content;
    flex: 0 0 auto;
}

.frame.frame-split > .panel-stretch {
    width: 100%;

    flex: 1 1 0;
}

.img-small {
    /* width: ;
    height: ; */
    margin: 0 0 auto 0;

    padding: 0.5rem 8px;
}

.img-expanding {
    background-color: darkgray;
}

.img-expanding > * {
    display: none;
    visibility: hidden;

    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}

.img-expanding:focus > * {
    display: block;
    visibility: visible;

    max-width: 90vw;
    max-height: 90vh;
}

.img-expanding:focus > * > img {
    background-color: white;
}
