Files
musenalm/views/transform/site.css
2025-05-23 16:26:03 +02:00

535 lines
11 KiB
CSS

@import "tailwindcss";
@theme {
--font-script: Rancho, ui-serif;
--font-sans: "Source Sans 3", "Merriweather Sans", ui-sans-serif;
--font-serif: "Merriweather", ui-serif;
--color-background: oklch(0.985 0.001 106.423);
--color-background-darker: oklch(0.97 0.001 106.424);
--color-background-dark: oklch(0.923 0.003 48.717);
--color-border-main: oklch(0.97 0.001 106.424);
--color-border-secondary: oklch(0.923 0.003 48.717);
--color-text: oklch(0.21 0.034 264.665);
--color-text-strong: oklch(0 0 0);
--color-text-muted: oklch(0.373 0.034 259.733);
--color-text-disabled: oklch(0.872 0.01 258.338);
--color-text-subtle: oklch(0.707 0.022 261.325);
--color-accent-blue-500: oklch(0.623 0.214 259.815);
--color-accent-blue-100: oklch(0.932 0.032 255.585);
}
/*
The default border color has changed to `currentColor` in Tailwind CSS v4,
so we've added these compatibility styles to make sure everything still
looks the same as it did with Tailwind CSS v3.
If we ever want to remove these styles, we need to add an explicit border
color utility to any element that depends on these defaults.
*/
@layer base {
*,
::after,
::before,
::backdrop,
::file-selector-button {
border-color: var(--color-gray-200, currentColor);
}
}
@utility font-variant-small-caps {
font-variant-caps: small-caps;
}
@layer components {
html {
font-size: 16px;
scroll-behavior: auto !important;
}
@media (max-width: 1280px) {
html {
font-size: 14px;
}
}
@media (max-width: 640px) {
html {
font-size: 12px;
}
}
body {
@apply bg-stone-50;
}
* {
@apply normal-nums;
}
h1,
h2,
h3,
h4 {
@apply font-serif;
}
a {
@apply hyphens-none underline decoration-dotted hover:decoration-solid text-slate-700 hover:text-slate-900 underline-offset-3;
}
ul {
@apply my-2;
}
li {
@apply ml-14 list-disc;
}
#mainmenu nav > a {
@apply hover:!border-zinc-200;
}
#mainmenu nav > * {
@apply border-b-4 border-transparent;
}
#mainmenu nav > button[aria-current="true"] {
@apply !bg-slate-200;
}
#mainmenu nav a[aria-current="page"] {
@apply text-slate-800;
}
#mainmenu nav a[aria-current="page"] {
@apply !border-zinc-300;
}
main {
@apply grow shrink-0;
}
.small-caps {
@apply font-variant-small-caps;
}
#reihenfilter .filter-list-list {
@apply border-b border-zinc-300 min-h-[17rem];
}
#alphabet a[aria-current="page"]:not(.inactive) {
@apply pb-3 pt-2 font-bold italic !bg-stone-50 relative -bottom-3 border-b;
}
#alphabet a:hover:not([aria-current="page"]:not(.inactive)) {
@apply pb-1 pt-0.5 !bg-stone-50 relative !text-stone-900;
}
#alphabet a.inactive {
@apply !text-gray-400;
}
#alphabet a[aria-current="page"]:not(.inactive):before {
aspect-ratio: 1;
clip-path: polygon(100% 80%, 80% 100%, 100% 100%);
content: " ";
@apply bg-red-600 absolute -bottom-[1px] -right-[1px] h-full z-30;
}
.headingcontainer:before {
content: "";
@apply bg-zinc-300 w-[50%] absolute top-0 left-[50%] h-[1px];
}
.headingcontainer {
@apply mt-16 border-r border-zinc-300 relative w-full max-w-(--breakpoint-xl) mx-auto;
}
.headingcontainer h1 {
@apply text-3xl font-bold px-3 bg-stone-50 relative -translate-y-[50%] w-min whitespace-nowrap mx-auto;
}
.filter-list-list .filter-list-item[aria-current="page"] {
@apply border-l-4 border-zinc-300 font-bold;
}
.notifier {
@apply bg-stone-100 text-center text-base px-2.5 py-1 font-sans rounded;
}
.notifier i {
@apply inline-block pr-0.5;
}
.notifier .filterterm {
@apply font-bold;
}
.headingcontainer .backbutton {
@apply ml-4 bg-stone-100 py-0.5 px-2.5 rounded font-sans text-base text-center;
}
.container-normal {
@apply w-full max-w-(--breakpoint-xl) mx-auto px-3 py-4 relative;
}
.container-oversize {
@apply w-full max-w-(--breakpoint-2xl) mx-auto px-3 py-4 relative;
}
.container-extraoversize {
@apply w-full max-w-[112rem] mx-auto relative;
}
.text {
@apply font-serif hyphens-auto;
}
.text p {
@apply text-lg hyphens-auto max-w-[70ch];
}
.text ul {
@apply list-disc ml-0 max-w-[70ch];
}
.text ol {
@apply list-decimal ml-0 max-w-[70ch];
}
.text p:first-of-type {
@apply mt-0;
}
.text p:last-of-type {
@apply mb-0;
}
.text p + p {
@apply mt-1;
}
.text p + ul {
@apply mt-1;
}
.text h1 {
@apply text-3xl font-bold mt-6 mb-1.5 hyphens-none leading-normal;
}
.text h2 {
@apply text-xl font-bold mt-3 mb-1.5 hyphens-none;
}
.text h3 {
@apply text-lg font-bold mt-3 mb-1.5 hyphens-none;
}
.text p + ol {
@apply mt-1;
}
.text p + blockquote {
@apply mt-1;
}
.text p + pre {
@apply mt-1;
}
.text p + p:not(.indented p, p:first-of-type) {
@apply indent-6;
}
.indented p {
@apply -indent-3.5 ml-3.5;
}
#indexpage {
background-image: url("/assets/bg.jpg");
@apply h-full w-full;
}
#introtext p:not(:first-child) {
@apply mt-0.5 !indent-6;
}
#searchnav > a:nth-of-type(1) {
@apply ml-6;
}
#searchnav > a {
@apply odd:bg-stone-100 even:bg-zinc-100 mx-1.5 border-zinc-300 border-x border-t px-2.5 no-underline transition-all duration-75 py-0.5 text-lg;
}
#searchnav > a[aria-current="page"]:not(.inactive) {
@apply font-bold italic !bg-stone-50 relative -bottom-2 border-b z-20;
}
#searchnav > a:hover:not([aria-current="page"]:not(.inactive)) {
@apply pb-2 !bg-stone-50 relative;
}
#searchheading:before {
content: "";
@apply bg-zinc-300 w-[80%] absolute bottom-0 right-[20%] h-[1px] z-10;
}
#searchform:before {
content: "";
@apply bg-zinc-300 w-[30%] absolute bottom-0 right-[70%] h-[1px] z-10;
}
#searchform input:not(#serachform #simplesearchbox input) {
@apply w-full mx-auto px-2 py-1 border-zinc-600 border;
}
#searchform button {
@apply bg-stone-900 text-gray-200 text-base min-w-36 rounded font-sans transition-all duration-75;
}
#searchform button:hover:not(:disabled) {
@apply cursor-pointer bg-slate-800 text-white;
}
#searchform button:disabled {
@apply bg-stone-400 text-white cursor-not-allowed;
}
#searchform .selectgroup {
@apply col-span-12 w-full flex flex-row gap-x-6;
}
#searchform .selectgroup .selectgroup-option {
@apply flex flex-row select-none gap-x-1.5;
}
#searchform .selectgroup .selectgroup-option label {
@apply whitespace-nowrap;
}
#searchform .selectgroup input:not(:checked) + label {
@apply decoration-slate-900 line-through;
}
#searchform .searchformcolumn {
}
#searchfilter .filter-list-list {
@apply text-base;
}
#searchfilter .filter-list-list {
@apply border shadow-inner;
}
#searchpills {
@apply flex flex-row gap-x-2.5;
}
#searchpills filter-pill .filter-pill {
@appply px-2.5 rounded-lg bg-orange-300;
}
#searchresults .filter-list-item[aria-current="page"] {
@apply text-orange-800 border-orange-900 bg-orange-100 pointer-events-none;
}
#persontype a {
@apply px-1.5 border-b-[5px] border-transparent hover:border-zinc-200 no-underline font-serif mx-2.5;
}
#persontype a[aria-current="page"]:not(#persontype.inactive a) {
@apply font-bold border-zinc-300;
}
#persontype.inactive a {
@apply text-gray-500;
}
#personheader:before {
content: "";
@apply bg-zinc-300 w-[50%] absolute bottom-0 left-[50%] h-[1px];
}
#personalphabet:after {
content: "";
@apply absolute right-0 top-0 h-full border-r border-zinc-300;
}
#personalphabet a {
@apply box-border odd:bg-stone-100 even:bg-zinc-100 mb-1 border-zinc-300 border-y border-l pl-2 pr-3 no-underline transition-all duration-75 text-center text-lg overflow-visible relative;
}
#personalphabet a[aria-current="page"]:not(.inactive) {
@apply font-bold italic !bg-stone-50 relative -mr-4 border-r border-b pl-3 z-20 text-xl;
}
#personalphabet a[aria-current="page"]:not(.inactive):before {
aspect-ratio: 1;
clip-path: polygon(100% 66%, 66% 100%, 100% 100%);
content: " ";
@apply bg-red-600 absolute -bottom-[1px] -right-[1px] h-full z-30;
}
#personalphabet a:hover:not([aria-current="page"]:not(.inactive)) {
@apply !bg-stone-50 -ml-2 relative text-stone-900;
}
#personalphabet a.inactive {
@apply text-gray-400;
}
#personlist [aria-current="location"] a {
@apply !text-red-700;
}
#entrydata .fieldlabel {
@apply font-bold font-serif text-base whitespace-nowrap min-w-48 grow-0 shrink-0 pt-0.5;
}
#entrydata .fieldvalue {
@apply font-serif text-left grow align-top max-w-[60ch];
}
#entrydata .entryrow {
@apply flex flex-row gap-x-3.5 items-start py-0.5;
}
#entrydata {
@apply relative;
}
#entrydata:not(#entrydata.contentsentrydata) {
@apply border border-zinc-300;
}
#entrydata.contentsentrydata {
@apply border-t border-r border-zinc-300 pb-16;
}
#entrydata.contentsentrydata:after {
content: "";
@apply absolute top-0 left-0 w-[1px] h-[50%] bg-zinc-300;
}
#entrydata.contentsentrydata:before {
content: "";
@apply absolute bottom-0 right-0 h-[1px] w-[50%] bg-zinc-300;
}
int-link {
@apply text-slate-700 hover:text-slate-900 underline decoration-dotted hover:decoration-solid;
}
#breadcrumbs {
@apply w-full max-w-(--breakpoint-xl) mx-auto px-3 pb-4 relative pt-1.5;
}
#breadcrumbs > div {
@apply flex flex-row gap-x-2.5 justify-between;
}
#breadcrumbs .backbutton {
@apply ml-4 bg-stone-100 py-0.5 px-2.5 rounded font-sans text-base text-center mr-1.5;
}
input:disabled {
@apply italic text-gray-500;
}
#extendedsearchcolumn {
@apply grid grid-cols-12 gap-y-3 w-full gap-x-4;
}
#extendedsearchcolumn input {
@apply w-full px-2 py-1 border-zinc-600 border col-span-9;
}
#extendedsearchcolumn select {
@apply w-full px-2 py-1 border-zinc-600 border col-span-9;
}
#extendedsearchcolumn button {
@apply col-start-4 col-span-4 py-2;
}
#extendedsearchcolumn label {
@apply col-span-3 bg-stone-200 align-middle px-2.5 text-slate-900 items-center flex text-base;
}
.content .fields {
@apply grid grid-cols-10 gap-y-0.5 w-full gap-x-4;
}
.content .fieldlabel {
@apply col-span-1 font-bold whitespace-nowrap grow-0 shrink-0 font-sans text-sm align-baseline mt-1 text-right;
}
.content .fieldvalue {
@apply col-span-9 font-serif text-left grow align-top max-w-[60ch];
}
.content {
@apply text-base;
}
#almanachcontents .content {
@apply border-b-8 border-stone-50;
}
#almanachcontents .columnone {
@apply bg-stone-50 pt-2 pr-3 mr-1;
}
#almanachcontents .columntwo {
@apply bg-stone-100 py-4 pl-6 ml-1;
}
#almanachcontents .columnthree {
@apply bg-stone-100 pr-6 py-4;
/*direction: rtl;*/
}
body .request-indicator {
@apply !hidden;
}
.spinning {
animation: spin 1s ease-out infinite;
}
body.htmx-request #simplesearchform #sumbmitbutton {
@apply cursor-wait pointer-events-none;
}
body.htmx-request .request-indicator {
@apply !inline-block;
}
.tab-list-head[aria-pressed="true"] {
@apply !text-slate-900 bg-stone-50;
}
.user-invites .user-chooser a {
@apply py-1 rounded no-underline;
}
.user-invites .user-chooser a[aria-current="page"] {
@apply font-bold !bg-stone-50 relative border-b z-20 shadow;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
80% {
transform: rotate(360deg);
} /* Most rotation happens early */
100% {
transform: rotate(360deg);
} /* Pause at the final position */
}
}