MediaWiki:Jotunnheim.css: Difference between revisions

From Project: Jotunnheim
Jump to navigation Jump to search
Update Jotunnheim skin CSS from local source
Update Jotunnheim skin CSS from local source
 
(19 intermediate revisions by the same user not shown)
Line 149: Line 149:
   font-weight: 500;
   font-weight: 500;
   display: flex;
   display: flex;
}
.jth-shell .jth-nav a.jth-brand img {
  border-radius: 50%;
}
}


Line 195: Line 199:
.jth-shell .jth-header {
.jth-shell .jth-header {
   flex-direction: row;
   flex-direction: row;
   padding: 1rem 0;
   padding: .25rem 0;
   display: flex;
   display: flex;
}
}
Line 215: Line 219:
   font-size: inherit;
   font-size: inherit;
   border: none;
   border: none;
  width: 180px;
   padding: .25rem .5rem;
   padding: .25rem .5rem;
  display: block;
}
}


Line 274: Line 280:
.jth-shell main#content #toc .toctitle {
.jth-shell main#content #toc .toctitle {
   text-align: left;
   text-align: left;
  display: flex;
}
}


.jth-shell main#content #toc #mw-toc-heading {
.jth-shell main#content #toc #mw-toc-heading {
   font-variant: small-caps;
   font-variant: small-caps;
  flex: 1;
   font-weight: 400;
   font-weight: 400;
}
}
Line 348: Line 356:
}
}


.jth-shell main#content table.infobox .infobox.geography td {
.jth-shell main#content table.infobox.geography td, .jth-shell main#content table.infobox.geography th {
   border-top: 1px solid var(--jth-fg-1);
   border-top-color: var(--jth-fg-1);
}
}


Line 421: Line 429:
   background: none;
   background: none;
   border: none;
   border: none;
}
.jth-shell .wikitable {
  color: inherit;
  border: thick double var(--jth-fg-1);
  background-color: #0000;
}
.jth-shell .wikitable th, .jth-shell .wikitable td {
  border-color: var(--jth-fg-1);
}
.jth-shell .wikitable th {
  font-variant: small-caps;
  background-color: #0000;
}
.jth-shell .mw-collapsible-toggle-default .mw-collapsible-text {
  color: var(--jth-link-normal);
}
}


Line 475: Line 502:
body.skin-jotunnheim .mw-body-content figure {
body.skin-jotunnheim .mw-body-content figure {
   counter-increment: jth-figure;
   counter-increment: jth-figure;
}
body.skin-jotunnheim .mw-body-content figure img {
  border-color: var(--jth-fg-1);
}
}



Latest revision as of 18:13, 26 September 2026

