Move stylesheets back to `app/assets/stylesheets`
This commit is contained in:
parent
cf4246d827
commit
8c9dc92afb
|
@ -0,0 +1,15 @@
|
|||
.ios-web-app {
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
.fs-10 {
|
||||
font-size: 10em;
|
||||
}
|
||||
|
||||
.pe-none {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.empty:not(:only-child) {
|
||||
display: none;
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
// Font settings
|
||||
$lexend-font-path: "/assets";
|
||||
$lexend-weights: 500, 600;
|
||||
$fa-font-path: "/assets";
|
||||
|
||||
$font-family-sans-serif: "Lexend", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
$font-family-serif: Georgia, "DejaVu Serif", "Times New Roman", Times, serif;
|
||||
$font-family-monospace: "PragmataPro", Monaco, "Ubuntu Mono", Menlo, "DejaVu Sans Mono", monospace;
|
||||
$font-family-base: $font-family-sans-serif;
|
||||
|
||||
$font-size-base: 1rem;
|
||||
$font-size-large: ceil(($font-size-base * 1.25)); // ~18px
|
||||
$font-size-small: ceil(($font-size-base * 0.85)); // ~12px
|
||||
|
||||
$font-size-h1: floor(($font-size-base * 2.6)); // ~36px
|
||||
$font-size-h2: floor(($font-size-base * 2.15)); // ~30px
|
||||
$font-size-h3: ceil(($font-size-base * 1.7)); // ~24px
|
||||
$font-size-h4: ceil(($font-size-base * 1.25)); // ~18px
|
||||
$font-size-h5: $font-size-base;
|
||||
$font-size-h6: ceil(($font-size-base * 0.85)); // ~12px
|
||||
|
||||
// Usual navbar height
|
||||
$navbar-height: 56px;
|
||||
|
||||
// Color overrides for Bootstrap
|
||||
$primary: #5e35b1;
|
||||
|
||||
// Cards
|
||||
$card-border-width: 0;
|
||||
|
||||
// List Groups
|
||||
$list-group-border-width: 0;
|
||||
|
||||
// nProgress
|
||||
$nprogress-color: lighten($primary, 25%);
|
||||
|
||||
// Color names for theme generation
|
||||
$color-names: (
|
||||
"primary",
|
||||
"danger",
|
||||
"warning",
|
||||
"info",
|
||||
"success",
|
||||
"dark",
|
||||
"light"
|
||||
);
|
||||
|
||||
// Avatar variables
|
||||
$avatar-border-radius: 4px;
|
||||
|
||||
$avatar-sizes: (
|
||||
"xs": 20px,
|
||||
"sm": 30px,
|
||||
"md": 40px,
|
||||
"lg": 80px,
|
||||
"xl": 120px,
|
||||
"xxl": 160px,
|
||||
);
|
||||
|
||||
$spacers: (
|
||||
10: (1rem * 6)
|
||||
);
|
||||
|
||||
:root {
|
||||
--background: #f0edf4;
|
||||
--input-bg: var(--background);
|
||||
--raised-bg: #ffffff;
|
||||
--raised-accent: #f7f7f7;
|
||||
|
||||
/**
|
||||
NOTE for all *-text variables
|
||||
----------------------------------------------
|
||||
The text-variables are present as triplets
|
||||
because in some places it's required to adjust
|
||||
their transparency.
|
||||
|
||||
So, for general usage, use:
|
||||
color: RGB(var(--*-text));
|
||||
|
||||
And for transparent usage, use:
|
||||
color: rgba(var(--*-text), .7);
|
||||
|
||||
The uppercase RGB is required because internally
|
||||
SassC wants more than one argument for rgb(),
|
||||
hence writing RGB() bypasses that check, but
|
||||
browsers interpret it correctly.
|
||||
*/
|
||||
|
||||
--primary-text: 255, 255, 255;
|
||||
--danger-text: 255, 255, 255;
|
||||
--warning-text: 41, 41, 41;
|
||||
--info-text: 255, 255, 255;
|
||||
--success-text: 255, 255, 255;
|
||||
--dark-text: 255, 255, 255;
|
||||
--light-text: 0, 0, 0;
|
||||
|
||||
--body-text: 0, 0, 0;
|
||||
--muted-text: 108, 117, 125;
|
||||
--input-text: 0, 0, 0;
|
||||
--input-placeholder: 108, 117, 125;
|
||||
|
||||
--turbolinks-progress-color: #a58adc; // --primary lightened by 25%
|
||||
}
|
||||
|
||||
$gray: #e2e2e2;
|
|
@ -0,0 +1,119 @@
|
|||
/**
|
||||
SETTINGS
|
||||
----------------------------------------------
|
||||
Variable definitions, tools and mixins used
|
||||
across all styling definitions.
|
||||
*/
|
||||
@use "@fontsource/lexend/scss/mixins" as Lexend;
|
||||
|
||||
@import "variables";
|
||||
|
||||
/**
|
||||
VENDOR
|
||||
----------------------------------------------
|
||||
Imported vendor assets used by Retrospring.
|
||||
*/
|
||||
|
||||
@import "@melloware/coloris/dist/coloris",
|
||||
"bootstrap/scss/bootstrap",
|
||||
"croppr/dist/croppr",
|
||||
"font-awesome/scss/font-awesome",
|
||||
"sweetalert/dist/sweetalert",
|
||||
"toastify-js/src/toastify";
|
||||
|
||||
|
||||
@each $weight in $lexend-weights {
|
||||
@include Lexend.fontFace($weight: $weight,
|
||||
$display: fallback,
|
||||
$fontDir: "assets/"
|
||||
);
|
||||
}
|
||||
|
||||
// Using Lexend Light (300) as Regular (400) as Regular is quite thick.
|
||||
@each $subset,
|
||||
$unicodeRangeValues in Lexend.$unicodeMap {
|
||||
@font-face {
|
||||
font-family: Lexend;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
src: url("/assets/lexend-#{$subset}-300-normal.woff2") format("woff2"),
|
||||
url("/assets/lexend-all-300-normal.woff") format("woff");
|
||||
unicode-range: $unicodeRangeValues;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
OVERRIDES
|
||||
----------------------------------------------
|
||||
The imports from "overrides/" define almost barely
|
||||
any style adjustments but rather override default
|
||||
Bootstrap behaviour.
|
||||
|
||||
The largest change to regular bootstrap is the switch
|
||||
to using the available CSS variables for most elements
|
||||
used on the site, so theming can be done with changing
|
||||
only those.
|
||||
*/
|
||||
|
||||
@import "overrides/alerts",
|
||||
"overrides/badges",
|
||||
"overrides/bootstrap-datetimepicker",
|
||||
"overrides/buttons",
|
||||
"overrides/colors",
|
||||
"overrides/card",
|
||||
"overrides/dropdown",
|
||||
"overrides/inputs",
|
||||
"overrides/links",
|
||||
"overrides/list-group",
|
||||
"overrides/minicolors",
|
||||
"overrides/modal",
|
||||
"overrides/navbar",
|
||||
"overrides/turbolinks",
|
||||
"overrides/toasts",
|
||||
"overrides/sweet-alert";
|
||||
|
||||
/**
|
||||
ELEMENTS
|
||||
----------------------------------------------
|
||||
Styles directly applied to HTML elements
|
||||
*/
|
||||
|
||||
@import "elements/body";
|
||||
|
||||
/**
|
||||
COMPONENTS
|
||||
----------------------------------------------
|
||||
Custom components defined for Retrospring.
|
||||
*/
|
||||
|
||||
@import "components/announcements",
|
||||
"components/answerbox",
|
||||
"components/avatars",
|
||||
"components/buttons",
|
||||
"components/comments",
|
||||
"components/container",
|
||||
"components/entry",
|
||||
"components/flags",
|
||||
"components/icons",
|
||||
"components/inbox-actions",
|
||||
"components/inbox-entry",
|
||||
"components/jumbotron",
|
||||
"components/locales",
|
||||
"components/mobile-nav",
|
||||
"components/notifications",
|
||||
"components/profile",
|
||||
"components/push-settings",
|
||||
"components/question",
|
||||
"components/smiles",
|
||||
"components/themes",
|
||||
"components/totp-setup",
|
||||
"components/userbox";
|
||||
|
||||
/**
|
||||
UTILITIES
|
||||
----------------------------------------------
|
||||
Classes used for very specific cases
|
||||
*/
|
||||
|
||||
@import "utilities";
|
|
@ -0,0 +1,16 @@
|
|||
.announcement {
|
||||
width: 100%;
|
||||
border-radius: 0;
|
||||
text-align: center;
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&__container {
|
||||
position: fixed;
|
||||
top: $navbar-height;
|
||||
width: 100%;
|
||||
z-index: 1024;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
.answerbox {
|
||||
&__question-text,
|
||||
&__question-user,
|
||||
&__answer-user,
|
||||
&__answer-date {
|
||||
margin-bottom: 0;
|
||||
overflow: hidden;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
&__answer-date {
|
||||
font-size: .8rem;
|
||||
line-height: .8;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
&__answer-text {
|
||||
margin-bottom: map-get($spacers, 3);
|
||||
}
|
||||
|
||||
&__question-user-avatar,
|
||||
&__answer-user-avatar {
|
||||
margin-right: map-get($spacers, 2);
|
||||
border-radius: $avatar-border-radius;
|
||||
}
|
||||
|
||||
& .text-muted a,
|
||||
& .text-muted a:hover {
|
||||
color: var(--muted-text);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&__action {
|
||||
padding-left: 0;
|
||||
padding-right: map-get($spacers, 1);
|
||||
|
||||
& i {
|
||||
font-size: 1.4rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&[name="ab-smile"],
|
||||
&[name="ab-smile-comment"] {
|
||||
color: var(--primary);
|
||||
|
||||
&:hover {
|
||||
color: var(--success);
|
||||
}
|
||||
|
||||
&[data-action="unsmile"] {
|
||||
color: var(--success);
|
||||
|
||||
&:hover {
|
||||
color: var(--danger);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__actions {
|
||||
text-align: right;
|
||||
justify-content: space-between;
|
||||
padding-top: 10px;
|
||||
|
||||
@include media-breakpoint-up('sm') {
|
||||
justify-content: flex-end;
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.card-body {
|
||||
padding-bottom: .6rem;
|
||||
}
|
||||
}
|
||||
|
||||
body:not(.cap-web-share) {
|
||||
[name="ab-share"] {
|
||||
display: none;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
[class^="avatar-"] {
|
||||
border-radius: $avatar-border-radius;
|
||||
}
|
||||
|
||||
@each $name, $size in $avatar-sizes {
|
||||
.avatar-#{$name} {
|
||||
min-height: $size;
|
||||
min-width: $size;
|
||||
height: $size;
|
||||
width: $size;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
.btn-fab {
|
||||
border-radius: 100%;
|
||||
box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.12), 0px 1px 6px rgba(0, 0, 0, 0.12);
|
||||
margin: 0px;
|
||||
padding: 3px 5px 4px 8px;
|
||||
font-size: 26px;
|
||||
width: 56px;
|
||||
height: 56px;
|
||||
transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1) 0s;
|
||||
outline: medium none !important;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
position: fixed;
|
||||
bottom: unquote('calc(#{$navbar-height} + env(safe-area-inset-bottom))');
|
||||
right: 0px;
|
||||
margin-right: 7px;
|
||||
margin-bottom: 7px;
|
||||
z-index: 99;
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
.comment {
|
||||
list-style-type: none;
|
||||
margin-bottom: map-get($spacers, 2);
|
||||
|
||||
&__container {
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
&__user,
|
||||
&__content {
|
||||
margin-bottom: 0;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
&__user-avatar {
|
||||
margin-right: map-get($spacers, 2);
|
||||
border-radius: $avatar-border-radius;
|
||||
}
|
||||
|
||||
&__input-group {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
&__input {
|
||||
padding-right: 2.5rem;
|
||||
|
||||
&.is-invalid {
|
||||
background-image: none;
|
||||
}
|
||||
}
|
||||
|
||||
&__character-count {
|
||||
position: absolute;
|
||||
z-index: 5;
|
||||
right: .5rem;
|
||||
top: .5rem;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
.container--main {
|
||||
padding-top: map-get($spacers, 3);
|
||||
padding-bottom: map-get($spacers, 3);
|
||||
// Sass doesn't know about the safe-area-inset-* env vars and throws a syntax error
|
||||
// We can get around this by using unquote()
|
||||
// Sass also has its own built-in max() function which is not the same as the CSS one
|
||||
// In order to use the correct one we can write it as Max() instead
|
||||
padding-left: unquote('Max(15px, env(safe-area-inset-left))');
|
||||
padding-right: unquote('Max(15px, env(safe-area-inset-right))');
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
.entry {
|
||||
$this: &;
|
||||
margin: map-get($spacers, 4) 0;
|
||||
|
||||
&__value {
|
||||
display: block;
|
||||
font-size: 4rem;
|
||||
line-height: 1;
|
||||
margin-bottom: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&__description {
|
||||
color: var(--primary);
|
||||
display: block;
|
||||
font-size: .8rem;
|
||||
font-weight: bold;
|
||||
margin-top: 0px;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,758 @@
|
|||
.flag {
|
||||
background-image: url("/flags/main.png");
|
||||
background-repeat: no-repeat;
|
||||
width: 16px;
|
||||
height: 11px;
|
||||
background-position: -0px 16px;
|
||||
}
|
||||
.flag-kz {
|
||||
background-position: -0px -0px;
|
||||
}
|
||||
.flag-ad {
|
||||
background-position: -0px -11px;
|
||||
}
|
||||
.flag-af {
|
||||
background-position: -0px -22px;
|
||||
}
|
||||
.flag-ag {
|
||||
background-position: -0px -33px;
|
||||
}
|
||||
.flag-ai {
|
||||
background-position: -0px -44px;
|
||||
}
|
||||
.flag-al {
|
||||
background-position: -0px -55px;
|
||||
}
|
||||
.flag-am {
|
||||
background-position: -0px -66px;
|
||||
}
|
||||
.flag-an {
|
||||
background-position: -0px -77px;
|
||||
}
|
||||
.flag-ao {
|
||||
background-position: -0px -88px;
|
||||
}
|
||||
.flag-ar {
|
||||
background-position: -0px -99px;
|
||||
}
|
||||
.flag-as {
|
||||
background-position: -0px -110px;
|
||||
}
|
||||
.flag-at {
|
||||
background-position: -0px -121px;
|
||||
}
|
||||
.flag-au {
|
||||
background-position: -0px -132px;
|
||||
}
|
||||
.flag-aw {
|
||||
background-position: -0px -143px;
|
||||
}
|
||||
.flag-ax {
|
||||
background-position: -0px -154px;
|
||||
}
|
||||
.flag-az {
|
||||
background-position: -0px -165px;
|
||||
}
|
||||
.flag-ba {
|
||||
background-position: -0px -176px;
|
||||
}
|
||||
.flag-bb {
|
||||
background-position: -0px -187px;
|
||||
}
|
||||
.flag-bd {
|
||||
background-position: -0px -198px;
|
||||
}
|
||||
.flag-be {
|
||||
background-position: -0px -209px;
|
||||
}
|
||||
.flag-bf {
|
||||
background-position: -0px -220px;
|
||||
}
|
||||
.flag-bg {
|
||||
background-position: -0px -231px;
|
||||
}
|
||||
.flag-bh {
|
||||
background-position: -0px -242px;
|
||||
}
|
||||
.flag-bi {
|
||||
background-position: -0px -253px;
|
||||
}
|
||||
.flag-bj {
|
||||
background-position: -0px -264px;
|
||||
}
|
||||
.flag-bm {
|
||||
background-position: -0px -275px;
|
||||
}
|
||||
.flag-bn {
|
||||
background-position: -0px -286px;
|
||||
}
|
||||
.flag-bo {
|
||||
background-position: -0px -297px;
|
||||
}
|
||||
.flag-br {
|
||||
background-position: -0px -308px;
|
||||
}
|
||||
.flag-bs {
|
||||
background-position: -0px -319px;
|
||||
}
|
||||
.flag-bt {
|
||||
background-position: -0px -330px;
|
||||
}
|
||||
.flag-bv {
|
||||
background-position: -0px -341px;
|
||||
}
|
||||
.flag-bw {
|
||||
background-position: -0px -352px;
|
||||
}
|
||||
.flag-by {
|
||||
background-position: -0px -363px;
|
||||
}
|
||||
.flag-bz {
|
||||
background-position: -0px -374px;
|
||||
}
|
||||
.flag-ca {
|
||||
background-position: -0px -385px;
|
||||
}
|
||||
.flag-catalonia {
|
||||
background-position: -0px -396px;
|
||||
}
|
||||
.flag-cc {
|
||||
background-position: -0px -407px;
|
||||
}
|
||||
.flag-cd {
|
||||
background-position: -0px -418px;
|
||||
}
|
||||
.flag-cf {
|
||||
background-position: -0px -429px;
|
||||
}
|
||||
.flag-cg {
|
||||
background-position: -0px -440px;
|
||||
}
|
||||
.flag-ch {
|
||||
background-position: -0px -451px;
|
||||
}
|
||||
.flag-ci {
|
||||
background-position: -0px -462px;
|
||||
}
|
||||
.flag-ck {
|
||||
background-position: -0px -473px;
|
||||
}
|
||||
.flag-cl {
|
||||
background-position: -0px -484px;
|
||||
}
|
||||
.flag-cm {
|
||||
background-position: -0px -495px;
|
||||
}
|
||||
.flag-cn {
|
||||
background-position: -0px -506px;
|
||||
}
|
||||
.flag-co {
|
||||
background-position: -0px -517px;
|
||||
}
|
||||
.flag-cr {
|
||||
background-position: -0px -528px;
|
||||
}
|
||||
.flag-cs {
|
||||
background-position: -0px -539px;
|
||||
}
|
||||
.flag-cu {
|
||||
background-position: -0px -550px;
|
||||
}
|
||||
.flag-cv {
|
||||
background-position: -0px -561px;
|
||||
}
|
||||
.flag-cx {
|
||||
background-position: -0px -572px;
|
||||
}
|
||||
.flag-cy {
|
||||
background-position: -0px -583px;
|
||||
}
|
||||
.flag-cz {
|
||||
background-position: -0px -594px;
|
||||
}
|
||||
.flag-de {
|
||||
background-position: -0px -605px;
|
||||
}
|
||||
.flag-dj {
|
||||
background-position: -0px -616px;
|
||||
}
|
||||
.flag-dk {
|
||||
background-position: -0px -627px;
|
||||
}
|
||||
.flag-dm {
|
||||
background-position: -0px -638px;
|
||||
}
|
||||
.flag-do {
|
||||
background-position: -0px -649px;
|
||||
}
|
||||
.flag-dz {
|
||||
background-position: -0px -660px;
|
||||
}
|
||||
.flag-ec {
|
||||
background-position: -0px -671px;
|
||||
}
|
||||
.flag-ee {
|
||||
background-position: -0px -682px;
|
||||
}
|
||||
.flag-eg {
|
||||
background-position: -0px -693px;
|
||||
}
|
||||
.flag-eh {
|
||||
background-position: -0px -704px;
|
||||
}
|
||||
.flag-england {
|
||||
background-position: -0px -715px;
|
||||
}
|
||||
.flag-er {
|
||||
background-position: -0px -726px;
|
||||
}
|
||||
.flag-es {
|
||||
background-position: -0px -737px;
|
||||
}
|
||||
.flag-et {
|
||||
background-position: -0px -748px;
|
||||
}
|
||||
.flag-europeanunion {
|
||||
background-position: -0px -759px;
|
||||
}
|
||||
.flag-fam {
|
||||
background-position: -0px -770px;
|
||||
}
|
||||
.flag-fi {
|
||||
background-position: -0px -781px;
|
||||
}
|
||||
.flag-fj {
|
||||
background-position: -0px -792px;
|
||||
}
|
||||
.flag-fk {
|
||||
background-position: -0px -803px;
|
||||
}
|
||||
.flag-fm {
|
||||
background-position: -0px -814px;
|
||||
}
|
||||
.flag-fo {
|
||||
background-position: -0px -825px;
|
||||
}
|
||||
.flag-fr {
|
||||
background-position: -0px -836px;
|
||||
}
|
||||
.flag-ga {
|
||||
background-position: -0px -847px;
|
||||
}
|
||||
.flag-gb {
|
||||
background-position: -0px -858px;
|
||||
}
|
||||
.flag-gd {
|
||||
background-position: -0px -869px;
|
||||
}
|
||||
.flag-ge {
|
||||
background-position: -0px -880px;
|
||||
}
|
||||
.flag-gf {
|
||||
background-position: -0px -891px;
|
||||
}
|
||||
.flag-gh {
|
||||
background-position: -0px -902px;
|
||||
}
|
||||
.flag-gi {
|
||||
background-position: -0px -913px;
|
||||
}
|
||||
.flag-gl {
|
||||
background-position: -0px -924px;
|
||||
}
|
||||
.flag-gm {
|
||||
background-position: -0px -935px;
|
||||
}
|
||||
.flag-gn {
|
||||
background-position: -0px -946px;
|
||||
}
|
||||
.flag-gp {
|
||||
background-position: -0px -957px;
|
||||
}
|
||||
.flag-gq {
|
||||
background-position: -0px -968px;
|
||||
}
|
||||
.flag-gr {
|
||||
background-position: -0px -979px;
|
||||
}
|
||||
.flag-gs {
|
||||
background-position: -0px -990px;
|
||||
}
|
||||
.flag-gt {
|
||||
background-position: -0px -1001px;
|
||||
}
|
||||
.flag-gu {
|
||||
background-position: -0px -1012px;
|
||||
}
|
||||
.flag-gw {
|
||||
background-position: -0px -1023px;
|
||||
}
|
||||
.flag-gy {
|
||||
background-position: -0px -1034px;
|
||||
}
|
||||
.flag-hk {
|
||||
background-position: -0px -1045px;
|
||||
}
|
||||
.flag-hm {
|
||||
background-position: -0px -1056px;
|
||||
}
|
||||
.flag-hn {
|
||||
background-position: -0px -1067px;
|
||||
}
|
||||
.flag-hr {
|
||||
background-position: -0px -1078px;
|
||||
}
|
||||
.flag-ht {
|
||||
background-position: -0px -1089px;
|
||||
}
|
||||
.flag-hu {
|
||||
background-position: -0px -1100px;
|
||||
}
|
||||
.flag-id {
|
||||
background-position: -0px -1111px;
|
||||
}
|
||||
.flag-ie {
|
||||
background-position: -0px -1122px;
|
||||
}
|
||||
.flag-il {
|
||||
background-position: -0px -1133px;
|
||||
}
|
||||
.flag-in {
|
||||
background-position: -0px -1144px;
|
||||
}
|
||||
.flag-io {
|
||||
background-position: -0px -1155px;
|
||||
}
|
||||
.flag-iq {
|
||||
background-position: -0px -1166px;
|
||||
}
|
||||
.flag-ir {
|
||||
background-position: -0px -1177px;
|
||||
}
|
||||
.flag-is {
|
||||
background-position: -0px -1188px;
|
||||
}
|
||||
.flag-it {
|
||||
background-position: -0px -1199px;
|
||||
}
|
||||
.flag-jm {
|
||||
background-position: -0px -1210px;
|
||||
}
|
||||
.flag-jo {
|
||||
background-position: -0px -1221px;
|
||||
}
|
||||
.flag-jp {
|
||||
background-position: -0px -1232px;
|
||||
}
|
||||
.flag-ke {
|
||||
background-position: -0px -1243px;
|
||||
}
|
||||
.flag-kg {
|
||||
background-position: -0px -1254px;
|
||||
}
|
||||
.flag-kh {
|
||||
background-position: -0px -1265px;
|
||||
}
|
||||
.flag-ki {
|
||||
background-position: -0px -1276px;
|
||||
}
|
||||
.flag-km {
|
||||
background-position: -0px -1287px;
|
||||
}
|
||||
.flag-kn {
|
||||
background-position: -0px -1298px;
|
||||
}
|
||||
.flag-kp {
|
||||
background-position: -0px -1309px;
|
||||
}
|
||||
.flag-kr {
|
||||
background-position: -0px -1320px;
|
||||
}
|
||||
.flag-kw {
|
||||
background-position: -0px -1331px;
|
||||
}
|
||||
.flag-ky {
|
||||
background-position: -0px -1342px;
|
||||
}
|
||||
.flag-ae {
|
||||
background-position: -0px -1353px;
|
||||
}
|
||||
.flag-la {
|
||||
background-position: -0px -1364px;
|
||||
}
|
||||
.flag-lb {
|
||||
background-position: -0px -1375px;
|
||||
}
|
||||
.flag-lc {
|
||||
background-position: -0px -1386px;
|
||||
}
|
||||
.flag-li {
|
||||
background-position: -0px -1397px;
|
||||
}
|
||||
.flag-lk {
|
||||
background-position: -0px -1408px;
|
||||
}
|
||||
.flag-lr {
|
||||
background-position: -0px -1419px;
|
||||
}
|
||||
.flag-ls {
|
||||
background-position: -0px -1430px;
|
||||
}
|
||||
.flag-lt {
|
||||
background-position: -0px -1441px;
|
||||
}
|
||||
.flag-lu {
|
||||
background-position: -0px -1452px;
|
||||
}
|
||||
.flag-lv {
|
||||
background-position: -0px -1463px;
|
||||
}
|
||||
.flag-ly {
|
||||
background-position: -0px -1474px;
|
||||
}
|
||||
.flag-ma {
|
||||
background-position: -0px -1485px;
|
||||
}
|
||||
.flag-mc {
|
||||
background-position: -0px -1496px;
|
||||
}
|
||||
.flag-md {
|
||||
background-position: -0px -1507px;
|
||||
}
|
||||
.flag-zm {
|
||||
background-position: -0px -1518px;
|
||||
}
|
||||
.flag-mg {
|
||||
background-position: -0px -1529px;
|
||||
}
|
||||
.flag-mh {
|
||||
background-position: -0px -1540px;
|
||||
}
|
||||
.flag-mk {
|
||||
background-position: -0px -1551px;
|
||||
}
|
||||
.flag-ml {
|
||||
background-position: -0px -1562px;
|
||||
}
|
||||
.flag-mm {
|
||||
background-position: -0px -1573px;
|
||||
}
|
||||
.flag-mn {
|
||||
background-position: -0px -1584px;
|
||||
}
|
||||
.flag-mo {
|
||||
background-position: -0px -1595px;
|
||||
}
|
||||
.flag-mp {
|
||||
background-position: -0px -1606px;
|
||||
}
|
||||
.flag-mq {
|
||||
background-position: -0px -1617px;
|
||||
}
|
||||
.flag-mr {
|
||||
background-position: -0px -1628px;
|
||||
}
|
||||
.flag-ms {
|
||||
background-position: -0px -1639px;
|
||||
}
|
||||
.flag-mt {
|
||||
background-position: -0px -1650px;
|
||||
}
|
||||
.flag-mu {
|
||||
background-position: -0px -1661px;
|
||||
}
|
||||
.flag-mv {
|
||||
background-position: -0px -1672px;
|
||||
}
|
||||
.flag-mw {
|
||||
background-position: -0px -1683px;
|
||||
}
|
||||
.flag-mx {
|
||||
background-position: -0px -1694px;
|
||||
}
|
||||
.flag-my {
|
||||
background-position: -0px -1705px;
|
||||
}
|
||||
.flag-mz {
|
||||
background-position: -0px -1716px;
|
||||
}
|
||||
.flag-na {
|
||||
background-position: -0px -1727px;
|
||||
}
|
||||
.flag-nc {
|
||||
background-position: -0px -1738px;
|
||||
}
|
||||
.flag-ne {
|
||||
background-position: -0px -1749px;
|
||||
}
|
||||
.flag-nf {
|
||||
background-position: -0px -1760px;
|
||||
}
|
||||
.flag-ng {
|
||||
background-position: -0px -1771px;
|
||||
}
|
||||
.flag-ni {
|
||||
background-position: -0px -1782px;
|
||||
}
|
||||
.flag-nl {
|
||||
background-position: -0px -1793px;
|
||||
}
|
||||
.flag-no {
|
||||
background-position: -0px -1804px;
|
||||
}
|
||||
.flag-np {
|
||||
background-position: -0px -1815px;
|
||||
width: 9px;
|
||||
}
|
||||
.flag-nr {
|
||||
background-position: -0px -1826px;
|
||||
}
|
||||
.flag-nu {
|
||||
background-position: -0px -1837px;
|
||||
}
|
||||
.flag-nz {
|
||||
background-position: -0px -1848px;
|
||||
}
|
||||
.flag-om {
|
||||
background-position: -0px -1859px;
|
||||
}
|
||||
.flag-pa {
|
||||
background-position: -0px -1870px;
|
||||
}
|
||||
.flag-pe {
|
||||
background-position: -0px -1881px;
|
||||
}
|
||||
.flag-pf {
|
||||
background-position: -0px -1892px;
|
||||
}
|
||||
.flag-pg {
|
||||
background-position: -0px -1903px;
|
||||
}
|
||||
.flag-ph {
|
||||
background-position: -0px -1914px;
|
||||
}
|
||||
.flag-pk {
|
||||
background-position: -0px -1925px;
|
||||
}
|
||||
.flag-pl {
|
||||
background-position: -0px -1936px;
|
||||
}
|
||||
.flag-pm {
|
||||
background-position: -0px -1947px;
|
||||
}
|
||||
.flag-pn {
|
||||
background-position: -0px -1958px;
|
||||
}
|
||||
.flag-pr {
|
||||
background-position: -0px -1969px;
|
||||
}
|
||||
.flag-ps {
|
||||
background-position: -0px -1980px;
|
||||
}
|
||||
.flag-pt {
|
||||
background-position: -0px -1991px;
|
||||
}
|
||||
.flag-pw {
|
||||
background-position: -0px -2002px;
|
||||
}
|
||||
.flag-py {
|
||||
background-position: -0px -2013px;
|
||||
}
|
||||
.flag-qa {
|
||||
background-position: -0px -2024px;
|
||||
}
|
||||
.flag-re {
|
||||
background-position: -0px -2035px;
|
||||
}
|
||||
.flag-ro {
|
||||
background-position: -0px -2046px;
|
||||
}
|
||||
.flag-rs {
|
||||
background-position: -0px -2057px;
|
||||
}
|
||||
.flag-ru {
|
||||
background-position: -0px -2068px;
|
||||
}
|
||||
.flag-rw {
|
||||
background-position: -0px -2079px;
|
||||
}
|
||||
.flag-sa {
|
||||
background-position: -0px -2090px;
|
||||
}
|
||||
.flag-sb {
|
||||
background-position: -0px -2101px;
|
||||
}
|
||||
.flag-sc {
|
||||
background-position: -0px -2112px;
|
||||
}
|
||||
.flag-scotland {
|
||||
background-position: -0px -2123px;
|
||||
}
|
||||
.flag-sd {
|
||||
background-position: -0px -2134px;
|
||||
}
|
||||
.flag-se {
|
||||
background-position: -0px -2145px;
|
||||
}
|
||||
.flag-sg {
|
||||
background-position: -0px -2156px;
|
||||
}
|
||||
.flag-sh {
|
||||
background-position: -0px -2167px;
|
||||
}
|
||||
.flag-si {
|
||||
background-position: -0px -2178px;
|
||||
}
|
||||
.flag-sj {
|
||||
background-position: -0px -2189px;
|
||||
}
|
||||
.flag-sk {
|
||||
background-position: -0px -2200px;
|
||||
}
|
||||
.flag-sl {
|
||||
background-position: -0px -2211px;
|
||||
}
|
||||
.flag-sm {
|
||||
background-position: -0px -2222px;
|
||||
}
|
||||
.flag-sn {
|
||||
background-position: -0px -2233px;
|
||||
}
|
||||
.flag-so {
|
||||
background-position: -0px -2244px;
|
||||
}
|
||||
.flag-sr {
|
||||
background-position: -0px -2255px;
|
||||
}
|
||||
.flag-st {
|
||||
background-position: -0px -2266px;
|
||||
}
|
||||
.flag-sv {
|
||||
background-position: -0px -2277px;
|
||||
}
|
||||
.flag-sy {
|
||||
background-position: -0px -2288px;
|
||||
}
|
||||
.flag-sz {
|
||||
background-position: -0px -2299px;
|
||||
}
|
||||
.flag-tc {
|
||||
background-position: -0px -2310px;
|
||||
}
|
||||
.flag-td {
|
||||
background-position: -0px -2321px;
|
||||
}
|
||||
.flag-tf {
|
||||
background-position: -0px -2332px;
|
||||
}
|
||||
.flag-tg {
|
||||
background-position: -0px -2343px;
|
||||
}
|
||||
.flag-th {
|
||||
background-position: -0px -2354px;
|
||||
}
|
||||
.flag-tj {
|
||||
background-position: -0px -2365px;
|
||||
}
|
||||
.flag-tk {
|
||||
background-position: -0px -2376px;
|
||||
}
|
||||
.flag-tl {
|
||||
background-position: -0px -2387px;
|
||||
}
|
||||
.flag-tm {
|
||||
background-position: -0px -2398px;
|
||||
}
|
||||
.flag-tn {
|
||||
background-position: -0px -2409px;
|
||||
}
|
||||
.flag-to {
|
||||
background-position: -0px -2420px;
|
||||
}
|
||||
.flag-tr {
|
||||
background-position: -0px -2431px;
|
||||
}
|
||||
.flag-tt {
|
||||
background-position: -0px -2442px;
|
||||
}
|
||||
.flag-tv {
|
||||
background-position: -0px -2453px;
|
||||
}
|
||||
.flag-tw {
|
||||
background-position: -0px -2464px;
|
||||
}
|
||||
.flag-tz {
|
||||
background-position: -0px -2475px;
|
||||
}
|
||||
.flag-ua {
|
||||
background-position: -0px -2486px;
|
||||
}
|
||||
.flag-ug {
|
||||
background-position: -0px -2497px;
|
||||
}
|
||||
.flag-um {
|
||||
background-position: -0px -2508px;
|
||||
}
|
||||
.flag-us {
|
||||
background-position: -0px -2519px;
|
||||
}
|
||||
.flag-uy {
|
||||
background-position: -0px -2530px;
|
||||
}
|
||||
.flag-uz {
|
||||
background-position: -0px -2541px;
|
||||
}
|
||||
.flag-va {
|
||||
background-position: -0px -2552px;
|
||||
}
|
||||
.flag-vc {
|
||||
background-position: -0px -2563px;
|
||||
}
|
||||
.flag-ve {
|
||||
background-position: -0px -2574px;
|
||||
}
|
||||
.flag-vg {
|
||||
background-position: -0px -2585px;
|
||||
}
|
||||
.flag-vi {
|
||||
background-position: -0px -2596px;
|
||||
}
|
||||
.flag-vn {
|
||||
background-position: -0px -2607px;
|
||||
}
|
||||
.flag-vu {
|
||||
background-position: -0px -2618px;
|
||||
}
|
||||
.flag-wales {
|
||||
background-position: -0px -2629px;
|
||||
}
|
||||
.flag-wf {
|
||||
background-position: -0px -2640px;
|
||||
}
|
||||
.flag-ws {
|
||||
background-position: -0px -2651px;
|
||||
}
|
||||
.flag-ye {
|
||||
background-position: -0px -2662px;
|
||||
}
|
||||
.flag-yt {
|
||||
background-position: -0px -2673px;
|
||||
}
|
||||
.flag-za {
|
||||
background-position: -0px -2684px;
|
||||
}
|
||||
.flag-zw {
|
||||
background-position: -0px -2695px;
|
||||
}
|
||||
.flag-me {
|
||||
background-position: -0px -2706px;
|
||||
height: 12px;
|
||||
}
|
||||
.flag-pirate {
|
||||
background-image: url('/flags/pirate.png');
|
||||
background-position: 0 0;
|
||||
}
|
||||
.flag-dizzle {
|
||||
background-image: url('/flags/dizzle.png');
|
||||
background-position: 0 0;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
.icon--showcase {
|
||||
text-align: center;
|
||||
font-size: 5rem;
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
.inbox-actions {
|
||||
.form-group {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.card-body {
|
||||
padding: $card-spacer-y $card-spacer-x;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
.inbox-entry {
|
||||
&--new {
|
||||
box-shadow: 0 0.125rem 0.25rem var(--primary);
|
||||
|
||||
.card-header {
|
||||
background-color: var(--primary);
|
||||
color: RGB(var(--primary-text));
|
||||
|
||||
a {
|
||||
color: RGB(var(--primary-text));
|
||||
|
||||
&.dropdown-item {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color: RGBA(var(--primary-text), 0.8) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
.jumbotron {
|
||||
$this: &;
|
||||
display: flex;
|
||||
background-color: var(--primary);
|
||||
color: RGB(var(--primary-text));
|
||||
text-align: center;
|
||||
border-radius: 0;
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: RGB(var(--primary-text));
|
||||
}
|
||||
|
||||
a:not(.btn) {
|
||||
color: RGB(var(--primary-text));
|
||||
opacity: 0.6;
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.btn {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
width: 100%;
|
||||
align-self: center;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
.locales {
|
||||
text-align: center;
|
||||
|
||||
&__panel {
|
||||
position: relative;
|
||||
display: none;
|
||||
padding: 5px;
|
||||
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-top: map-get($spacers, 3);
|
||||
width: 100%;
|
||||
list-style: none;
|
||||
display: inline-flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
li {
|
||||
margin: 0 5px 10px 5px;
|
||||
flex: 0 0 auto;
|
||||
|
||||
* {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
#rs-mobile-nav {
|
||||
.container {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
padding: 4px 0 unquote('calc(env(safe-area-inset-bottom) + 4px)') 0;
|
||||
|
||||
.navbar-icon-row {
|
||||
flex-direction: row;
|
||||
justify-content: space-around;
|
||||
width: 100%;
|
||||
|
||||
.nav-link {
|
||||
padding: 0;
|
||||
|
||||
.fa {
|
||||
padding-top: 8px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.badge {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
transform: translateX(16px);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-down("md") {
|
||||
.notification-dropdown,
|
||||
.profile-dropdown {
|
||||
bottom: unquote("calc(env(safe-area-inset-bottom) + #{$navbar-height + 2px})");
|
||||
position: fixed;
|
||||
top: unset;
|
||||
}
|
||||
|
||||
.profile-dropdown {
|
||||
left: unset;
|
||||
right: unquote("calc(env(safe-area-inset-right) + 15px)");
|
||||
}
|
||||
|
||||
.dropdown-menu.notification-dropdown {
|
||||
left: unquote("calc(env(safe-area-inset-left) + 8px)");
|
||||
max-width: unquote("calc(100vw - (8px + env(safe-area-inset-right)) - (8px + env(safe-area-inset-left)))");
|
||||
min-width: unset;
|
||||
right: unquote("calc(env(safe-area-inset-right) + 8px)");
|
||||
width: unquote("calc(100vw - (8px + env(safe-area-inset-right)) - (8px + env(safe-area-inset-left)))");
|
||||
max-height: calc(100% - 40px - 2rem);
|
||||
overflow-y: scroll;
|
||||
|
||||
.dropdown-item {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.notification {
|
||||
padding: 0;
|
||||
white-space: normal;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
.notification {
|
||||
word-break: break-word;
|
||||
|
||||
&__user {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
&__user,
|
||||
&__text {
|
||||
margin-bottom: 0;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
&__icon {
|
||||
margin-right: map-get($spacers, 2);
|
||||
min-width: 40px;
|
||||
}
|
||||
|
||||
&__heading {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&__list-heading {
|
||||
margin: 0px;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
color: RGB(var(--muted-text));
|
||||
}
|
||||
|
||||
&__bell-icon:before {
|
||||
font-size: 64px;
|
||||
text-align: center;
|
||||
display: block;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
&-dropdown {
|
||||
min-width: 400px;
|
||||
|
||||
& .dropdown-item:hover,
|
||||
& .dropdown-item:active {
|
||||
background: transparent;
|
||||
color: RGB(var(--body-text));
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-item > & {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
.list-group-item {
|
||||
margin-top: map-get($spacers, 2);
|
||||
background-color: var(--raised-accent);
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
.profile {
|
||||
&__avatar {
|
||||
display: block;
|
||||
width: map-get($avatar-sizes, "xl");
|
||||
height: map-get($avatar-sizes, "xl");
|
||||
margin: -(map-get($avatar-sizes, "xl") / 2.5) map-get($spacers, 4) 0;
|
||||
border-radius: $avatar-border-radius;
|
||||
box-shadow: $box-shadow;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
width: map-get($avatar-sizes, "xxl");
|
||||
height: map-get($avatar-sizes, "xxl");
|
||||
margin: -(map-get($avatar-sizes, "xxl") / 2) auto 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__header-card {
|
||||
margin-top: map-get($spacers, 3);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&__name-container {
|
||||
align-self: center;
|
||||
max-width: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
padding: map-get($spacers, 4);
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__header-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
background: linear-gradient(
|
||||
to top,
|
||||
rgba(0, 0, 0, 0.10),
|
||||
rgba(0, 0, 0, 0.10)
|
||||
) var(--primary);
|
||||
max-height: 440px;
|
||||
}
|
||||
|
||||
&__header-image {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&__biography,
|
||||
&__website,
|
||||
&__location {
|
||||
margin-bottom: map-get($spacers, 3);
|
||||
}
|
||||
|
||||
&__actions,
|
||||
&__biography {
|
||||
margin-top: map-get($spacers, 3);
|
||||
}
|
||||
|
||||
&__display-name {
|
||||
font-weight: bold;
|
||||
font-size: 1.1em;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
white-space: initial;
|
||||
}
|
||||
}
|
||||
|
||||
&__screen-name {
|
||||
&:only-child {
|
||||
@extend .profile__display-name;
|
||||
}
|
||||
|
||||
&:not(:only-child) {
|
||||
font-size: 0.9em;
|
||||
color: RGB(var(--muted-text));
|
||||
}
|
||||
}
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
&__name {
|
||||
margin-bottom: map-get($spacers, 3);
|
||||
}
|
||||
|
||||
& .card-body {
|
||||
padding-top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.user--banned {
|
||||
text-decoration: line-through !important;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
.push-notifications {
|
||||
&-unavailable {
|
||||
body.cap-service-worker.cap-notification & {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
.question {
|
||||
&--fixed {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
z-index: 999;
|
||||
|
||||
@include media-breakpoint-up('sm') {
|
||||
position: fixed;
|
||||
}
|
||||
}
|
||||
|
||||
&--hidden {
|
||||
visibility: hidden;
|
||||
position: relative;
|
||||
box-shadow: none;
|
||||
z-index: -1;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
.smiles {
|
||||
margin-bottom: map-get($spacers, 2);
|
||||
|
||||
&__user-list {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
&__user-list-entry {
|
||||
margin-bottom: map-get($spacers, 3);
|
||||
|
||||
* {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img {
|
||||
height: map-get($avatar-sizes, "lg");
|
||||
width: map-get($avatar-sizes, "lg");
|
||||
border-radius: $avatar-border-radius;
|
||||
}
|
||||
|
||||
span {
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
.theme-success {
|
||||
--background: #f4fcf6;
|
||||
--primary: var(--success);
|
||||
}
|
||||
|
||||
.theme-warning {
|
||||
--background: #fcfaf4;
|
||||
--primary: var(--warning);
|
||||
--primary-text: 0, 0, 0;
|
||||
}
|
||||
|
||||
.theme-danger {
|
||||
--background: #fceff1;
|
||||
--primary: var(--danger);
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
%totp-input {
|
||||
font-family: "Monaco", "Inconsolata", "Cascadia Code", "Consolas", monospace;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.totp-setup {
|
||||
&__card {
|
||||
background: var(--primary);
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
|
||||
min-width: 256px;
|
||||
max-width: 256px;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
&__card-container {
|
||||
min-width: 276px;
|
||||
max-width: 276px;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
&__qr {
|
||||
background: white;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
&__text {
|
||||
background: #000;
|
||||
color: #fff;
|
||||
margin: 10px 0 0 0;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
|
||||
code {
|
||||
display: block;
|
||||
color: var(--warning);
|
||||
}
|
||||
}
|
||||
|
||||
&__code-field {
|
||||
@extend %totp-input;
|
||||
}
|
||||
|
||||
&__recovery {
|
||||
&-container {
|
||||
max-width: 455px;
|
||||
}
|
||||
|
||||
&-icon {
|
||||
font-size: .75in;
|
||||
}
|
||||
|
||||
&-title {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
&-codes {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
list-style-type: none;
|
||||
font-size: 16px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#user_otp_attempt {
|
||||
@extend %totp-input;
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
.userbox {
|
||||
&__header {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
max-height: 70px;
|
||||
|
||||
@include media-breakpoint-up(sm) {
|
||||
max-height: 60px;
|
||||
}
|
||||
}
|
||||
|
||||
&__avatar {
|
||||
display: block;
|
||||
width: map-get($avatar-sizes, "lg");
|
||||
height: map-get($avatar-sizes, "lg");
|
||||
margin-top: -(map-get($avatar-sizes, "lg") / 2);
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
border-radius: $avatar-border-radius;
|
||||
box-shadow: $box-shadow;
|
||||
}
|
||||
|
||||
.profile__name {
|
||||
display: block;
|
||||
margin: map-get($spacers, 3) 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.card-body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.profile__actions {
|
||||
margin-top: auto;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
body {
|
||||
overflow-y: scroll;
|
||||
word-wrap: break-word;
|
||||
color: RGB(var(--body-text));
|
||||
background-color: var(--background);
|
||||
@include media-breakpoint-up('lg') {
|
||||
padding-top: $navbar-height;
|
||||
}
|
||||
@include media-breakpoint-down('md') {
|
||||
padding-bottom: calc($navbar-height + unquote('env(safe-area-inset-bottom, 0)'));
|
||||
}
|
||||
|
||||
&.not-logged-in {
|
||||
padding-top: $navbar-height;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
@each $color in $color-names {
|
||||
.alert-#{$color} {
|
||||
color: RGB(var(--#{$color}-text));
|
||||
background-color: var(--#{$color});
|
||||
border-color: var(--#{$color});
|
||||
|
||||
.alert-link {
|
||||
color: RGB(var(--#{$color}-text));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
@each $color in $color-names {
|
||||
.badge-#{$color} {
|
||||
color: var(--#{$color});
|
||||
background-color: RGB(var(--#{$color}-text));
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
.remove-native-picker::-webkit-calendar-picker-indicator{
|
||||
display: none
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
.btn {
|
||||
color: RGB(var(--body-text));
|
||||
}
|
||||
|
||||
.btn-link:hover {
|
||||
color: RGB(var(--body-text));
|
||||
}
|
||||
|
||||
@each $color in $color-names {
|
||||
.btn-#{$color} {
|
||||
|
||||
color: RGB(var(--#{$color}-text));
|
||||
background-color: var(--#{$color});
|
||||
border-color: var(--#{$color});
|
||||
border-width: 0;
|
||||
|
||||
&:hover {
|
||||
background: linear-gradient(
|
||||
to top,
|
||||
rgba(0, 0, 0, 0.10),
|
||||
rgba(0, 0, 0, 0.10)
|
||||
) var(--#{$color});
|
||||
}
|
||||
|
||||
&:not(:disabled):not(.disabled):active,
|
||||
&:not(:disabled):not(.disabled).active {
|
||||
border: none;
|
||||
background: linear-gradient(
|
||||
to top,
|
||||
rgba(0, 0, 0, 0.25),
|
||||
rgba(0, 0, 0, 0.25)
|
||||
) var(--#{$color});
|
||||
|
||||
&:focus {
|
||||
background: linear-gradient(
|
||||
to top,
|
||||
rgba(0, 0, 0, 0.30),
|
||||
rgba(0, 0, 0, 0.30)
|
||||
) var(--#{$color});
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
&:focus,
|
||||
&:focus:hover {
|
||||
background: linear-gradient(
|
||||
to top,
|
||||
rgba(0, 0, 0, 0.30),
|
||||
rgba(0, 0, 0, 0.30)
|
||||
) var(--#{$color});
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-outline-#{$color} {
|
||||
color: var(--#{$color});
|
||||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
.fa {
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
.card {
|
||||
margin-bottom: map-get($spacers, 3);
|
||||
box-shadow: $box-shadow-sm;
|
||||
background-color: var(--raised-bg);
|
||||
|
||||
p:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
&--fullheight {
|
||||
height: calc(100% - map-get($spacers, 3));
|
||||
}
|
||||
}
|
||||
|
||||
.card-header,
|
||||
.card-footer {
|
||||
background-color: var(--raised-accent);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
@each $color in $color-names {
|
||||
.bg-#{$color} {
|
||||
background-color: var(--#{$color}) !important;
|
||||
}
|
||||
|
||||
.text-#{$color} {
|
||||
color: var(--#{$color}) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color: RGB(var(--muted-text)) !important;
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
.dropdown-menu {
|
||||
color: RGB(var(--body-text));
|
||||
background-color: var(--raised-bg);
|
||||
box-shadow: $box-shadow-lg;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.dropdown-item {
|
||||
color: RGB(var(--body-text));
|
||||
|
||||
&.active,
|
||||
&:active,
|
||||
&:active:hover {
|
||||
color: RGB(var(--primary-text));
|
||||
background-color: var(--primary);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: var(--raised-accent);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-divider {
|
||||
border-top: 1px solid var(--raised-accent);
|
||||
}
|
||||
|
||||
.dropdown-toggle {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
@include media-breakpoint-up('md') {
|
||||
.dropdown-menu--lists {
|
||||
max-width: 275px;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
.form-control {
|
||||
background-color: var(--input-bg);
|
||||
color: RGB(var(--input-text));
|
||||
border: 0;
|
||||
|
||||
&:focus {
|
||||
background-color: var(--input-bg);
|
||||
color: RGB(var(--input-text));
|
||||
border-color: var(--primary);
|
||||
box-shadow: .5px 0 0 0.1rem var(--primary);
|
||||
}
|
||||
|
||||
&::placeholder {
|
||||
color: RGB(var(--input-placeholder));
|
||||
}
|
||||
}
|
||||
|
||||
.input-group-text {
|
||||
color: RGB(var(--body-text));
|
||||
background-color: var(--raised-accent);
|
||||
border: 0;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
a {
|
||||
color: var(--primary);
|
||||
|
||||
&:hover {
|
||||
color: var(--primary);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
.list-group-item {
|
||||
background-color: transparent;
|
||||
|
||||
&.active,
|
||||
&.active:hover {
|
||||
background-color: var(--primary);
|
||||
border-color: var(--primary);
|
||||
|
||||
a {
|
||||
color: var(--primary-text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-group-item-action {
|
||||
color: RGB(var(--body-text));
|
||||
|
||||
&:hover, &:focus {
|
||||
background-color: var(--raised-accent);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
#update_theme .minicolors-theme-bootstrap .minicolors-swatch {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 38px;
|
||||
height: 38px;
|
||||
border: 0;
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
.modal-content {
|
||||
background-color: var(--raised-bg);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
background-color: var(--raised-accent);
|
||||
border-top: 0;
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
.navbar-themed {
|
||||
.navbar-brand {
|
||||
color: RGB(var(--primary-text));
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: RGB(var(--primary-text));
|
||||
}
|
||||
|
||||
/* svg-logo! \o/ */
|
||||
svg {
|
||||
height: $navbar-brand-font-size;
|
||||
path {
|
||||
fill: RGB(var(--primary-text));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
.nav-link {
|
||||
color: rgba(var(--primary-text), .5);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: rgba(var(--primary-text), .75);
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
color: rgba(var(--primary-text), .25);
|
||||
}
|
||||
}
|
||||
|
||||
.show > .nav-link,
|
||||
.active > .nav-link,
|
||||
.nav-link.show,
|
||||
.nav-link.active {
|
||||
color: RGB(var(--primary-text));
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-toggler {
|
||||
color: RGB(var(--primary-text));
|
||||
border-color: RGB(var(--primary-text));
|
||||
}
|
||||
|
||||
.navbar-toggler-icon {
|
||||
background-image: escape-svg($navbar-dark-toggler-icon-bg);
|
||||
}
|
||||
|
||||
.navbar-text {
|
||||
color: RGB(var(--primary-text));
|
||||
a,
|
||||
a:hover,
|
||||
a:focus {
|
||||
color: RGB(var(--primary-text));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
.sweet-alert {
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
.sweet-overlay {
|
||||
z-index: 1031;
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
.toastify {
|
||||
@include media-breakpoint-up('md') {
|
||||
transform: translateY(56px) !important;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
.turbolinks-progress-bar {
|
||||
background: var(--turbolinks-progress-color);
|
||||
|
||||
@include media-breakpoint-down('md') {
|
||||
top: unset !important;
|
||||
bottom: calc(45px + env(safe-area-inset-bottom)) !important;
|
||||
position: fixed;
|
||||
left: 0 !important;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue