/* reset */ html { line-height: 1.15; /* prevent adjustments of font size after orientation changes in iOS */ -webkit-text-size-adjust: 100%; } body { margin: 0; } small { /* fix font size in all browsers */ font-size: 80%; font-family: "Inter", "Arial", sans-serif; } /* prevent sub and sup from affecting the line height in all browsers */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { /* remove text indentation from table contents in Chrome and Safari */ text-indent: 0; /* fix table border color inheritance in Chrome and Safari */ border-color: inherit; } button, input, optgroup, select, textarea { /* fix font styles in all browsers */ font-family: inherit; font-size: 100%; line-height: 1.15; /* remove margin in Firefox and Safari */ margin: 0; } button, select { /* remove inheritance of text transform in Edge and Firefox */ text-transform: none; } button, [type='button'], [type='reset'], [type='submit'] { /* fix inability to style clickable types in iOS and Safari */ -webkit-appearance: button; } /* general */ :root { {% if request.theme_zialucia %} font-size: 20px; {% endif %} font-family: "Merriweather", "Georgia", "Times New Roman", serif; line-height: 1.5; font-size: 16px; color-scheme: light dark; /* this colour is only used in dark mode */ --dark-mode-color: #212529; --link-color: #1175e2; --ascent-color: #006cdf; --dark-grey-color: #757575; --light-grey-color: #eff1f5; --airy-grey-color: #fafafa; --green-color: #26bd60; --red-color: #ff0000; --purple-color: #cd1ecd; } @media (max-width: 34rem) { :root { /* mobile base font size remains 16px whether zialucia on or off */ font-size: 16px; } } /* dark mode * create a new color (dark-mode-color) * override existing colors */ @media (prefers-color-scheme: dark) { :root { color: #fff; background: var(--dark-mode-color); --link-color: #70b3ff; --dark-grey-color: #b1b6bb; --light-grey-color: #353535; --airy-grey-color: #2b2b2b; --purple-color: #dd47ec; } } a { text-decoration: none; color: var(--link-color); } a:hover { text-decoration: underline; } a.btn { display: inline-block; cursor: pointer; background: var(--link-color); color: #fff; border: 1px solid var(--ascent-color); padding: 8px 24px; } a.btn:hover, a.btn:active { background: var(--ascent-color); text-decoration: none; } a.btn:disabled { pointer-events: none; background: var(--ascent-color); } h1 { font-size: 1.8rem; font-weight: 500; padding-bottom: 4px; border-bottom: 2px solid var(--light-grey-color); margin: 16px 0; } h2, h3 { font-weight: 500; margin: 16px 0; } main { max-width: 34rem; margin-bottom: 16px; margin-left: auto; margin-right: auto; padding-left: 8px; padding-right: 8px; } @media print { main { max-width: unset; } } @media print { article { page-break-before: always; } } aside { max-width: 34rem; border: 1px dashed #000; padding: 2px 6px; margin-top: 8px; margin-left: auto; margin-right: auto; box-sizing: border-box; } @media (max-width: 34rem) { aside { margin-left: 8px; margin-right: 8px; } } .alert-error { color: var(--red-color); } section { max-width: 34rem; margin-bottom: 16px; margin-left: auto; margin-right: auto; padding-left: 8px; padding-right: 8px; } nav { max-width: 34rem; margin-top: 16px; margin-left: auto; margin-right: auto; padding-left: 8px; padding-right: 8px; } @media print { nav { display: none; } } ol, ul { padding-left: 24px; } blockquote { border-left: 4px solid var(--light-grey-color); padding-left: 16px; margin-left: 0; color: var(--dark-grey-color); } figure { border: 1px var(--light-grey-color) solid; margin: auto; color: var(--dark-grey-color); } figcaption { font-size: 12px; text-align: center; } dt { font-weight: 700; } dd { margin-left: 0; } table { border-collapse: collapse; border: 1px solid var(--light-grey-color); width: 100%; box-sizing: border-box; } thead:nth-child(odd), tr:nth-child(even) { background: var(--light-grey-color); } th, td { padding: 4px; } pre { background: var(--airy-grey-color); overflow-x: auto; } code { background: var(--airy-grey-color); padding: 2px; } hr { border-top: 1px solid var(--light-grey-color); border-bottom: none; border-left: none; border-right: none; } summary { cursor: pointer; user-select: none; } footer { max-width: 34rem; margin-left: auto; margin-right: auto; margin-top: 56px; margin-bottom: 16px; padding-left: 8px; padding-right: 8px; color: var(--dark-grey-color); } .footer-comment { margin-bottom: 8px; } .help { cursor: help; text-decoration: dotted underline; } /* mods * they override specific classes with specific styles */ .type-approve { color: var(--green-color) !important; } .type-delete { color: var(--red-color) !important; } .type-danger { background: var(--red-color) !important; border-color: var(--red-color) !important; } /* form */ label { display: block; margin-top: 16px; } input[type="text"], input[type="url"], input[type="email"], input[type="password"], textarea { display: block; border: 2px solid var(--light-grey-color); box-sizing: border-box; width: 34rem; } @media (max-width: 34rem) { input[type="text"], input[type="url"], input[type="email"], input[type="password"], textarea { width: 100%; } } @media (prefers-color-scheme: dark) { input[type="text"], input[type="url"], input[type="email"], input[type="password"], textarea { color: #fff; background: var(--light-grey-color); } } input[type="submit"] { cursor: pointer; background: var(--link-color); color: #fff; border: 1px solid var(--ascent-color); padding: 8px 24px; } input[type="submit"]:hover, input[type="submit"]:active { background: var(--ascent-color); } input[type="submit"]:disabled { pointer-events: none; background: var(--ascent-color); } form .helptext { color: var(--dark-grey-color); } .form-error { color: var(--red-color); } .form-inline { display: inline-block; } .form-inline input[type="submit"] { border: none; background: unset; color: var(--link-color); padding: 0; } .form-inline input[type="submit"]:hover { text-decoration: underline; } /* landing */ .lead { max-width: 34rem; border: 1px dashed #000; padding-top: 8px; padding-bottom: 8px; } @media (prefers-color-scheme: dark) { .lead { border-color: #fff; } } .cta { margin-top: 32px; margin-bottom: 32px; } .cta-link { font-size: 20px; } /* comparisons */ .comparisons { max-width: 1000px; } .comparisons h1, .comparisons p, .comparisons ol, .comparisons ul { max-width: 34rem; margin-left: auto; margin-right: auto; } .comparisons-matrix { overflow: auto; } .comparisons table { min-width: 800px; white-space: nowrap; } .comparisons thead > tr > th:not(:first-child), .comparisons tbody > tr > td:not(:first-child) { text-align: center; } .comparisons th { text-align: left; } .comparisons tr { min-width: 300px; } /* blog index */ .blog a:hover { text-decoration: underline; } .blog a:visited { color: var(--purple-color); } .blog a:active { color: var(--red-color); } .drafts { border: 1px solid var(--light-grey-color); padding: 16px 16px 0; margin-bottom: 24px; } .posts { list-style: none; padding-left: 0; } .posts li { margin-bottom: 24px; } .posts small { white-space: nowrap; color: var(--dark-grey-color); } .posts time { white-space: nowrap; } .byline { color: var(--dark-grey-color); margin: 16px 0 24px; } .webring { margin-top: 64px; display: flex; justify-content: space-between; } .webring-name { color: #000; } @media (prefers-color-scheme: dark) { .webring-name { color: #fff; } } /* post detail */ .posts-item-brand { display: block; margin-top: 16px; margin-bottom: 16px; color: var(--dark-grey-color); } .posts-item-brand:hover { text-decoration: none; } .posts-item-brand::before { content: "« "; } .posts-item-title { margin-bottom: 8px; } .posts-item-byline { color: var(--dark-grey-color); margin-bottom: 8px; } .posts-item-body p { {% if not request.theme_sansserif %} font-family: serif; font-size: 1.1rem; {% endif %} } .posts-item-body li { {% if not request.theme_sansserif %} font-family: serif; font-size: 1.1rem; {% endif %} } .posts-item-body img { max-width: 100%; display: block; margin-left: auto; margin-right: auto; } /* comments */ .comments { margin-top: 64px; } .comments-title { font-size: 1.2rem; margin-top: 32px; padding-bottom: 4px; border-bottom: 2px solid var(--light-grey-color); } .comments-body { margin-bottom: 16px; } .comments-body p { margin-top: 4px; } /* page detail */ .pages-item-brand { display: block; margin-top: 16px; margin-bottom: 16px; color: var(--dark-grey-color); } .pages-item-brand:hover { text-decoration: none; } .pages-item-brand::before { content: "« "; } .pages-item-title { margin-bottom: 8px; } .pages-item-byline { color: var(--dark-grey-color); margin-bottom: 8px; } .pages-item-body p { {% if not request.theme_sansserif %} font-family: serif; font-size: 1.1rem; {% endif %} } .pages-item-body li { {% if not request.theme_sansserif %} font-family: serif; font-size: 1.1rem; {% endif %} } .pages-item-body img { max-width: 100%; } .pages-generic-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; column-gap: 16px; row-gap: 16px; margin-top: 16px; } @media (max-width: 490px) { .pages-generic-grid { grid-template-columns: 1fr 1fr; } } @media (max-width: 340px) { .pages-generic-grid { grid-template-columns: 1fr; } } /* dashboard */ .dashboard-cta { font-size: 1.1rem; } .dashboard-list { margin: 1rem 0; line-height: 1.6; } /* images */ .images-grid { max-width: 100%; margin-top: 32px; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); grid-template-rows: 302px; } .images-grid-item { display: flex; justify-content: center; border: 1px solid var(--light-grey-color); } .images-grid-item img { max-width: 300px; max-height: 300px; object-fit: contain; } /* image detail */ .images-item { max-width: 100%; margin-top: 32px; margin-bottom: 32px; text-align: center; } .images-item img { max-width: 100%; max-height: 100vh; } .images-item-byline { color: var(--dark-grey-color); } /* analytics */ .analytics-chart { background: var(--light-grey-color); line-height: 0; } svg .analytics-chart-bar { fill: var(--link-color); } svg .analytics-chart-bar:hover { fill: var(--ascent-color); } svg .analytics-chart-text { font-family: monospace; font-size: 10px; } /* billing stripe */ #subscription-form input[type="submit"] { margin-top: 8px; } #card-element { border: 1px solid var(--light-grey-color); padding: 4px 8px; } #card-element-errors { margin-top: 8px; color: var(--red-color); } /* moderation */ .moderation-content { max-width: 100%; margin-bottom: 32px; overflow: auto; } .filterbar { margin: 0 0 12px 0; display: flex; gap: 12px; align-items: center; } .filterbar a { padding: 2px 6px; border: 1px solid var(--light-grey-color); } .filterbar .filterbar-clear { margin-left: auto; border: none; padding: 0; } .filterbar .filterbar-form { margin-left: 12px; display: inline-flex; gap: 6px; align-items: center; } .filterbar .filterbar-form input[type="number"] { width: 90px; box-sizing: border-box; } .filterbar .filterbar-form button[type="submit"] { display: inline-block; padding: 2px 8px; border: 1px solid var(--light-grey-color); background: transparent; color: var(--link-color); text-decoration: none; cursor: pointer; } .filterbar .filterbar-form button[type="submit"]:hover { text-decoration: underline; } /* ensure vertical alignment for compact inline controls */ .filterbar .filterbar-form label, .pagination form label { display: inline-flex; align-items: center; gap: 6px; margin: 0; } .moderation-content-row { display: flex; flex-wrap: wrap; border-bottom: 1px solid var(--light-grey-color); } @media (max-width: 34rem) { .moderation-content-row { padding: 8px 0; } } .moderation-content-row:nth-child(even) { background: var(--airy-grey-color); } .moderation-content-row div { box-sizing: border-box; padding: 4px; } .moderation-content-row ul { margin: 0; } .moderation-content-row-id { width: 45px; white-space: nowrap; font-family: monospace; line-height: 1.8; } @media (max-width: 34rem) { .moderation-content-row-id a { color: darksalmon; } } .moderation-content-row-id2 { width: 115px; font-family: monospace; font-size: 70%; line-height: 2; white-space: nowrap; } .moderation-content-row-username { width: 250px; white-space: nowrap; font-family: monospace; line-height: 1.8; overflow: hidden; text-overflow: ellipsis; } .moderation-content-row-actions { width: 170px; white-space: nowrap; font-family: monospace; overflow: hidden; text-overflow: ellipsis; } .moderation-content-row-url { width: 400px; white-space: nowrap; font-family: monospace; line-height: 1.8; overflow: hidden; text-overflow: ellipsis; } @media (max-width: 34rem) { .moderation-content-row-url a { color: var(--dark-grey-color); text-decoration: underline; } } .moderation-content-row-email { width: 300px; white-space: nowrap; font-family: monospace; line-height: 1.8; overflow: hidden; text-overflow: ellipsis; } @media (max-width: 34rem) { .moderation-content-row-email { color: var(--dark-grey-color); } } .moderation-content-row-posts { overflow: hidden; text-overflow: ellipsis; } .moderation-content-cards { display: flex; } .moderation-content-cards-col1 { width: 20vw; } .moderation-content-cards-col2 { width: 20vw; } .moderation-content-cards-col3 { width: 30vw; padding: 0 4px; } .moderation-content-cards-col4 { width: 30vw; padding: 0 4px; } /* pagination */ .pagination { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 16px 0; } .pagination a, .pagination button[type="submit"] { display: inline-block; padding: 2px 8px; border: 1px solid var(--light-grey-color); background: transparent; color: var(--link-color); text-decoration: none; cursor: pointer; } .pagination a:hover, .pagination button[type="submit"]:hover { text-decoration: underline; } .pagination .disabled { color: var(--dark-grey-color); } .pagination .status { white-space: nowrap; } .pagination form { margin-left: auto; display: flex; align-items: center; gap: 8px; } .pagination input[type="number"] { width: 70px; box-sizing: border-box; }