/* ======================================================================== OPENBUREAU — Flarum custom styles Spiegelt die Typografie und Farben von openbureau.ch ins Forum. ZWEI-SCHRITT-SETUP (Flarum erlaubt kein @import in Custom Styles): 1) Flarum-Admin → Appearance → "Custom Header" (HTML-Feld): 2) Flarum-Admin → Appearance → "Custom Styles": → diesen ganzen Inhalt hier reinkopieren (ab :root unten) Live-Quelle dieser Datei: openbureau.ch/flarum.css ======================================================================== */ :root { --ob-bg: hsl(35, 14%, 96%); --ob-bg-2: hsl(35, 14%, 93%); --ob-text: hsl(25, 18%, 10%); --ob-muted: hsl(25, 8%, 38%); --ob-border: hsl(35, 14%, 84%); --ob-accent: #b54a2c; --ob-accent-2: #d97a5a; --ob-serif: 'Newsreader', Charter, 'Source Serif Pro', Georgia, serif; --ob-sans: 'Inter', system-ui, -apple-system, sans-serif; --ob-display: 'Space Grotesk', 'Inter', system-ui, sans-serif; --ob-mono: 'IBM Plex Mono', 'Courier New', ui-monospace, monospace; /* Flarum LESS vars overridden where it accepts CSS custom props */ --primary-color: var(--ob-accent); --secondary-color: var(--ob-text); } /* ------------------------------------------------------------------------ Body — paper background, serif body, editorial ------------------------------------------------------------------------ */ html, body, .App { background: var(--ob-bg) !important; color: var(--ob-text) !important; font-family: var(--ob-serif) !important; font-size: 16.5px !important; line-height: 1.55 !important; } /* Headlines — display sans */ h1, h2, h3, h4, h5, .DiscussionListItem-title, .DiscussionHero-title, .DiscussionPage .Hero-title, .Post-header h3, .SignUpModal-title, .LogInModal-title { font-family: var(--ob-display) !important; font-weight: 600 !important; letter-spacing: -0.01em !important; color: var(--ob-text) !important; } /* Meta lines + mono labels */ .DiscussionListItem-count, .PostMeta, .Post-meta, .username, .item-terminalPost, .item-startTime, .notifications-pane-header, .Search-results { font-family: var(--ob-mono) !important; font-size: 0.82rem !important; color: var(--ob-muted) !important; } /* Listings (tags, controls) — Inter */ .IndexPage-toolbar, .DiscussionList-content .DiscussionListItem-info, .TagsLabel, .tag-name, .NotificationsList, .Dropdown-menu, .Sidebar .item-newDiscussion { font-family: var(--ob-sans) !important; } /* ------------------------------------------------------------------------ Header / Hero ------------------------------------------------------------------------ */ .App-header { background: var(--ob-bg) !important; border-bottom: 1px solid var(--ob-border) !important; box-shadow: none !important; color: var(--ob-text) !important; } .App-header .Button, .App-header .item-search input { color: var(--ob-text) !important; background: transparent !important; } .App-header .Header-title, .App-header .Header-title a { font-family: var(--ob-display) !important; font-weight: 700 !important; font-size: 1.4rem !important; letter-spacing: -0.01em !important; color: var(--ob-text) !important; text-transform: none !important; } .Hero { background: var(--ob-bg-2) !important; color: var(--ob-text) !important; border-bottom: 1px solid var(--ob-border) !important; text-shadow: none !important; } .Hero-title { color: var(--ob-text) !important; } .Hero-subtitle { color: var(--ob-muted) !important; font-style: italic; font-family: var(--ob-serif) !important; } /* ------------------------------------------------------------------------ Discussion list — editorial entries, no cards ------------------------------------------------------------------------ */ .IndexPage-results, .DiscussionList-content, .DiscussionList { background: transparent !important; border: none !important; box-shadow: none !important; } .DiscussionListItem { background: transparent !important; border-bottom: 1px solid var(--ob-border) !important; padding: 1rem 0.25rem !important; margin: 0 !important; } .DiscussionListItem:hover { background: var(--ob-bg-2) !important; } .DiscussionListItem-title { font-size: 1.15rem !important; line-height: 1.25 !important; margin-bottom: 0.3rem !important; } .DiscussionListItem-title a { color: var(--ob-text) !important; } .DiscussionListItem-title a:hover { color: var(--ob-accent) !important; } .DiscussionListItem-info { color: var(--ob-muted) !important; font-size: 0.85rem !important; } .DiscussionListItem-count { background: transparent !important; border: 1px solid var(--ob-border) !important; border-radius: 0 !important; color: var(--ob-muted) !important; padding: 0.15rem 0.4rem !important; } /* Avatar — soften (greyscale until hover, like the website) */ .Avatar { border-radius: 0 !important; filter: grayscale(80%); transition: filter 0.3s ease; } .DiscussionListItem:hover .Avatar, .Post:hover .Avatar { filter: grayscale(0%); } /* ------------------------------------------------------------------------ Tags ------------------------------------------------------------------------ */ .TagsLabel { font-family: var(--ob-sans) !important; font-size: 0.78rem !important; text-transform: uppercase !important; letter-spacing: 0.04em !important; } .TagsLabel .tag { background: transparent !important; color: var(--ob-accent) !important; border: 1px solid var(--ob-border) !important; border-radius: 0 !important; padding: 0.1rem 0.45rem !important; font-weight: 500 !important; } .TagsLabel .tag:hover { background: var(--ob-bg-2) !important; border-color: var(--ob-accent) !important; } .TagTile { background: var(--ob-bg-2) !important; border-radius: 0 !important; border: 1px solid var(--ob-border) !important; color: var(--ob-text) !important; box-shadow: none !important; } .TagTile-info h4 { color: var(--ob-text) !important; } .TagTile-description { color: var(--ob-muted) !important; font-style: italic; font-family: var(--ob-serif) !important; } /* ------------------------------------------------------------------------ Buttons ------------------------------------------------------------------------ */ .Button { border-radius: 0 !important; font-family: var(--ob-display) !important; font-weight: 500 !important; letter-spacing: 0.02em !important; background: transparent !important; color: var(--ob-text) !important; border: 1px solid var(--ob-border) !important; box-shadow: none !important; text-transform: none !important; } .Button:hover { background: var(--ob-bg-2) !important; border-color: var(--ob-text) !important; } .Button--primary { background: var(--ob-accent) !important; color: #fff !important; border-color: var(--ob-accent) !important; } .Button--primary:hover { background: var(--ob-accent-2) !important; border-color: var(--ob-accent-2) !important; color: #fff !important; } .Button--link { border: none !important; background: transparent !important; color: var(--ob-text) !important; } /* ------------------------------------------------------------------------ Links ------------------------------------------------------------------------ */ a { color: var(--ob-text); border-bottom: 1px solid var(--ob-border); text-decoration: none !important; } a:hover { color: var(--ob-accent); border-bottom-color: var(--ob-accent); } /* Strip border-bottom in places where it'd be noisy */ .App-header a, .Sidebar a, .Dropdown a, .Button, .TagsLabel a, .Avatar, .Search-results a, .DiscussionListItem-title a, .PostUser a, .username, .notifications a { border-bottom: none !important; } /* ------------------------------------------------------------------------ Discussion / Post view ------------------------------------------------------------------------ */ .DiscussionPage-discussion { background: transparent !important; } .DiscussionHero { background: var(--ob-bg-2) !important; border-bottom: 1px solid var(--ob-border) !important; box-shadow: none !important; } .DiscussionHero-title { color: var(--ob-text) !important; font-size: 1.6rem !important; } .PostStream { background: transparent !important; } .Post { border-bottom: 1px solid var(--ob-border) !important; padding: 1rem 0 !important; } .Post-header { font-family: var(--ob-mono) !important; font-size: 0.85rem !important; color: var(--ob-muted) !important; } .Post-body { font-family: var(--ob-serif) !important; font-size: 1.02rem !important; line-height: 1.55 !important; color: var(--ob-text) !important; } .Post-body p { margin: 0.6em 0 !important; } .Post-body blockquote { border-left: 2px solid var(--ob-accent) !important; padding-left: 1rem !important; margin: 0.8rem 0 !important; font-style: italic; color: var(--ob-muted) !important; } .Post-body code, .Post-body pre { font-family: var(--ob-mono) !important; background: var(--ob-bg-2) !important; border: 1px solid var(--ob-border) !important; border-radius: 0 !important; } /* ------------------------------------------------------------------------ Sidebar (left rail with categories/tags) ------------------------------------------------------------------------ */ .Sidebar { background: transparent !important; } .Sidebar .item-nav .Dropdown-toggle, .Sidebar .item-nav a { font-family: var(--ob-sans) !important; color: var(--ob-text) !important; background: transparent !important; border-radius: 0 !important; border-left: 2px solid transparent !important; } .Sidebar .item-nav .active a, .Sidebar .item-nav a:hover { background: var(--ob-bg-2) !important; border-left-color: var(--ob-accent) !important; } /* ------------------------------------------------------------------------ Composer (reply / new discussion) ------------------------------------------------------------------------ */ .Composer { background: var(--ob-bg) !important; border-top: 1px solid var(--ob-border) !important; box-shadow: 0 -2px 12px rgba(0,0,0,0.04) !important; } .Composer-header, .Composer-body, .Composer textarea { background: var(--ob-bg) !important; color: var(--ob-text) !important; font-family: var(--ob-serif) !important; } /* ------------------------------------------------------------------------ Modals (sign up, log in) ------------------------------------------------------------------------ */ .Modal-content { background: var(--ob-bg) !important; border-radius: 0 !important; border: 1px solid var(--ob-border) !important; box-shadow: 0 8px 40px rgba(0,0,0,0.08) !important; } .Modal-header { border-bottom: 1px solid var(--ob-border) !important; } .Modal input.FormControl, .FormControl { background: var(--ob-bg-2) !important; border: 1px solid var(--ob-border) !important; border-radius: 0 !important; color: var(--ob-text) !important; font-family: var(--ob-sans) !important; } .Modal input.FormControl:focus, .FormControl:focus { border-color: var(--ob-accent) !important; box-shadow: 0 0 0 2px rgba(181, 74, 44, 0.15) !important; } /* ------------------------------------------------------------------------ Dropdown menus ------------------------------------------------------------------------ */ .Dropdown-menu { background: var(--ob-bg) !important; border: 1px solid var(--ob-border) !important; border-radius: 0 !important; box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important; } /* ------------------------------------------------------------------------ Misc polish ------------------------------------------------------------------------ */ .Alert { border-radius: 0 !important; } .Badge { border-radius: 0 !important; font-family: var(--ob-mono) !important; } .Pagination-link { border-radius: 0 !important; font-family: var(--ob-mono) !important; } /* Remove dark/colored header bar in default Flarum */ .App-header-primary { background: var(--ob-bg) !important; }