@font-face {
  font-family: JotunnheimCharis;
  src: url("/w/skins/Jotunnheim/fonts/Charis-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimCharis;
  src: url("/w/skins/Jotunnheim/fonts/Charis-Italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimCharis;
  src: url("/w/skins/Jotunnheim/fonts/Charis-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimCharis;
  src: url("/w/skins/Jotunnheim/fonts/Charis-BoldItalic.woff2") format("woff2");
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimOldStandard;
  src: url("/w/skins/Jotunnheim/fonts/OldStandard-Regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimOldStandard;
  src: url("/w/skins/Jotunnheim/fonts/OldStandard-Bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimGoudy;
  src: url("/w/skins/Jotunnheim/fonts/GoudyBookletter1911.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimNoto;
  src: url("/w/skins/Jotunnheim/fonts/NotoSerif-Variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: JotunnheimNoto;
  src: url("/w/skins/Jotunnheim/fonts/NotoSerif-Italic-Variable.ttf") format("truetype");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}

body.skin-jotunnheim {
  --jth-page: #f3eee2;
  --jth-fg: #0e0c06;
  --jth-fg-1: #473d43;
  --jth-page-1: #e0d6b8;
  --jth-link-normal: #52728e;
  --jth-link-red: #96705b;
  --jth-link-visited: #684756;
  --jth-ink: #27231e;
  --jth-muted: #665e52;
  --jth-rule: #c7bdac;
  --jth-link: #734533;
  --jth-body: JotunnheimCharis, Charis, "Charis SIL", JotunnheimNoto, "Noto Serif", Georgia, serif;
  --jth-title: JotunnheimOldStandard, "Old Standard TT", JotunnheimCharis, Georgia, serif;
  --jth-heading: JotunnheimGoudy, "Goudy Bookletter 1911", JotunnheimCharis, Georgia, serif;
  color: var(--jth-fg);
  background: var(--jth-page-1);
  font-family: var(--jth-body);
  margin: 0;
}

body.skin-jotunnheim a, body.skin-jotunnheim a:visited, body.skin-jotunnheim a.extiw {
  color: var(--jth-link-normal);
}

:is(body.skin-jotunnheim a, body.skin-jotunnheim a:visited, body.skin-jotunnheim a.extiw).new {
  color: var(--jth-link-red);
}

:is(body.skin-jotunnheim a, body.skin-jotunnheim a:visited, body.skin-jotunnheim a.extiw).new:after {
  content: "†";
  display: inline;
}

.jth-skip {
  color: #00f;
  background: #fff;
  padding: 1rem;
  display: block;
  position: absolute;
  top: 0;
  left: -100vw;
}

.jth-skip:focus {
  left: 0;
}

.jth-shell {
  flex-direction: row;
  display: flex;
}

.jth-shell .jth-nav {
  flex-direction: column;
  flex: 0 0 180px;
  display: flex;
}

.jth-shell .jth-nav a, .jth-shell .jth-nav a.extiw, .jth-shell .jth-nav a:visited {
  width: 100%;
  color: var(--jth-fg-1);
  font-size: .925rem;
  display: inline-block;
}

.jth-shell .jth-nav a.jth-brand {
  text-align: center;
  font-family: JotunnheimCheltenhamCondensed, var(--jth-title);
  letter-spacing: -.02em;
  color: var(--jth-fg);
  flex-direction: column;
  align-items: center;
  gap: .5rem;
  margin: 1rem 0;
  font-size: 1.5rem;
  font-weight: 500;
  display: flex;
}

.jth-shell .jth-nav a.jth-brand img {
  border-radius: 50%;
}

.jth-shell .jth-nav input[type="checkbox"] {
  display: none;
}

.jth-shell .jth-nav #p-user-page-label {
  content: "User";
}

.jth-shell .jth-nav .mw-portlet {
  padding: 0 .25rem;
}

.jth-shell .jth-nav .mw-portlet h3 {
  font-family: var(--jth-body);
  font-variant: small-caps;
  flex-direction: row;
  align-items: center;
  width: 100%;
  margin: .25rem 0 0 .25rem;
  padding: 0;
  font-size: 1rem;
  font-weight: 500;
  display: inline-flex;
  position: relative;
}

.jth-shell .jth-nav .mw-portlet h3:after {
  content: "";
  border-bottom: 1px solid var(--jth-fg-1);
  flex: 1;
  height: 0;
  margin: 0 .25rem;
  display: inline-flex;
  position: relative;
  top: 2px;
}

.jth-shell .jth-nav .mw-portlet ul {
  margin: 0 0 0 1rem;
  list-style: none;
}

.jth-shell .jth-header {
  flex-direction: row;
  padding: .25rem 0;
  display: flex;
}

.jth-shell .jth-header #p-search label {
  position: absolute;
  top: 0;
  left: -100vw;
}

.jth-shell .jth-header #p-search label:focus {
  left: 0;
}

.jth-shell .jth-header #p-search input {
  background-color: var(--jth-page);
  color: var(--jth-fg);
  font-family: inherit;
  font-size: inherit;
  border: none;
  width: 180px;
  padding: .25rem .5rem;
  display: block;
}

.jth-shell .jth-main {
  flex-direction: column;
  width: max-content;
  display: flex;
}

.jth-shell .jth-byline {
  color: var(--jth-fg-1);
  font-style: italic;
}

.jth-shell main#content {
  background: var(--jth-page);
  --toc-width: 240px;
  padding: 1rem;
  position: relative;
}

.jth-shell main#content:has(#toc) {
  padding-left: calc(var(--toc-width)  + 1rem);
}

.jth-shell main#content:has(#toc) .mw-body-content {
  width: min(100ch, calc(100vw - 180px - var(--toc-width)  - 3rem));
}

.jth-shell main#content h1#firstHeading {
  font-family: var(--jth-body);
  font-variant: small-caps;
  margin-bottom: .25rem;
  padding: 0;
}

.jth-shell main#content .mw-body-content {
  width: 100ch;
}

.jth-shell main#content #toc {
  box-sizing: border-box;
  float: left;
  width: calc(var(--toc-width)  - 1rem);
  margin-left: calc(-1 * var(--toc-width));
  background-color: #0000;
  border: none;
  max-height: calc(100vh - 2rem);
  position: sticky;
  top: 1rem;
  overflow-y: auto;
}

.jth-shell main#content #toc .toctogglespan {
  display: none;
}

.jth-shell main#content #toc .toctitle {
  text-align: left;
  display: flex;
}

.jth-shell main#content #toc #mw-toc-heading {
  font-variant: small-caps;
  flex: 1;
  font-weight: 400;
}

.jth-shell main#content #toc li a {
  align-items: flex-end;
  width: 100%;
  display: flex;
}

.jth-shell main#content #toc li a .tocnumber {
  order: 1;
  margin-left: .25em;
}

.jth-shell main#content #toc li a .toctext {
  flex: 1;
  min-width: 0;
  display: block;
  overflow: hidden;
}

.jth-shell main#content #toc li a .toctext:after {
  content: "";
  border-bottom: 1px dotted var(--jth-fg-1);
  vertical-align: .2em;
  width: 100%;
  margin-left: .25em;
  margin-right: calc(-100% - .25em);
  display: inline-block;
}

.jth-shell main#content #toc li.toclevel-1:has(ul) > a > .toctext {
  font-variant: small-caps;
}

