mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-10-01 00:57:23 -04:00
415 lines
9.0 KiB
SCSS
415 lines
9.0 KiB
SCSS
@use "sass:color";
|
|
@use "sass:map";
|
|
@use "sass:math";
|
|
|
|
@import "variables";
|
|
|
|
@import "fonts";
|
|
|
|
@import "workarounds";
|
|
|
|
@import "~bootstrap/scss/root";
|
|
@import "~bootstrap/scss/reboot";
|
|
@import "~bootstrap/scss/type";
|
|
//@import "~bootstrap/scss/images";
|
|
//@import "~bootstrap/scss/containers";
|
|
@import "~bootstrap/scss/grid";
|
|
@import "~bootstrap/scss/tables";
|
|
@import "~bootstrap/scss/forms";
|
|
@import "~bootstrap/scss/buttons";
|
|
//@import "~bootstrap/scss/transitions";
|
|
@import "~bootstrap/scss/dropdown";
|
|
@import "~bootstrap/scss/button-group";
|
|
//TODO @import "~bootstrap/scss/input-group";
|
|
//TODO @import "~bootstrap/scss/custom-forms";
|
|
@import "~bootstrap/scss/nav";
|
|
//@import "~bootstrap/scss/navbar";
|
|
@import "~bootstrap/scss/card";
|
|
//@import "~bootstrap/scss/accordion";
|
|
//@import "~bootstrap/scss/breadcrumb";
|
|
@import "~bootstrap/scss/pagination";
|
|
@import "~bootstrap/scss/badge";
|
|
@import "~bootstrap/scss/alert";
|
|
@import "~bootstrap/scss/progress";
|
|
@import "~bootstrap/scss/list-group";
|
|
@import "~bootstrap/scss/close";
|
|
//@import "~bootstrap/scss/toasts";
|
|
@import "~bootstrap/scss/modal";
|
|
//@import "~bootstrap/scss/tooltip";
|
|
//@import "~bootstrap/scss/popover";
|
|
//@import "~bootstrap/scss/carousel";
|
|
//@import "~bootstrap/scss/spinners";
|
|
|
|
@import "~bootstrap/scss/helpers";
|
|
@import "~bootstrap/scss/utilities/api";
|
|
|
|
$fa-font-path: "~@fortawesome/fontawesome-pro/webfonts";
|
|
@import "~@fortawesome/fontawesome-pro/scss/fontawesome";
|
|
@import "~@fortawesome/fontawesome-pro/scss/light";
|
|
@import "~@fortawesome/fontawesome-pro/scss/solid";
|
|
@import "~@fortawesome/fontawesome-pro/scss/brands";
|
|
|
|
@import "./dark";
|
|
|
|
@import "./glass";
|
|
|
|
@import "./print";
|
|
|
|
@import "./nouns";
|
|
|
|
html {
|
|
scroll-behavior: smooth;
|
|
scroll-padding-top: 92px;
|
|
}
|
|
|
|
body {
|
|
background-image:
|
|
linear-gradient(74deg,
|
|
rgba(236, 236, 236,0.02) 0%,
|
|
rgba(236, 236, 236,0.02) 13%,
|
|
transparent 13%,
|
|
transparent 64%,
|
|
rgba(55, 55, 55,0.02) 64%,
|
|
rgba(55, 55, 55,0.02) 71%,
|
|
rgba(239, 239, 239,0.02) 71%,
|
|
rgba(239, 239, 239,0.02) 100%),
|
|
linear-gradient(170deg,
|
|
rgba(8, 8, 8,0.02) 0%,
|
|
rgba(8, 8, 8,0.02) 1%,
|
|
transparent 1%,
|
|
transparent 60%,
|
|
rgba(9, 9, 9,0.02) 60%,
|
|
rgba(9, 9, 9,0.02) 80%,
|
|
rgba(198, 198, 198,0.02) 80%,
|
|
rgba(198, 198, 198,0.02) 100%),
|
|
linear-gradient(118deg,
|
|
rgba(134, 134, 134,0.02) 0%,
|
|
rgba(134, 134, 134,0.02) 30%,
|
|
transparent 30%,
|
|
transparent 43%,
|
|
rgba(85, 85, 85,0.02) 43%,
|
|
rgba(85, 85, 85,0.02) 47%,
|
|
rgba(103, 103, 103,0.02) 47%,
|
|
rgba(103, 103, 103,0.02) 100%),
|
|
linear-gradient(249deg,
|
|
rgba(178, 178, 178,0.02) 0%,
|
|
rgba(178, 178, 178,0.02) 8%,
|
|
transparent 8%, transparent 47%,
|
|
rgba(161, 161, 161,0.02) 47%,
|
|
rgba(161, 161, 161,0.02) 61%,
|
|
rgba(19, 19, 19,0.02) 61%,
|
|
rgba(19, 19, 19,0.02) 100%),
|
|
linear-gradient(90deg,
|
|
rgb(255,255,255),
|
|
rgb(255,255,255)
|
|
);
|
|
min-height: 100vh;
|
|
--bs-primary-inverted: #{$primary-dark};
|
|
}
|
|
|
|
.container {
|
|
margin: 0 auto;
|
|
width: 100%;
|
|
max-width: min(90vw, #{$container-width});
|
|
}
|
|
|
|
.container-wide {
|
|
margin: 0 auto;
|
|
width: 100%;
|
|
max-width: min(90vw, #{$container-wide-width});
|
|
}
|
|
|
|
section {
|
|
margin: 2*$spacer 0;
|
|
}
|
|
|
|
.main > section:first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
code {
|
|
@include font-size($code-font-size);
|
|
color: $code-color;
|
|
background-color: color.adjust($code-color, $lightness: 45%, $space: hsl);
|
|
word-wrap: break-word;
|
|
|
|
// Streamline the style when inside anchors to avoid broken underline and more
|
|
a > & {
|
|
color: inherit;
|
|
}
|
|
|
|
border: 1px solid color.adjust($code-color, $lightness: 30%, $space: hsl);
|
|
padding: .2em;
|
|
border-radius: $border-radius-sm;
|
|
}
|
|
pre > code {
|
|
display: block;
|
|
padding: .5em;
|
|
user-select: all;
|
|
}
|
|
|
|
@for $columns from 1 through 12 {
|
|
.table-fixed-#{$columns} {
|
|
th, td {
|
|
width: math.div(100%, $columns);
|
|
}
|
|
}
|
|
}
|
|
|
|
img.icon, svg.icon {
|
|
height: 1em;
|
|
width: 1.25em;
|
|
text-align: center;
|
|
}
|
|
|
|
@each $breakpoint in map.keys($grid-breakpoints) {
|
|
@include media-breakpoint-up($breakpoint) {
|
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
|
|
|
@each $prop, $abbrev in (width: w, height: h) {
|
|
@each $size, $length in (
|
|
25: 25%,
|
|
50: 50%,
|
|
75: 75%,
|
|
100: 100%,
|
|
auto: auto
|
|
) {
|
|
.#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
label.required::after {
|
|
color: $danger;
|
|
content: ' *';
|
|
}
|
|
|
|
.mw-input {
|
|
min-width: 16ch;
|
|
}
|
|
|
|
blockquote {
|
|
margin-left: $spacer;
|
|
border-left: 3px $primary solid;
|
|
padding-left: $spacer;
|
|
}
|
|
|
|
.form-group {
|
|
margin-bottom: $spacer;
|
|
}
|
|
|
|
strike, .text-strike {
|
|
text-decoration: line-through;
|
|
}
|
|
|
|
.text-primary-inverted {
|
|
color: var(--bs-primary-inverted) !important;
|
|
}
|
|
|
|
form[inert] {
|
|
opacity: .5;
|
|
}
|
|
|
|
#arc-widget > iframe {
|
|
position: fixed !important;
|
|
bottom: 3px !important;
|
|
}
|
|
|
|
.sticky-top {
|
|
z-index: 98;
|
|
}
|
|
|
|
@include media-breakpoint-up('lg') {
|
|
.table-wide {
|
|
margin-left: calc(-50vw + 50% + 3rem);
|
|
margin-right: calc(-50vw + 50% + 3rem);
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-up('lg', $grid-breakpoints) {
|
|
.body {
|
|
margin-top: $header-margin;
|
|
}
|
|
.sticky-top {
|
|
top: $header-height + 3px;
|
|
}
|
|
}
|
|
|
|
.inverted {
|
|
filter: invert(1);
|
|
}
|
|
|
|
.list-singular, .list-plural {
|
|
list-style: none;
|
|
|
|
> li {
|
|
padding-inline-start: $fa-fw-width;
|
|
white-space: nowrap;
|
|
|
|
&::before {
|
|
display: inline-block;
|
|
width: $fa-fw-width;
|
|
margin-inline-start: -#{$fa-fw-width};
|
|
text-align: center;
|
|
}
|
|
}
|
|
}
|
|
|
|
.list-singular > li::before {
|
|
content: "⋅";
|
|
}
|
|
.list-plural > li::before {
|
|
content: "⁖";
|
|
}
|
|
|
|
.btn-concise {
|
|
white-space: nowrap;
|
|
}
|
|
@include media-breakpoint-up('md', $grid-breakpoints) {
|
|
.list-btn-concise {
|
|
min-width: 3rem;
|
|
|
|
li {
|
|
height: 2.5rem;
|
|
}
|
|
}
|
|
.btn-concise {
|
|
position: absolute;
|
|
|
|
.btn-label {
|
|
display: none;
|
|
}
|
|
|
|
&:hover .btn-label {
|
|
display: inline;
|
|
}
|
|
}
|
|
}
|
|
|
|
.graph {
|
|
width: 100%;
|
|
height: 400px;
|
|
@include media-breakpoint-up('md', $grid-breakpoints) {
|
|
height: 600px;
|
|
}
|
|
}
|
|
|
|
@include media-breakpoint-up('md', $grid-breakpoints) {
|
|
.wide-escape {
|
|
margin-left: -#{$wide-escape-size};
|
|
margin-right: -#{$wide-escape-size};
|
|
}
|
|
}
|
|
|
|
.emoji {
|
|
height: 1em;
|
|
}
|
|
|
|
.list-group-item-hoverable {
|
|
&:hover {
|
|
color: $primary;
|
|
border-inline-start: 3px solid $primary !important;
|
|
padding-inline-start: calc(#{$list-group-item-padding-x} - 2px) !important;
|
|
}
|
|
}
|
|
.list-group-item-active {
|
|
background-color: $list-group-hover-bg !important;
|
|
border-inline-start: 3px solid $primary !important;
|
|
padding-inline-start: calc(#{$list-group-item-padding-x} - 2px) !important;
|
|
}
|
|
|
|
.list-group-item-bg {
|
|
background-color: $white;
|
|
}
|
|
|
|
.bold {
|
|
font-weight: bold;
|
|
}
|
|
.italics {
|
|
font-style: italic;
|
|
}
|
|
.bold-italics {
|
|
font-weight: bold;
|
|
font-style: italic;
|
|
}
|
|
.semibold {
|
|
font-weight: 600;
|
|
}
|
|
.hover-shadow:hover {
|
|
@extend .shadow;
|
|
}
|
|
|
|
body:not(.reduced-colours) {
|
|
@each $name, $value in $colours {
|
|
.colour-#{$name} {
|
|
color: map.get($value, 'light') !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.locale-dropdown.show {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
width: 360px;
|
|
.dropdown-divider {
|
|
width: 100%;
|
|
}
|
|
@include media-breakpoint-down('md', $grid-breakpoints) {
|
|
width: calc(100vw - 2rem);
|
|
right: auto;
|
|
left: 50%;
|
|
-webkit-transform: translate(-50%, 0);
|
|
-o-transform: translate(-50%, 0);
|
|
transform: translate(-50%, 0);
|
|
}
|
|
}
|
|
|
|
.headers-nowrap th {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
@for $i from 3 to 5 {
|
|
@include media-breakpoint-up('lg', $grid-breakpoints) {
|
|
.columns-#{$i} {
|
|
column-count: $i;
|
|
> * {
|
|
break-inside: avoid-column;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.table-balanced {
|
|
th {
|
|
text-align: left;
|
|
text-wrap: balance;
|
|
}
|
|
}
|
|
|
|
@each $name, $value in $theme-colors {
|
|
tr.accent-#{$name} {
|
|
border-left: 3px solid #{$value};
|
|
}
|
|
}
|
|
|
|
.badge-sm {
|
|
--bs-badge-font-size: 0.75rem;
|
|
}
|
|
|
|
.scroll-mt-7 {
|
|
scroll-margin-top: 6 * $spacer;
|
|
}
|
|
|
|
body:has(dialog[open]) {
|
|
overflow: hidden;
|
|
}
|
|
|
|
textarea,
|
|
textarea.form-control,
|
|
textarea.form-control-sm {
|
|
field-sizing: content;
|
|
min-height: 5rem;
|
|
}
|