public-web/assets/main.css
bain dc5d9e06bc
All checks were successful
/ build (push) Successful in 33s
add progress bar to fundraising page
2024-12-14 21:50:17 +01:00

330 lines
6.2 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
--color-gray-50: #fafafa;
--color-gray-100: #f4f4f5;
--color-gray-200: #e4e4e7;
--color-gray-300: #d4d4d8;
--color-gray-400: #a1a1aa;
--color-gray-500: #71717a;
--color-gray-600: #52525b;
--color-gray-700: #3f3f46;
--color-gray-800: #27272a;
--color-gray-900: #18181b;
--color-gray-950: #09090b;
--color-red-50: #fef2f2;
--color-red-100: #fee2e2;
--color-red-200: #fecaca;
--color-red-300: #fca5a5;
--color-red-400: #f87171;
--color-red-500: #ef4444;
--color-red-600: #dc2626;
--color-red-700: #b91c1c;
--color-red-800: #991b1b;
--color-red-900: #7f1d1d;
--color-red-950: #450a0a;
}
:focus-visible {
outline: 6px solid theme(colors.blue.500 / 50%);
border-radius: 3px;
}
/* Typography */
.prose :is(p, h1, h2, h3, h4, h5, h6, ul, ol, li, pre) {
@apply mb-4;
}
.prose :is(h1, h2, h3, h4, h5, h6) {
@apply mt-8;
}
.link,
.prose a {
@apply text-red-900 hover:text-red-600 dark:text-red-300 dark:hover:text-red-400 border-b-4 border-red-500/25 dark:border-red-200/25;
transition: color 200ms;
}
:is(.list, .prose ul) li {
position: relative;
margin-left: 1.5em;
}
:is(.list, .prose ul) li::before {
content: "";
display: inline-block;
position: absolute;
width: 1.5em;
left: -1.5em;
}
.subheading,
.prose h3 {
@apply font-bold text-red-800 dark:text-red-300;
}
:is(.subheading, .prose h3)::before {
content: "★";
font-weight: 500;
margin-right: 0.75em;
}
.subsubheading,
.prose h4 {
font-weight: 500;
}
.code-block,
pre {
@apply bg-gray-100 dark:bg-gray-800;
border-radius: 0.25em;
overflow-x: auto;
padding: 1em;
position: relative;
}
.code-inline,
code {
@apply bg-gray-100 dark:bg-gray-800;
padding: 0.125em 0.25em;
border-radius: 0.25em;
font-size: 0.875em;
}
/* Background */
.clip-wedge {
--wedge-skew: 10vw;
clip-path: polygon(0 var(--wedge-skew), 100% 0, 100% calc(100% - var(--wedge-skew)), 0% 100% );
}
@media screen(md) {
.clip-wedge {
--wedge-skew: 8vw;
}
}
@media screen(lg) {
.clip-wedge {
--wedge-skew: 5vw;
}
}
/* Components */
.button {
padding-block: 0.5em;
padding-inline: 1.5em;
min-width: 6em;
text-align: center;
border-radius: 0.5rem;
transition: background-color 120ms linear;
&:not(:disabled):hover {
background-color: var(--hover-color);
}
}
.button--icon {
border-radius: 100px;
padding-inline: 0.5em;
padding-block: 0.5em;
min-width: auto;
display: inline-flex;
align-items: center;
gap: 0.5em;
--hover-color: theme(colors.gray.400 / 25%);
}
.button--primary {
background-color: theme(colors.red.700);
color: white;
--hover-color: theme(colors.red.800);
}
.dark .button--primary {
background-color: theme(colors.red.800);
--hover-color: theme(colors.red.700);
}
.button--secondary {
background-color: theme(colors.gray.200);
--hover-color: theme(colors.gray.300)
}
.dark .button--secondary {
background-color: theme(colors.gray.800);
--hover-color: theme(colors.gray.700);
}
.input {
padding: 0.5em 0.75em;
border-radius: 0.25rem;
background-color: theme(colors.gray.300);
transition: background-color 120ms linear;
color: theme(colors.gray.900);
flex-wrap: wrap;
&:focus {
background-color: theme(colors.gray.50);
}
}
.input-group > :first-child {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > * + * {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.card {
@apply rounded-xl dark:shadow-xl bg-gray-200 dark:bg-gray-800;
}
.card--highlighted {
@apply bg-red-200 dark:bg-red-800;
}
/* Utils */
html:not(.dark) .light\:hidden {
display: none;
}
.svg-w-8 svg {
@apply w-8;
}
.hero strong {
font-style: normal;
@apply text-red-700 dark:text-red-300;
}
/* Tippy */
.tippy-box[data-animation="fade"][data-state="hidden"] {
opacity: 0;
}
[data-tippy-root] {
max-width: calc(100vw - 10px);
}
.tippy-box {
position: relative;
background-color: #333;
color: #fff;
border-radius: 4px;
font-size: 14px;
line-height: 1.4;
white-space: normal;
outline: 0;
transition-property: transform, visibility, opacity;
}
.tippy-box[data-placement^="top"] > .tippy-arrow {
bottom: 0;
}
.tippy-box[data-placement^="top"] > .tippy-arrow:before {
bottom: -7px;
left: 0;
border-width: 8px 8px 0;
border-top-color: initial;
transform-origin: center top;
}
.tippy-box[data-placement^="bottom"] > .tippy-arrow {
top: 0;
}
.tippy-box[data-placement^="bottom"] > .tippy-arrow:before {
top: -7px;
left: 0;
border-width: 0 8px 8px;
border-bottom-color: initial;
transform-origin: center bottom;
}
.tippy-box[data-placement^="left"] > .tippy-arrow {
right: 0;
}
.tippy-box[data-placement^="left"] > .tippy-arrow:before {
border-width: 8px 0 8px 8px;
border-left-color: initial;
right: -7px;
transform-origin: center left;
}
.tippy-box[data-placement^="right"] > .tippy-arrow {
left: 0;
}
.tippy-box[data-placement^="right"] > .tippy-arrow:before {
left: -7px;
border-width: 8px 8px 8px 0;
border-right-color: initial;
transform-origin: center right;
}
.tippy-box[data-inertia][data-state="visible"] {
transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11);
}
.tippy-arrow {
width: 16px;
height: 16px;
color: #333;
}
.tippy-arrow:before {
content: "";
position: absolute;
border-color: transparent;
border-style: solid;
}
.tippy-content {
position: relative;
padding: 0.75em 1em;
z-index: 1;
}
html.dark .invert-colors {
filter: invert(0.95);
}
.button-fundraiser-shadow {
box-shadow: var(--color-gray-900) 10px 10px 0px 0px;
border: 2px solid var(--color-gray-900);
}
html.dark .button-fundraiser-shadow {
box-shadow: var(--color-gray-300) 10px 10px 0px 0px;
border: 2px solid var(--color-gray-300);
}
.fundraiser-progress-bar {
width: min(20rem, 80vw);
height: 1rem;
border-radius: 0.25rem;
--filled: 3%;
--empty-color: theme(colors.gray.300);
background:
linear-gradient(90deg, transparent, transparent var(--filled), var(--empty-color) var(--filled)),
repeating-linear-gradient(-45deg, theme(colors.red.700), theme(colors.red.700) 20px, theme(colors.red.800) 20px, theme(colors.red.800) 40px);
}
html.dark .fundraiser-progress-bar {
--empty-color: theme(colors.gray.700);
}