: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); font-family: monospace; font-size: 0.875rem; line-height: 1.45; } a{ color: var(--c-link); } a:hover{ font-weight: bold; } p{ margin: 0.5rem 0; } /* 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; } h1,h2{ font-weight: bold; } input, button{ font-family: monospace; } strong{ font-weight: bold; } #text-input{ width: 26em; } .controls hr{ display: block !important; border: none; margin: none; margin-left: auto; } label{ font-weight: bold; } /* BOXES ================================================= */ .box{ box-sizing: border-box; padding: 1rem 2rem; border-bottom: 1px solid black; } .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 aside button{ background-color: var(--c-back); border: 1px solid black; cursor: pointer; } .font h2{ font-size: 0.75rem; 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{ padding: 1rem; 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%; } hr{ border: 0; border-top: 1px solid black; margin: 1rem 0 1rem; } .font:first-of-type{ margin-top: 1rem; } hr:last-of-type{ display: none; } svg{ overflow: visible; } /* autofix colors */ .fix-label{ border-bottom: solid limegreen 3px; } .fix{ outline: 1px solid limegreen; } span.fix{ outline: none; color: limegreen; font-weight: bold; } .text-label{ border-bottom: solid red 3px; } .svgbob text { font-family: monospace !important; font-weight: bold !important; fill: red !important; } /* body class checkboxes */ .font div.fix{ visibility: hidden; } body.check-fix .font div.fix{ visibility: visible; } .svgbob text{ visibility: hidden; } body.check-text .svgbob text{ visibility: visible; } /* TITLE ================================================= */ .title.font{ padding: 3rem 2rem; gap: 1rem var(--bar-h); grid-template-columns: repeat(2, calc(50% - calc(var(--bar-h) / 2))); } .title .f-ascii{ margin-left: auto; padding: 0; background: initial; grid-row: auto; } .title .f-svg{ grid-row: auto; margin-right: auto; padding: 0; background: initial; } .title .special{ grid-column: 1 / -1; grid-row: 2 / span 1; } ul.special{ display: flex; gap: 1rem; justify-content: center; align-items: baseline; } .special a{ display: block; border: 1px solid currentColor; padding: 2rem 3rem; border-radius: 2rem; text-decoration: none; } ul.classic{ list-style: initial; padding: 0 1rem; margin: 0.5rem 0; } /* 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); } summary{ padding: 0.5rem 1rem; background: black; color: white; cursor: pointer; white-space: nowrap; padding-right: 3rem; } summary span{ display: inline-block; position: absolute; right: 0.5rem; } summary + div{ position: absolute; left: 100%; top: 0; } .collection{ width: 75vw; display: flex; flex-wrap: wrap; } .collection > .figfont{ padding: 0.5rem 1rem; background: lightgray; cursor: pointer; white-space: nowrap; box-sizing: border-box; outline: 1px solid black; outline-offset: -0.5px; } .figfont:hover{ color: var(--c-link); } /* catalogue colors */ .figfont::before{ content: ''; width: 0.75em; height: 0.75em; border-radius: 50%; background-color: var(--c); margin-right: 0.5em; display: inline-block; vertical-align: middle; } .legend::before{ content: ''; width: 1em; height: 1em; border-radius: 50%; background-color: var(--c); margin-right: 0.5em; display: inline-block; vertical-align: middle; }