333 lines
5.0 KiB
SCSS
333 lines
5.0 KiB
SCSS
// Libraries.
|
|
@use 'bootstrap' with (
|
|
$grid-breakpoints: (
|
|
xs: 0,
|
|
sm: 601px,
|
|
md: 961px,
|
|
lg: 1281px,
|
|
xl: 1921px,
|
|
xxl: 2561px
|
|
)
|
|
);
|
|
@use 'animate.css';
|
|
|
|
// Modules.
|
|
@use 'transitions';
|
|
@use 'lists';
|
|
|
|
// CSS Variables.
|
|
:root {
|
|
--animate-duration: 1s;
|
|
--animate-delay: 0.75s;
|
|
--animate-repeat: 1;
|
|
}
|
|
|
|
// The HTML page.
|
|
html {
|
|
height: 100%;
|
|
}
|
|
|
|
// The body element.
|
|
body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
position: sticky;
|
|
|
|
background-color: rgb(6 25 28);
|
|
background-image: url('~/assets/images/textures/sky.png');
|
|
background-attachment: fixed;
|
|
background-blend-mode: multiply;
|
|
background-size: cover;
|
|
background-repeat: no-repeat;
|
|
|
|
image-rendering: pixelated;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
|
|
color: white;
|
|
|
|
font-family: Lato, sans-serif;
|
|
font-size: 18px;
|
|
|
|
height: 100%;
|
|
}
|
|
|
|
// Entry point (Vue mount).
|
|
#ender-app {
|
|
flex: 1 1 0;
|
|
image-rendering: auto;
|
|
}
|
|
|
|
// Helper classes that don't exist in Bootstrap.
|
|
.nobr {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.clickable {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.overlay {
|
|
grid-area: 1 / 1;
|
|
}
|
|
|
|
.pass-through {
|
|
pointer-events: none;
|
|
|
|
> * {
|
|
pointer-events: auto;
|
|
}
|
|
}
|
|
|
|
.no-decoration {
|
|
text-decoration: none;
|
|
color: inherit;
|
|
}
|
|
|
|
.text-align-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.font-small {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.grid-cols-3 {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.display-sm {
|
|
display: none;
|
|
}
|
|
|
|
.alex {
|
|
font-family: Alexandria, sans-serif;
|
|
font-weight: 700;
|
|
}
|
|
|
|
// Query-overridable classes.
|
|
.background {
|
|
background-color: rgb(0 0 0 / 50%);
|
|
}
|
|
|
|
.dimensions {
|
|
width: 100%;
|
|
min-height: 100%;
|
|
}
|
|
|
|
.dialog {
|
|
display: grid;
|
|
|
|
min-width: 240px;
|
|
max-width: 640px;
|
|
|
|
background-color: rgb(25 20 40 / 95%);
|
|
box-shadow: rgb(81 75 89 / 50%) 7px 7px 2em;
|
|
border-radius: 16px !important;
|
|
|
|
> div.background {
|
|
background-image: url('~/assets/images/textures/aero.png');
|
|
background-attachment: scroll;
|
|
background-repeat: no-repeat;
|
|
background-size: cover;
|
|
background-blend-mode: lighten;
|
|
|
|
width: 100%;
|
|
height: 100%;
|
|
|
|
opacity: 0.2;
|
|
|
|
box-shadow: azure 0 0 20rem;
|
|
filter: blur(5px);
|
|
}
|
|
|
|
> div.content > img.icon-badge {
|
|
position: fixed;
|
|
margin-top: -20px;
|
|
margin-left: -20px;
|
|
transform: rotate(-25deg);
|
|
width: 60px;
|
|
height: 60px;
|
|
}
|
|
}
|
|
|
|
%link {
|
|
color: inherit;
|
|
text-decoration: none;
|
|
transition: 0.3s ease;
|
|
}
|
|
|
|
.link {
|
|
@extend %link;
|
|
|
|
&:hover {
|
|
color: cornflowerblue;
|
|
}
|
|
|
|
&-hi {
|
|
@extend %link;
|
|
|
|
color: cornflowerblue;
|
|
|
|
&:hover {
|
|
color: royalblue;
|
|
}
|
|
|
|
&-force-dark {
|
|
@extend %link;
|
|
|
|
color: cornflowerblue;
|
|
|
|
&:hover {
|
|
color: royalblue;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.radial-gradient {
|
|
background: radial-gradient(
|
|
circle at left,
|
|
rgb(255 255 255 / 80%),
|
|
rgb(255 255 255 / 75%),
|
|
rgb(255 255 255 / 0%)
|
|
);
|
|
}
|
|
|
|
.scrollbar {
|
|
min-height: 128px;
|
|
scrollbar-width: thin;
|
|
scrollbar-color: rgb(255 255 255 / 15%) rgb(0 0 0 / 20%);
|
|
|
|
&::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
|
|
&::-webkit-scrollbar-track {
|
|
border-radius: 8px;
|
|
background-color: rgb(0 0 0 / 20%);
|
|
}
|
|
|
|
&::-webkit-scrollbar-thumb {
|
|
border-radius: 8px;
|
|
background-color: rgb(255 255 255 / 15%);
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: light) {
|
|
body {
|
|
color: black;
|
|
}
|
|
|
|
.scrollbar {
|
|
scrollbar-color: rgb(0 0 0 / 20%) rgb(255 255 255 / 20%);
|
|
|
|
&::-webkit-scrollbar-track {
|
|
background-color: rgb(255 255 255 / 20%);
|
|
}
|
|
|
|
&::-webkit-scrollbar-thumb {
|
|
border-radius: 8px;
|
|
background-color: rgb(0 0 0 / 20%);
|
|
}
|
|
}
|
|
|
|
.background {
|
|
background-color: rgb(255 255 255 / 80%);
|
|
}
|
|
|
|
.link {
|
|
&:hover {
|
|
color: royalblue;
|
|
}
|
|
|
|
&-hi {
|
|
color: royalblue;
|
|
|
|
&:hover {
|
|
color: darkblue;
|
|
}
|
|
}
|
|
}
|
|
|
|
.radial-gradient {
|
|
background: radial-gradient(
|
|
circle at left,
|
|
rgb(0 0 0 / 95%),
|
|
rgb(0 0 0 / 80%),
|
|
rgb(0 0 0 / 0%)
|
|
);
|
|
}
|
|
}
|
|
|
|
.floaty {
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
width: fit-content;
|
|
height: fit-content;
|
|
margin: auto;
|
|
}
|
|
|
|
// Dynamic classes.
|
|
@include bootstrap.media-breakpoint-up(sm) {
|
|
#ender-app {
|
|
height: 100%;
|
|
}
|
|
|
|
.scrollbar {
|
|
scrollbar-gutter: stable;
|
|
}
|
|
|
|
.dimensions {
|
|
width: 80%;
|
|
min-height: fit-content;
|
|
max-height: 90%;
|
|
}
|
|
|
|
.fade-mask-sm {
|
|
mask-image: linear-gradient(to bottom, rgb(0 0 0 / 0%), rgb(0 0 0 / 100%) 5%, rgb(0 0 0 / 100%) 95%, rgb(0 0 0 / 0%));
|
|
}
|
|
|
|
.rounded-1-sm {
|
|
border-radius: 1em;
|
|
}
|
|
|
|
.display-sm {
|
|
display: block;
|
|
}
|
|
|
|
.animate__animated-sm {
|
|
animation-duration: var(--animate-duration);
|
|
animation-fill-mode: both;
|
|
}
|
|
|
|
.animate__delay-1-5s {
|
|
animation-delay: calc(var(--animate-delay) * 1.5);
|
|
}
|
|
}
|
|
|
|
@include bootstrap.media-breakpoint-up(md) {
|
|
/* TODO: Fill it up :) */
|
|
}
|
|
|
|
@include bootstrap.media-breakpoint-up(lg) {
|
|
.dimensions {
|
|
width: 70%;
|
|
}
|
|
}
|
|
|
|
@include bootstrap.media-breakpoint-up(xl) {
|
|
.dimensions {
|
|
width: 40%;
|
|
}
|
|
}
|
|
|
|
@include bootstrap.media-breakpoint-up(xxl) {
|
|
.dimensions {
|
|
width: 30%;
|
|
}
|
|
}
|