public-web/assets/main.css

331 lines
6.2 KiB
CSS
Raw Normal View History

2022-10-20 19:51:21 +02:00
@tailwind base;
@tailwind components;
@tailwind utilities;
2022-10-20 23:26:03 +02:00
2024-07-16 03:19:06 +02:00
: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;
}
2022-10-29 13:20:31 +02:00
:focus-visible {
outline: 6px solid theme(colors.blue.500 / 50%);
border-radius: 3px;
}
2022-10-21 10:20:01 +02:00
/* Typography */
2022-10-21 12:10:29 +02:00
.prose :is(p, h1, h2, h3, h4, h5, h6, ul, ol, li, pre) {
2022-10-20 23:26:03 +02:00
@apply mb-4;
}
2022-10-21 11:10:41 +02:00
2022-10-21 12:10:29 +02:00
.prose :is(h1, h2, h3, h4, h5, h6) {
@apply mt-8;
}
2022-10-21 11:10:41 +02:00
.link,
.prose a {
2022-10-27 18:38:09 +02:00
@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;
2022-10-21 12:10:29 +02:00
transition: color 200ms;
2022-10-21 11:10:41 +02:00
}
2022-10-21 12:10:29 +02:00
: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 {
2023-04-10 12:48:24 +02:00
@apply font-bold text-red-800 dark:text-red-300;
2022-10-21 12:10:29 +02:00
}
:is(.subheading, .prose h3)::before {
content: "★";
font-weight: 500;
margin-right: 0.75em;
}
.subsubheading,
.prose h4 {
font-weight: 500;
}
.code-block,
pre {
2022-10-24 03:43:56 +02:00
@apply bg-gray-100 dark:bg-gray-800;
2022-10-21 12:10:29 +02:00
border-radius: 0.25em;
overflow-x: auto;
2022-10-21 12:33:42 +02:00
padding: 1em;
position: relative;
2022-10-21 12:10:29 +02:00
}
.code-inline,
2022-10-21 12:33:42 +02:00
code {
2022-10-24 03:43:56 +02:00
@apply bg-gray-100 dark:bg-gray-800;
2022-10-21 12:10:29 +02:00
padding: 0.125em 0.25em;
border-radius: 0.25em;
font-size: 0.875em;
}
/* Background */
.clip-wedge {
2022-10-24 02:14:59 +02:00
--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;
}
2022-10-21 11:10:41 +02:00
}
2022-10-21 12:44:56 +02:00
/* Components */
.button {
2024-07-16 03:19:06 +02:00
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 {
2022-10-21 12:44:56 +02:00
border-radius: 100px;
2024-07-16 03:19:06 +02:00
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);
2022-10-21 12:44:56 +02:00
}
2024-07-16 03:19:06 +02:00
.button--secondary {
background-color: theme(colors.gray.200);
--hover-color: theme(colors.gray.300)
2022-10-24 03:43:56 +02:00
}
2024-07-16 03:19:06 +02:00
.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;
2022-10-24 03:43:56 +02:00
}
/* Utils */
html:not(.dark) .light\:hidden {
display: none;
2022-10-21 12:44:56 +02:00
}
2023-04-10 11:39:44 +02:00
2023-04-10 13:12:21 +02:00
.svg-w-8 svg {
@apply w-8;
}
2024-07-16 03:19:06 +02:00
.hero strong {
font-style: normal;
@apply text-red-700 dark:text-red-300;
}
2023-04-10 11:39:44 +02:00
/* 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;
}
2024-12-03 00:08:31 +01:00
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);
}
2024-12-14 21:50:17 +01:00
.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);
}