.frame {

    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 10px;
    box-sizing: border-box;
}

.frame > :first-child {
    max-height: 100%;
    width: auto;
    background-color: var(--theme-secondary);
    border-radius: var(--theme-border-radius);

    display: grid;
    grid-template-areas:
        "top" "middle" "bottom";
    grid-template-columns: 1fr;
    grid-template-rows: min-content 1fr min-content;
    overflow: auto;
    border: 20px inset solid var(--theme-secondary);
}

.frame .top,
.frame .middle,
.frame .bottom {
    padding : 10px;
}

.frame .top,
.frame .bottom {
    background-color : var(--theme-generic-1);
}

.frame .top {
    border-top-left-radius: var(--std-unit-x1);
    border-top-right-radius: var(--std-unit-x1);
    font-size: var(--font-larger);
}

.frame .middle {
    overflow-y: auto;/* max-width: 30vw; */}

.frame .bottom {
    border-bottom-left-radius: var(--std-unit-x1);
    border-bottom-right-radius: var(--std-unit-x1);
    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
    /* Styles */
    .frame {
        width: auto;
        max-width: 500px;
        margin-right     : auto;
        margin-left      : auto;
        background-color : var(--theme-secondary);
    }


}

/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
    /* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
    /* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
    /* Styles */
}

/* iPads (landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {
    /* Styles */
}

/* iPads (portrait) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : portrait) {
    /* Styles */
}

/* Desktops and laptops ----------- */
@media only screen
and (min-width : 1224px) {
    /* Styles */
}

/* Large screens ----------- */
@media only screen
and (min-width : 1824px) {
    /* Styles */
}


