html, body {
    height: 100%;
}

body {
    font-family: '서울남산체';
    font-weight: 300;
    font-size: 1.2rem;
    margin: 0;

    --ribbon-height: 5rem;
}

div {
    font-size: 1.2rem;
}

span.small {
    font-size: .8rem;
}
.head, .body, .panel-left, .faux-center {
    border: solid 1px;
    font-size: .8rem;
}

.head {
    display: block;
    height: var(--ribbon-height);
    border-color: blue;
}

.body {
    display: flex;
    min-height: calc(100% - var(--ribbon-height));
    border-color: blue;
}

.panel-left {
    width: 12rem;
}

.ribbon-top, .panel-left, .panel-center {
    border-color: red;
}

div.faux-center {
    border: 2px dashed gray;
    display: block;
    width: 55%;
}

div.panel-center {
    display: block;
    padding: 2.6rem;
    /* padding: 2.6rem 0 0 max(2.6rem, 15%); */
    margin: .1rem;
    /* width: 55%; */
}

.panel-center .panel-list {
    border: 1px dotted pink;
    padding: .1rem;
}

div.panel-center div.panel-item {
    display: block;
    border: 1px dotted;
    margin-bottom: 2.2rem;
    /* width: 60vw; */
}

div.panel-center div.itemhead {
    display: flex;
}

div.panel-center div.itemname {
    width: 70%;
    text-align: left;
    border: 1px dashed goldenrod;
}

div.panel-center div.itemmore {
    width: 30%;
    text-align: right;
    font-weight: 300;
    border: 1px dashed goldenrod;
}

div.panel-center div.cardbox {
    display: flex;
    flex-flow: row wrap;
    /* width: 80%; */
    /* align-content: space-between; */
    /* justify-content: space-between; */

    border: 1px solid coral;
    margin-top: 1rem;
}

div.panel-center div.cardset {
    width: min(18rem, 45%);
    /* width: 28vw; */
    height: 9.4rem;
    margin: 0 .6rem .6rem 0;
    position: relative;

    border: 1px dotted blueviolet;
}

div.panel-center div.cardset-title {
    font-size: 1.1rem;
    line-height: 1.2rem;

    border: 1px dotted gray;
}

div.panel-center div.n-terms {
    margin-top: .8rem;

    font-size: 1rem;

    border: 1px dotted gray;
}

div.panel-center div.cardset-creator {
    position: absolute;
    bottom: 1.5rem;

    font-size: 1rem;

    border: 1px dotted gray;
}
