|
|
|
|
|
|
|
:root{
|
|
|
|
--bar-h: 3rem;
|
|
|
|
--c-link: blue;
|
|
|
|
--c-back: whitesmoke;
|
|
|
|
--c-default: black;
|
|
|
|
--c-contributed: palegreen;
|
|
|
|
--c-jave: mediumpurple;
|
|
|
|
}
|
|
|
|
.default{
|
|
|
|
--c: var(--c-default);
|
|
|
|
}
|
|
|
|
.contributed{
|
|
|
|
--c: var(--c-contributed);
|
|
|
|
}
|
|
|
|
.jave{
|
|
|
|
--c: var(--c-jave);
|
|
|
|
}
|
|
|
|
body{
|
|
|
|
background-color: var(--c-back);
|
|
|
|
}
|
|
|
|
|
|
|
|
button{
|
|
|
|
background-color: var(--c-link);
|
|
|
|
border: none;
|
|
|
|
border-radius: 5em;
|
|
|
|
padding: 0.5em 1em;
|
|
|
|
color: white;
|
|
|
|
}
|
|
|
|
|
|
|
|
img{
|
|
|
|
display: block;
|
|
|
|
max-width: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* BAR
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
body{
|
|
|
|
margin-top: calc(var(--bar-h) * 1);
|
|
|
|
}
|
|
|
|
body.write,
|
|
|
|
body.catalogue,
|
|
|
|
body.draw{
|
|
|
|
margin-top: calc(var(--bar-h) * 2);
|
|
|
|
}
|
|
|
|
body.write .font,
|
|
|
|
body.catalogue .font,
|
|
|
|
body.draw .font{
|
|
|
|
height: calc(100vh - var(--bar-h) * 2);
|
|
|
|
grid-template-rows: 1fr;
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
|
|
|
|
body > .tabs{
|
|
|
|
position: fixed;
|
|
|
|
top: 0;
|
|
|
|
width: 100%;
|
|
|
|
z-index: 99999;
|
|
|
|
}
|
|
|
|
|
|
|
|
nav ul,
|
|
|
|
.controls{
|
|
|
|
box-sizing: border-box;
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
nav ul li{
|
|
|
|
flex-grow: 1;
|
|
|
|
}
|
|
|
|
nav ul li:not(:last-child){
|
|
|
|
border-right: 1px solid var(--c-back);
|
|
|
|
}
|
|
|
|
nav ul a{
|
|
|
|
color: white;
|
|
|
|
padding: 0 2rem;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
text-decoration: none;
|
|
|
|
height: var(--bar-h);
|
|
|
|
background-color: black;
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
nav ul a.active{
|
|
|
|
background-color: var(--c-link);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* CONTROLS
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
.controls{
|
|
|
|
position: fixed;
|
|
|
|
gap: 0.5rem;
|
|
|
|
top: var(--bar-h);
|
|
|
|
background-color: var(--c-back);
|
|
|
|
padding: 0rem 1rem;
|
|
|
|
height: var(--bar-h);
|
|
|
|
z-index: 99;
|
|
|
|
}
|
|
|
|
|
|
|
|
#text-input{
|
|
|
|
width: 26em;
|
|
|
|
}
|
|
|
|
.controls hr{
|
|
|
|
display: block !important;
|
|
|
|
border: none;
|
|
|
|
margin: none;
|
|
|
|
margin-left: auto;
|
|
|
|
}
|
|
|
|
|
|
|
|
.reload::after{
|
|
|
|
content: 'reload';
|
|
|
|
position: fixed;
|
|
|
|
inset: 0;
|
|
|
|
background-color: rgba(0,0,205,0.2);
|
|
|
|
z-index: 998;
|
|
|
|
pointer-events: all;
|
|
|
|
color: white;
|
|
|
|
right: 0.5rem;
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* BOXES
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
.box{
|
|
|
|
box-sizing: border-box;
|
|
|
|
padding: 0 2rem 1rem;
|
|
|
|
}
|
|
|
|
.two-columns{
|
|
|
|
display: flex;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
gap: var(--bar-h);
|
|
|
|
}
|
|
|
|
.two-columns > *{
|
|
|
|
flex: 1 1 0%;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* one font block */
|
|
|
|
|
|
|
|
.font{
|
|
|
|
display: grid;
|
|
|
|
grid-template-columns: repeat(2, calc(50% - 0.5rem));
|
|
|
|
gap: 1rem;
|
|
|
|
padding: 0 1rem 1rem;
|
|
|
|
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
.font aside{
|
|
|
|
position: absolute;
|
|
|
|
bottom: 0.5rem;
|
|
|
|
|
|
|
|
display: flex;
|
|
|
|
gap: 0.5rem;
|
|
|
|
}
|
|
|
|
aside.right{
|
|
|
|
right: 2.5rem;
|
|
|
|
}
|
|
|
|
aside.left{
|
|
|
|
right: calc(50vw + 1.5rem);
|
|
|
|
}
|
|
|
|
|
|
|
|
.font h2{
|
|
|
|
font-size: 0.875rem;
|
|
|
|
grid-column: 1 / -1;
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
.f-ascii{
|
|
|
|
font-family: monospace;
|
|
|
|
font-size: 1rem;
|
|
|
|
background-color: white;
|
|
|
|
overflow: auto;
|
|
|
|
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
.f-svg{
|
|
|
|
background-color: white;
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
.f-ascii,
|
|
|
|
.f-svg{
|
|
|
|
height: 100%;
|
|
|
|
width: 100%;
|
|
|
|
box-sizing: border-box;
|
|
|
|
grid-row: 1 / span 1;
|
|
|
|
border: 1px solid black;
|
|
|
|
}
|
|
|
|
.f-svg iframe{
|
|
|
|
border: none !important;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
|
|
|
.f-double{
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.font:first-of-type{
|
|
|
|
margin-top: 1rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* TITLE
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
.title.font{
|
|
|
|
padding: 2rem 2rem 4rem;
|
|
|
|
gap: 0 var(--bar-h);
|
|
|
|
grid-template-columns: repeat(2, calc(50% - calc(var(--bar-h) / 2)));
|
|
|
|
}
|
|
|
|
.title .f-ascii{
|
|
|
|
margin-left: auto;
|
|
|
|
grid-row: auto;
|
|
|
|
}
|
|
|
|
.title .f-svg{
|
|
|
|
grid-row: auto;
|
|
|
|
margin-right: auto;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
.title .f-ascii,
|
|
|
|
.title .f-svg{
|
|
|
|
padding: 0;
|
|
|
|
background: initial;
|
|
|
|
border: none;
|
|
|
|
width: auto;
|
|
|
|
}
|
|
|
|
.title svg {
|
|
|
|
overflow: visible;
|
|
|
|
max-width: 100%;
|
|
|
|
grid-column: span 2;
|
|
|
|
max-height: 24rem;
|
|
|
|
margin: 0 auto;
|
|
|
|
}
|
|
|
|
.title svg a{
|
|
|
|
fill: var(--c-link);
|
|
|
|
}
|
|
|
|
.title svg a.software{
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
.title .intro{
|
|
|
|
margin: 1rem auto;
|
|
|
|
grid-column: span 2;
|
|
|
|
max-width: 48rem;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* gallery
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
.gallery{
|
|
|
|
padding: 2rem 2rem 4rem;
|
|
|
|
margin: 2rem 0;
|
|
|
|
grid-column: span 2;
|
|
|
|
display: grid;
|
|
|
|
grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
|
|
|
|
gap: 1rem;
|
|
|
|
}
|
|
|
|
.gallery h3{
|
|
|
|
font-size: 0.875rem;
|
|
|
|
font-weight: bold;
|
|
|
|
grid-column: 1 / -1;
|
|
|
|
}
|
|
|
|
.gallery h2{
|
|
|
|
display: block;
|
|
|
|
|
|
|
|
font-size: 0.875rem;
|
|
|
|
font-weight: bold;
|
|
|
|
grid-column: 1 / -1;
|
|
|
|
|
|
|
|
width: fit-content;
|
|
|
|
padding: 1rem;
|
|
|
|
margin: 1rem auto;
|
|
|
|
border: 1px solid black;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* font
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
.write .font{
|
|
|
|
grid-template-columns: 32rem 1fr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* catalogue
|
|
|
|
================================================= */
|
|
|
|
|
|
|
|
.catalogue .font{
|
|
|
|
grid-template-columns: 1fr;
|
|
|
|
}
|
|
|
|
|
|
|
|
details{
|
|
|
|
position: relative;
|
|
|
|
z-index: 999;
|
|
|
|
}
|
|
|
|
details[open] > summary{
|
|
|
|
background-color: var(--c-link);
|
|
|
|
color: white;
|
|
|
|
}
|
|
|
|
|
|
|
|
.collection-menu{
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
.collection-menu[open] .collection-menu-back{
|
|
|
|
position: fixed;
|
|
|
|
inset: 0;
|
|
|
|
top: var(--bar-h);
|
|
|
|
padding: 0 1rem 1rem;
|
|
|
|
background-color: rgba(240, 240, 240, 0.85);
|
|
|
|
background-color: var(--c-back);
|
|
|
|
}
|
|
|
|
.collection-menu-back{
|
|
|
|
display: flex;
|
|
|
|
justify-content: flex-end;
|
|
|
|
flex-direction: column;
|
|
|
|
}
|
|
|
|
|
|
|
|
summary{
|
|
|
|
padding: calc(1rem - 1px) 1rem;
|
|
|
|
height: var(--bar-h);
|
|
|
|
border-top: 1px solid var(--c-back);
|
|
|
|
box-sizing: border-box;
|
|
|
|
background: lightgray;
|
|
|
|
color: black;
|
|
|
|
cursor: pointer;
|
|
|
|
white-space: nowrap;
|
|
|
|
padding-right: 3rem;
|
|
|
|
z-index: 999;
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
summary span{
|
|
|
|
display: inline-block;
|
|
|
|
position: absolute;
|
|
|
|
right: 0.5rem;
|
|
|
|
}
|
|
|
|
summary + div{
|
|
|
|
position: absolute;
|
|
|
|
left: calc(100% + 1px);
|
|
|
|
top: 0;
|
|
|
|
}
|
|
|
|
.collection{
|
|
|
|
top: calc(-1 * var(--bar-h) * calc(var(--index) - 1) + 1px);
|
|
|
|
|
|
|
|
max-height: calc(100vh - 1px - var(--bar-h));
|
|
|
|
overflow: auto;
|
|
|
|
|
|
|
|
width: calc(100vw - 24rem);
|
|
|
|
display: grid;
|
|
|
|
grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
|
|
|
|
gap: 1px;
|
|
|
|
|
|
|
|
padding-bottom: var(--bar-h);
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
.collection > .figfont{
|
|
|
|
padding: 0rem 0.5rem;
|
|
|
|
background: lightgray;
|
|
|
|
cursor: pointer;
|
|
|
|
white-space: nowrap;
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
|
|
display: flex;
|
|
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
|
|
gap: 0.25rem;
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
.specimen-link {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
padding: 1em;
|
|
|
|
}
|
|
|
|
.figfont:hover{
|
|
|
|
color: var(--c-link);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* catalogue colors */
|
|
|
|
.figfont::after{
|
|
|
|
content: '';
|
|
|
|
width: 0.75rem;
|
|
|
|
height: 0.75rem;
|
|
|
|
border-radius: 50%;
|
|
|
|
background-color: var(--c);
|
|
|
|
display: inline-block;
|
|
|
|
position: absolute;
|
|
|
|
top: 0.5rem;
|
|
|
|
right: 0.5rem;
|
|
|
|
}
|
|
|
|
.thumbnail{
|
|
|
|
mix-blend-mode: darken;
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
.legend::before{
|
|
|
|
content: '';
|
|
|
|
width: 0.75rem;
|
|
|
|
height: 0.75rem;
|
|
|
|
border-radius: 50%;
|
|
|
|
background-color: var(--c);
|
|
|
|
margin-right: 0.5rem;
|
|
|
|
display: inline-block;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|