This updates the way fonts are handled to not have to download the font from the internet. If you do `./public/font.ttf` in the .scss file, unfortunately the bundle packages them somewhere that's different from the public folder that is used by the index.html to preload them. The fix I used is to use absolute path `/font.ttf` so that both work. Unfortunately, this means that the website will only work if at the root of the domain. That's the case so far so it's okay but still annoying if we want to embed it somewhere.
258 lines
4.0 KiB
SCSS
258 lines
4.0 KiB
SCSS
@import "./theme.css";
|
|
|
|
/* http://www.eaglefonts.com/fg-virgil-ttf-131249.htm */
|
|
@font-face {
|
|
font-family: "Virgil";
|
|
src: url("/FG_Virgil.ttf");
|
|
font-display: swap;
|
|
}
|
|
|
|
/* https://github.com/microsoft/cascadia-code */
|
|
@font-face {
|
|
font-family: "Cascadia";
|
|
src: url("/Cascadia.ttf");
|
|
font-display: swap;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
font-family: Arial, Helvetica, sans-serif;
|
|
color: var(--text-color-primary);
|
|
}
|
|
|
|
.container {
|
|
display: flex;
|
|
position: fixed;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
}
|
|
|
|
.panelColumn {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
h3,
|
|
legend,
|
|
.control-label {
|
|
margin-top: 0.333rem;
|
|
margin-bottom: 0.333rem;
|
|
font-size: 0.75rem;
|
|
color: var(--text-color-primary);
|
|
font-weight: bold;
|
|
display: block;
|
|
}
|
|
|
|
.control-label input {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
h3:first-child,
|
|
legend:first-child,
|
|
.control-label:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
legend {
|
|
padding: 0;
|
|
}
|
|
|
|
.buttonList {
|
|
flex-wrap: wrap;
|
|
|
|
label {
|
|
margin-right: 0.25rem;
|
|
font-size: 0.75rem;
|
|
display: inline-block;
|
|
}
|
|
|
|
input[type="radio"] {
|
|
opacity: 0;
|
|
position: absolute;
|
|
}
|
|
}
|
|
|
|
fieldset {
|
|
margin: 0;
|
|
margin-top: 0.333rem;
|
|
padding: 0;
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
.divider {
|
|
width: 1px;
|
|
background-color: #e9ecef;
|
|
margin: 1px;
|
|
}
|
|
|
|
input:focus {
|
|
outline: transparent;
|
|
box-shadow: 0 0 0 2px #a5d8ff;
|
|
}
|
|
|
|
button,
|
|
.buttonList label {
|
|
background-color: #e9ecef;
|
|
border: 0;
|
|
border-radius: 4px;
|
|
margin: 0.125rem 0;
|
|
padding: 0.25rem;
|
|
|
|
cursor: pointer;
|
|
|
|
&:focus {
|
|
box-shadow: 0 0 0 2px #a5d8ff;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: #ced4da;
|
|
}
|
|
|
|
&:active {
|
|
background-color: #ced4da;
|
|
}
|
|
|
|
&:disabled {
|
|
cursor: not-allowed;
|
|
}
|
|
}
|
|
|
|
.active,
|
|
.buttonList label.active {
|
|
background-color: #ced4da;
|
|
&:hover {
|
|
background-color: #ced4da;
|
|
}
|
|
}
|
|
|
|
.App-menu {
|
|
display: grid;
|
|
}
|
|
|
|
.App-menu_top {
|
|
grid-template-columns: 1fr auto 1fr;
|
|
align-items: flex-start;
|
|
cursor: default;
|
|
pointer-events: none !important;
|
|
}
|
|
|
|
.App-menu_top > * {
|
|
pointer-events: all;
|
|
}
|
|
|
|
.App-menu_top > *:first-child {
|
|
justify-self: flex-start;
|
|
}
|
|
|
|
.App-menu_top > *:last-child {
|
|
justify-self: flex-end;
|
|
}
|
|
|
|
.App-menu_left {
|
|
grid-template-rows: 1fr auto 1fr;
|
|
height: 100%;
|
|
}
|
|
|
|
.App-menu_right {
|
|
grid-template-rows: 1fr;
|
|
height: 100%;
|
|
}
|
|
|
|
.App-right-menu {
|
|
width: 13.75rem;
|
|
}
|
|
|
|
.ErrorSplash {
|
|
min-height: 100vh;
|
|
padding: 20px 0;
|
|
overflow: auto;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
.ErrorSplash-messageContainer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
padding: 40px;
|
|
background-color: #fff5f5;
|
|
border: 3px solid #c92a2a;
|
|
}
|
|
|
|
.ErrorSplash-paragraph {
|
|
margin: 15px 0;
|
|
text-align: center;
|
|
max-width: 600px;
|
|
}
|
|
|
|
.bigger,
|
|
.bigger button {
|
|
font-size: 1.1em;
|
|
}
|
|
.smaller,
|
|
.smaller button {
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.ErrorSplash-details {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
|
|
textarea {
|
|
width: 100%;
|
|
margin: 10px 0;
|
|
font-family: "Cascadia";
|
|
font-size: 0.8em;
|
|
}
|
|
}
|
|
}
|
|
|
|
.language-select {
|
|
position: absolute;
|
|
right: 0;
|
|
bottom: 0;
|
|
min-width: 5.5rem;
|
|
height: 2rem;
|
|
margin-bottom: 0.5em;
|
|
margin-right: 0.5em;
|
|
padding: 0.5em;
|
|
background-color: #e9ecef;
|
|
border-radius: var(--space-factor);
|
|
border: none;
|
|
font-size: 0.8em;
|
|
outline: none;
|
|
appearance: none;
|
|
background-image: url("https://free-use.s3-us-west-2.amazonaws.com/up-sort.svg");
|
|
background-repeat: no-repeat;
|
|
background-position: right 0.7em top 50%, 0 0;
|
|
background-size: 0.65em auto, 100%;
|
|
|
|
&:focus {
|
|
box-shadow: 0 0 0 2px #a5d8ff;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: #ced4da;
|
|
}
|
|
|
|
&:active {
|
|
background-color: #ced4da;
|
|
}
|
|
}
|
|
|
|
.visually-hidden {
|
|
position: absolute !important;
|
|
height: 1px;
|
|
width: 1px;
|
|
overflow: hidden;
|
|
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
|
|
clip: rect(1px, 1px, 1px, 1px);
|
|
white-space: nowrap; /* added line */
|
|
}
|