.jth-shell main#content .jth-toc-column {
  width: calc(var(--toc-width)  - 1rem);
  height: 0;
  margin-left: calc(-1 * var(--toc-width));
  align-self: flex-start;
  position: sticky;
  top: 1rem;
}

.jth-shell main#content .jth-toc-column #toc {
  float: none;
  width: 100%;
  margin-left: 0;
  position: static;
}

.jth-shell main#content figure {
  background-color: #0000;
  border: none;
}

.jth-shell main#content figure figcaption {
  background-color: #0000;
  border: none;
}

.jth-shell main#content figure .mw-file-description:after {
  background-image: none;
}

.jth-shell main#content table.infobox {
  border: thick double var(--jth-fg-1);
  background-color: #0000;
}

.jth-shell main#content table.infobox.geography td, .jth-shell main#content table.infobox.geography th {
  border-top-color: var(--jth-fg-1);
}

.jth-shell footer.mw-footer, .jth-shell footer.mw-footer ul {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  margin: 0;
  list-style: none;
  display: flex;
}

.jth-shell footer.mw-footer {
  margin: 1rem 0;
}

.jth-shell h1, .jth-shell h2 {
  border-bottom: 1px solid var(--jth-fg-1);
}

.jth-shell h2:has(.mw-editsection) a {
  margin-left: .25rem;
  margin-right: .75rem;
}

.jth-shell :is(h2, h3, h4, h5, h6):has(.mw-editsection) {
  align-items: flex-end;
  display: flex;
}

.jth-shell :is(h2, h3, h4, h5, h6):has(.mw-editsection) .mw-headline {
  flex: 1;
  min-width: 0;
  display: block;
  overflow: hidden;
}

.jth-shell :is(h2, h3, h4, h5, h6):has(.mw-editsection) .mw-editsection {
  white-space: nowrap;
  flex: none;
  margin-left: .25em;
  font-size: 1rem;
  font-weight: 500;
}

.jth-shell :is(h2, h3, h4, h5, h6):has(.mw-editsection) .mw-editsection .mw-editsection-bracket, .jth-shell :is(h2, h3, h4, h5, h6):has(.mw-editsection) .mw-editsection .mw-editsection-divider {
  display: none;
}

.jth-shell :is(h3, h4, h5, h6):has(.mw-editsection) .mw-headline:after {
  content: "";
  border-bottom: 1px dashed var(--jth-fg-1);
  vertical-align: .2em;
  width: 100%;
  margin-left: .25em;
  margin-right: calc(-100% - .25em);
  display: inline-block;
}

.jth-shell :is(h3, h4, h5, h6):has(.mw-editsection) .mw-editsection a:after {
  content: "";
  border-bottom: 1px solid var(--jth-fg-1);
  vertical-align: .2em;
  width: .325rem;
  height: 0;
  margin-inline: .25rem;
  display: inline-block;
}

.jth-shell .catlinks {
  background: none;
  border: none;
}

.jth-shell .wikitable {
  color: inherit;
  border: thick double var(--jth-fg-1);
  background-color: #0000;
}

.jth-shell .wikitable th, .jth-shell .wikitable td {
  border-color: var(--jth-fg-1);
}

.jth-shell .wikitable th {
  font-variant: small-caps;
  background-color: #0000;
}

.jth-shell .mw-collapsible-toggle-default .mw-collapsible-text {
  color: var(--jth-link-normal);
}

@media (width <= 1100px) {
  .jth-shell main#content:has(#toc) {
    padding-left: 1rem;
  }

  .jth-shell main#content:has(#toc) .mw-body-content {
    width: min(100ch, 100vw - 180px - 3rem);
  }

  .jth-shell main#content #toc {
    float: none;
    width: auto;
    max-width: 100%;
    max-height: none;
    margin-left: 0;
    position: static;
    overflow: visible;
  }

  .jth-shell main#content .jth-toc-column {
    align-self: stretch;
    width: auto;
    height: auto;
    margin-left: 0;
    position: static;
  }
}

html.client-nojs body.skin-jotunnheim .jth-shell main#content:has(#toc) {
  padding-left: 1rem;
}

html.client-nojs body.skin-jotunnheim .jth-shell main#content:has(#toc) .mw-body-content {
  width: min(100ch, 100vw - 180px - 3rem);
}

html.client-nojs body.skin-jotunnheim .jth-shell main#content:has(#toc) #toc {
  float: none;
  width: auto;
  max-width: 100%;
  max-height: none;
  margin-left: 0;
  position: static;
  overflow: visible;
}

body.skin-jotunnheim .mw-body-content {
  counter-reset: jth-figure;
}

body.skin-jotunnheim .mw-body-content figure {
  counter-increment: jth-figure;
}

body.skin-jotunnheim .mw-body-content figure img {
  border-color: var(--jth-fg-1);
}

body.skin-jotunnheim .mw-body-content figure > figcaption:before, body.skin-jotunnheim .mw-body-content figure[typeof] > figcaption:before {
  content: "Fig." counter(jth-figure, upper-roman) ".—";
  font-variant: small-caps;
  float: none;
  width: auto;
  height: auto;
  margin: 0;
  display: inline;
}