291 lines
4.5 KiB
CSS
291 lines
4.5 KiB
CSS
/*
|
|
This program has been developed by students from the bachelor Computer Science at Utrecht
|
|
University within the Software Project course.
|
|
© Copyright Utrecht University (Department of Information and Computing Sciences)
|
|
*/
|
|
.logopepper {
|
|
height: 8em;
|
|
padding: 1.5em;
|
|
will-change: filter;
|
|
transition: filter 300ms;
|
|
}
|
|
.logopepper:hover {
|
|
filter: drop-shadow(0 0 10em #ff0707);
|
|
}
|
|
.logopepper.react:hover {
|
|
filter: drop-shadow(0 0 10em #4eff14aa);
|
|
}
|
|
|
|
@keyframes logo-pepper-spin {
|
|
0% {
|
|
transform: rotate(0);
|
|
}
|
|
25% {
|
|
transform: rotate(20deg);
|
|
}
|
|
75% {
|
|
transform: rotate(-20deg);
|
|
}
|
|
100% {
|
|
transform: rotate(0);
|
|
}
|
|
}
|
|
|
|
@keyframes logo-pepper-scale {
|
|
from {
|
|
transform: scale(1,1);
|
|
}
|
|
to {
|
|
transform: scale(1.5,1.5);
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
.logopepper:hover {
|
|
animation: logo-pepper-spin infinite 1s linear;
|
|
}
|
|
}
|
|
|
|
@media (prefers-reduced-motion: no-preference) {
|
|
.logoPepperScaling:hover {
|
|
animation: logo-pepper-scale infinite 1s linear alternate;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
button.reset {
|
|
background-color: crimson;
|
|
color: white;
|
|
}
|
|
button.reset:hover {
|
|
background-color: darkred;
|
|
}
|
|
|
|
button.movePage {
|
|
position: fixed; /* Position the button relative to the viewport (screen),
|
|
not inside its parent. It stays in place even when you scroll. */
|
|
|
|
top: 50%; /* Place the button halfway down from the top of the screen. */
|
|
/* Stick the button to the left edge of the screen. */
|
|
border: 3px solid black;
|
|
outline: 1px solid white;
|
|
transform: translateY(-50%);
|
|
background-color: aquamarine;
|
|
color: white;
|
|
}
|
|
button.movePage.left{
|
|
left: 5%;
|
|
}
|
|
button.movePage.right{
|
|
right: 5%;
|
|
}
|
|
button.movePage:hover{
|
|
background-color: rgb(0, 176, 176);
|
|
}
|
|
|
|
|
|
#root {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
header {
|
|
position: sticky;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
|
|
padding: 1rem;
|
|
|
|
display: flex;
|
|
gap: 1rem;
|
|
align-items: center;
|
|
justify-content: center;
|
|
|
|
background-color: var(--accent-color);
|
|
backdrop-filter: blur(10px);
|
|
z-index: 1; /* Otherwise any translated elements render above the blur?? */
|
|
}
|
|
|
|
main {
|
|
padding: 1rem 0;
|
|
}
|
|
|
|
input[type="checkbox"] {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.flex-row {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.flex-col {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.flex-1 {
|
|
flex: 1;
|
|
}
|
|
|
|
.flex-wrap {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.min-height-0 {
|
|
min-height: 0;
|
|
}
|
|
|
|
.scroll-y {
|
|
overflow-y: scroll;
|
|
}
|
|
|
|
.align-center {
|
|
align-items: center;
|
|
}
|
|
.justify-center {
|
|
justify-content: center;
|
|
}
|
|
.justify-between {
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.gap-sm {
|
|
gap: .25rem;
|
|
}
|
|
.gap-md {
|
|
gap: .5rem;
|
|
}
|
|
.gap-lg {
|
|
gap: 1rem;
|
|
}
|
|
|
|
.margin-0 {
|
|
margin: 0;
|
|
}
|
|
.margin-lg {
|
|
margin: 1rem;
|
|
}
|
|
|
|
.padding-0 {
|
|
padding: 0;
|
|
}
|
|
.padding-sm {
|
|
padding: .25rem;
|
|
}
|
|
.padding-md {
|
|
padding: .5rem;
|
|
}
|
|
.padding-lg {
|
|
padding: 1rem;
|
|
}
|
|
.padding-h-lg {
|
|
padding-left: 1rem;
|
|
padding-right: 1rem;
|
|
}
|
|
.padding-b-lg {
|
|
padding-bottom: 1rem;
|
|
}
|
|
|
|
.round-sm, .round-md, .round-lg {
|
|
overflow: hidden;
|
|
}
|
|
.round-sm {
|
|
border-radius: .25rem;
|
|
}
|
|
.round-md {
|
|
border-radius: .5rem;
|
|
}
|
|
.round-lg {
|
|
border-radius: 1rem;
|
|
}
|
|
|
|
.border-sm {
|
|
border: 1px solid canvastext;
|
|
}
|
|
.border-md {
|
|
border: 2px solid canvastext;
|
|
}
|
|
.border-lg {
|
|
border: 3px solid canvastext;
|
|
}
|
|
|
|
.shadow-sm {
|
|
box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.25);
|
|
}
|
|
.shadow-md {
|
|
box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.25);
|
|
}
|
|
.shadow-lg {
|
|
box-shadow: 0 0 1rem rgba(0, 0, 0, 0.25);
|
|
}
|
|
@media (prefers-color-scheme: dark) {
|
|
.shadow-sm {
|
|
box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.5);
|
|
}
|
|
.shadow-md {
|
|
box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
|
|
}
|
|
.shadow-lg {
|
|
box-shadow: 0 0 1rem rgba(0, 0, 0, 0.5);
|
|
}
|
|
}
|
|
|
|
.font-small {
|
|
font-size: .75rem;
|
|
}
|
|
.font-medium {
|
|
font-size: 1rem;
|
|
}
|
|
.font-large {
|
|
font-size: 1.25rem;
|
|
}
|
|
.mono {
|
|
font-family: ui-monospace, monospace;
|
|
}
|
|
.bold {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.relative {
|
|
position: relative;
|
|
}
|
|
|
|
.clickable {
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
.user-select-all {
|
|
-webkit-user-select: all;
|
|
user-select: all;
|
|
}
|
|
.user-select-none {
|
|
-webkit-user-select: none;
|
|
user-select: none;
|
|
}
|
|
button.no-button {
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
cursor: pointer;
|
|
color: inherit;
|
|
text-decoration: none;
|
|
|
|
&:hover {
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
.flex-center-x {
|
|
display: flex;
|
|
justify-content: center; /* horizontal centering */
|
|
text-align: center; /* center multi-line text */
|
|
width: 100%; /* allow it to stretch */
|
|
flex-wrap: wrap; /* optional: let text wrap naturally */
|
|
} |