jam/src/index.css
2023-10-18 11:41:26 +02:00

738 lines
16 KiB
CSS

/* https://rsms.me/inter/ */
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 100;
font-display: swap;
src:
url('./fonts/Inter-Thin.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Thin.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 100;
font-display: swap;
src:
url('./fonts/Inter-ThinItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-ThinItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 200;
font-display: swap;
src:
url('./fonts/Inter-ExtraLight.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-ExtraLight.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 200;
font-display: swap;
src:
url('./fonts/Inter-ExtraLightItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-ExtraLightItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 300;
font-display: swap;
src:
url('./fonts/Inter-Light.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Light.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 300;
font-display: swap;
src:
url('./fonts/Inter-LightItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-LightItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src:
url('./fonts/Inter-Regular.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Regular.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 400;
font-display: swap;
src:
url('./fonts/Inter-Italic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Italic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-display: swap;
src:
url('./fonts/Inter-Medium.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Medium.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 500;
font-display: swap;
src:
url('./fonts/Inter-MediumItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-MediumItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 600;
font-display: swap;
src:
url('./fonts/Inter-SemiBold.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-SemiBold.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 600;
font-display: swap;
src:
url('./fonts/Inter-SemiBoldItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-SemiBoldItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 700;
font-display: swap;
src:
url('./fonts/Inter-Bold.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Bold.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 700;
font-display: swap;
src:
url('./fonts/Inter-BoldItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-BoldItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 800;
font-display: swap;
src:
url('./fonts/Inter-ExtraBold.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-ExtraBold.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 800;
font-display: swap;
src:
url('./fonts/Inter-ExtraBoldItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-ExtraBoldItalic.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 900;
font-display: swap;
src:
url('./fonts/Inter-Black.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-Black.woff?v=3.19') format('woff');
}
@font-face {
font-family: 'Inter';
font-style: italic;
font-weight: 900;
font-display: swap;
src:
url('./fonts/Inter-BlackItalic.woff2?v=3.19') format('woff2'),
url('./fonts/Inter-BlackItalic.woff?v=3.19') format('woff');
}
/* -------------------------------------------------------
Variable font.
Usage:
html { font-family: 'Inter', sans-serif; }
@supports (font-variation-settings: normal) {
html { font-family: 'Inter var', sans-serif; }
}
*/
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: normal;
font-named-instance: 'Regular';
src: url('./fonts/Inter-roman.var.woff2?v=3.19') format('woff2');
}
@font-face {
font-family: 'Inter var';
font-weight: 100 900;
font-display: swap;
font-style: italic;
font-named-instance: 'Italic';
src: url('./fonts/Inter-italic.var.woff2?v=3.19') format('woff2');
}
:root {
--bs-font-sans-serif: 'Inter', sans-serif;
--bs-code-color: #444;
}
@supports (font-variation-settings: normal) {
:root {
--bs-font-sans-serif: 'Inter var', sans-serif;
}
}
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
html,
body,
#root .app {
min-height: 100vh;
}
#root .app {
display: flex;
flex-direction: column;
}
#mainNav {
z-index: 1050;
}
#mainNav,
.navbar-offcanvas.offcanvas-header {
height: 76px;
}
#mainNavToggle {
--line-thickness: 2px;
--transition-easing: ease-in-out;
--transition-duration: 0.25s;
--button-width: 40px;
--button-height: 40px;
--button-padding: 7px;
--icon-size: 1.5rem;
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 var(--button-width);
height: var(--button-height);
border: 0;
padding: var(--button-padding);
box-shadow: none;
color: inherit;
}
#mainNavToggle span {
position: relative;
display: inline-block;
width: calc(var(--button-width) - var(--button-padding) * 2);
height: calc(var(--button-height) - (var(--button-padding) * 2) - (var(--line-thickness) * 4));
border-top: var(--line-thickness) solid;
border-bottom: var(--line-thickness) solid;
border-color: currentColor !important;
font-size: 0;
transition: all var(--transition-duration) var(--transition-easing);
}
#mainNavToggle span:before,
#mainNavToggle span:after {
position: absolute;
display: block;
content: '';
width: 100%;
height: var(--line-thickness);
top: 50%;
left: 50%;
background: currentColor;
transform: translate(-50%, -50%);
transition: transform var(--transition-duration) var(--transition-easing);
}
#mainNavToggle:not(.collapsed) span {
border-color: transparent !important;
}
#mainNavToggle:not(.collapsed) span:before {
transform: translate(-50%, -50%) rotate(45deg);
}
#mainNavToggle:not(.collapsed) span:after {
transform: translate(-50%, -50%) rotate(-45deg);
}
main {
flex: 1;
}
.slashed-zeroes {
font-family: Inter;
font-weight: 400;
font-feature-settings:
'tnum' on,
'lnum' on,
'zero' on,
'case' on,
'calt' off;
-moz-font-feature-settings:
'tnum' on,
'lnum' on,
'zero' on,
'case' on,
'calt' off;
-ms-font-feature-settings:
'tnum' on,
'lnum' on,
'zero' on,
'case' on,
'calt' off;
-webkit-font-feature-settings:
'tnum' on,
'lnum' on,
'zero' on,
'case' on,
'calt' off;
-o-font-feature-settings:
'tnum' on,
'lnum' on,
'zero' on,
'case' on,
'calt' off;
}
.break-word {
word-break: break-word;
}
.unstyled {
text-decoration: none !important;
color: inherit !important;
}
.text-small {
font-size: 0.875rem;
}
.text-justify {
text-align: justify;
}
.cursor-pointer {
cursor: pointer;
}
.cursor-wait {
cursor: wait;
}
/* Fullscreen Overlays */
.offcanvas-fullscreen {
width: 100vw !important;
height: 100vh !important;
z-index: 1100 !important;
}
.offcanvas-fullscreen .offcanvas-header {
border-bottom: 1px solid var(--bs-body-bg);
box-shadow: 0px 1px 5px var(--bs-gray-400);
z-index: 1200;
}
@media only screen and (min-width: 768px) {
.offcanvas-fullscreen .offcanvas-header {
min-height: 75px;
max-height: 75px;
}
}
:root[data-theme='dark'] .offcanvas-fullscreen .offcanvas-header {
box-shadow: 0px 1px 5px var(--bs-gray-900);
}
.offcanvas-fullscreen .offcanvas-header button:hover {
color: inherit;
}
.offcanvas-fullscreen .offcanvas-body {
background-color: var(--bs-gray-100);
padding: 0;
}
:root[data-theme='dark'] .offcanvas-fullscreen .offcanvas-body {
background-color: var(--bs-gray-800);
}
/* Table Styles */
table.striped tr:nth-child(2n) td {
background-color: var(--bs-gray-100);
}
:root[data-theme='dark'] table.striped tr:nth-child(2n) td {
background-color: var(--bs-gray-800);
}
table.striped tr:hover td {
background-color: var(--bs-gray-200) !important;
}
:root[data-theme='dark'] table.striped tr:hover td {
background-color: var(--bs-gray-700) !important;
}
/* Navbar Styles */
#mainNav .nav-link {
font-weight: 600 !important;
}
.center-nav-link > div {
position: relative;
}
.flex-1 {
flex-grow: 1;
flex-shrink: 0;
flex-basis: 0 !important;
}
@media only screen and (min-width: 768px) {
.center-nav-link {
padding: 8px 1.5rem !important;
}
.center-nav-link.active {
padding: 8px 1.5rem 6px 1.5rem !important;
border-bottom: 2px solid black;
}
.center-nav-link-divider {
color: #bbbbbb;
}
.leading-nav-link {
padding: 8px !important;
}
.leading-nav-link.active {
padding: 8px 8px 6px 8px !important;
border-bottom: 2px solid black;
}
.navbar-offcanvas.offcanvas,
.navbar-offcanvas.offcanvas-backdrop {
display: none;
}
}
.earn-indicator .activity-indicator {
--size: 6px;
position: absolute;
right: calc(var(--size) * -1);
height: var(--size);
width: var(--size);
border-radius: 50%;
}
.earn-indicator .activity-indicator-off {
background-color: #bbbbbb;
}
.earn-indicator .activity-indicator-on {
animation-name: activity-indicator-pulse;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: ease-in;
}
@keyframes activity-indicator-pulse {
0% {
background-color: rgba(39, 174, 96, 0.2);
}
50% {
background-color: rgba(39, 174, 96, 1);
}
100% {
background-color: rgba(39, 174, 96, 0.2);
}
}
footer .cheatsheet-link.nav-link {
color: var(--bs-gray-900);
}
:root[data-theme='dark'] footer .cheatsheet-link.nav-link {
color: var(--bs-gray-400);
}
/* Blurred Text Styles */
.blurred-text {
color: transparent;
text-shadow: 0 0 15px var(--bs-gray-600);
}
:root[data-theme='dark'] .blurred-text {
color: transparent;
text-shadow: 0 0 15px var(--bs-gray-400);
}
.blurred {
filter: blur(2px);
}
/* Boostrap overrides */
h2 {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 5px;
}
.btn:focus:not(:focus-visible) {
outline: 0;
box-shadow: none;
}
.btn-link {
color: currentColor;
}
.alert-info {
color: var(--bs-white);
background-color: var(--bs-gray-800);
border-color: var(--bs-gray-900);
}
.alert-info a {
color: inherit;
}
.modal-header {
background-color: var(--bs-gray-800);
color: var(--bs-white);
}
.modal-header .btn-close,
:root[data-theme='dark'] .offcanvas-header .btn-close {
background: transparent
url('data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z%27/%3e%3c/svg%3e')
center/1em auto no-repeat;
}
.placeholder {
background-color: var(--bs-gray-400);
}
.tooltip {
/* allow tooltips in navbar and overlays */
--bs-tooltip-zindex: 1200;
}
.link-secondary:hover {
cursor: pointer;
}
/* Wallets Styles */
.wallets a.wallet-name {
text-decoration: none;
color: var(--bs-body-color);
}
.wallets a.wallet-name:hover {
text-decoration: underline;
}
.wallets .btn.btn-outline-dark:not(:hover) {
border-color: rgba(222, 222, 222, 1);
}
:root[data-theme='dark'] .wallets .btn.btn-outline-dark:not(:hover) {
border-color: var(--bs-gray-800);
}
/* Alpha Warning */
.warning-hint {
font-size: 0.8rem;
}
.warning-card-wrapper {
position: fixed;
height: 100%;
width: 100%;
z-index: 1000;
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(1px);
}
.warning-card {
position: fixed;
top: 50%;
left: 50%;
width: 75%;
}
@media only screen and (min-width: 576px) {
.warning-card {
width: 50%;
}
}
@media only screen and (min-width: 992px) {
.warning-card {
width: 25%;
}
}
.btn:disabled:hover {
cursor: not-allowed;
}
.accordion {
--bs-accordion-color: var(--bs-black);
--bs-accordion-active-color: var(--bs-black);
--bs-accordion-bg: transparent;
--bs-accordion-active-bg: transparent;
--bs-accordion-btn-color: var(--bs-black);
--bs-accordion-btn-icon: url('data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23212529%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e');
--bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
/* Theme overrides */
:root[data-theme='dark'] {
--bs-body-color-rgb: var(--bs-white-rgb);
--bs-body-color: var(--bs-white);
--bs-body-bg-rgb: 33, 37, 41;
--bs-body-bg: var(--bs-gray-900);
--bs-border-color: var(--bs-gray-800);
--bs-border-color-translucent: var(--bs-gray-800);
--bs-black: #000;
--bs-code-color: var(--bs-gray-300);
--bs-gray-dark: #16191c;
--bs-secondary-color: #6c757d;
--bs-tertiary-bg: var(--bs-gray-900);
}
:root[data-theme='dark'] .accordion {
--bs-accordion-color: var(--bs-white);
--bs-accordion-active-color: var(--bs-white);
--bs-accordion-btn-color: var(--bs-white);
--bs-accordion-btn-icon: url('data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z%27/%3e%3c/svg%3e');
--bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}
:root[data-theme='dark'] .popover {
--bs-popover-bg: var(--bs-gray-800);
--bs-popover-border-color: var(--bs-gray-700);
}
:root[data-theme='dark'] .table {
--bs-table-color: var(--bs-body-color);
}
:root[data-theme='dark'] .tooltip {
--bs-tooltip-color: var(--bs-white);
--bs-tooltip-bg: var(--bs-black);
}
:root[data-theme='dark'] a.nav-link.active {
border-color: var(--bs-white) !important;
}
:root[data-theme='dark'] .card {
background-color: var(--bs-gray-900);
}
:root[data-theme='dark'] .btn:not(.btn-light) {
--bs-btn-color: var(--bs-white);
}
:root[data-theme='dark'] .btn-dark {
background-color: var(--bs-gray-800);
border-color: var(--bs-gray-800);
}
:root[data-theme='dark'] .input-group-text {
background-color: var(--bs-gray-800);
}
:root[data-theme='dark'] .btn-dark:hover {
background-color: var(--bs-gray-dark);
border-color: var(--bs-gray-dark) !important;
}
:root[data-theme='dark'] .btn-outline-dark {
color: var(--bs-white);
border-color: var(--bs-gray-800);
}
:root[data-theme='dark'] .btn-outline-dark:hover {
background-color: var(--bs-gray-dark) !important;
border-color: var(--bs-gray-dark) !important;
}
:root[data-theme='dark'] .offcanvas {
background-color: var(--bs-gray-900);
}
:root[data-theme='dark'] .spinner-border {
border-color: var(--bs-white) !important;
border-right-color: transparent !important;
}
:root[data-theme='dark'] .modal-content {
background-color: var(--bs-gray-900);
}
:root[data-theme='dark'] .modal-header .btn-close {
background-color: var(--bs-gray-900) !important;
}
:root[data-theme='dark'] .form-control {
color: var(--bs-body-bg);
background-color: var(--bs-white);
}
:root[data-theme='dark'] .form-control:disabled,
:root[data-theme='dark'] .form-select:disabled,
.form-control[readonly] {
background-color: var(--bs-gray-500);
}
:root[data-theme='dark'] .form-control:disabled::placeholder {
color: var(--bs-gray-600);
}
:root[data-theme='dark'] .link-dark {
color: var(--bs-white) !important;
}
:root[data-theme='dark'] .toast {
background-color: transparent;
}
:root[data-theme='dark'] .toast-header {
color: var(--bs-white);
background-color: var(--bs-gray-800);
border-color: var(--bs-gray-900);
}