Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

main.css 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571
  1. @charset "UTF-8";
  2. /*************/
  3. /* VARIABLES */
  4. /*************/
  5. :root {
  6. /* Specific colors. */
  7. --deus-color-darker-blue: #00122f;
  8. --deus-color-dark-blue: #002e5c;
  9. --deus-color-medium-blue: #0f5093;
  10. --deus-color-light-blue: #2069b3;
  11. --deus-color-gold: #fdc22f;
  12. --deus-color-dark-gold: #c8a44d;
  13. --deus-color-gold-shadow: #a5842e;
  14. --deus-color-gold-shadow-opacity-one-quarter: rgba(165, 132, 46, 0.25);
  15. --deus-color-gold-shadow-opacity-one-half: rgba(165, 132, 46, 0.5);
  16. --deus-color-gold-shadow-opacity-three-quarters: rgba(165, 132, 46, 0.75);
  17. --deus-color-golden-brown: #684f00;
  18. --deus-color-darker-grey: #161a1f;
  19. --deus-color-dark-grey: #272b30;
  20. --deus-color-medium-grey: #567;
  21. --deus-color-light-grey: #a2a1a0;
  22. --deus-color-lighter-grey: #d5d2d2;
  23. --deus-color-white: #fff;
  24. --deus-color-white-opacity-one-quarter: rgba(255,255,255,0.25);
  25. --deus-color-white-opacity-one-half: rgba(255,255,255,0.5);
  26. --deus-color-white-opacity-three-quarters: rgba(255,255,255,0.75);
  27. /* Element colors & appearance. */
  28. --deus-body-background-color: var(--deus-color-darker-blue);
  29. --deus-body-background-image: url('/deus/assets/images/deus-logo-only.png');
  30. --deus-body-background-image-margin: 1.5rem;
  31. --deus-box-background-color: var(--deus-color-dark-grey);
  32. --deus-box-border-color: var(--deus-color-gold);
  33. --deus-box-shadow-color: var(--deus-color-gold-shadow);
  34. --deus-box-shadow-color-intermediate-retina: var(--deus-color-dark-gold);
  35. --deus-body-text-color: var(--deus-color-white);
  36. --deus-body-text-shadow-color: var(--deus-color-white-opacity-one-quarter);
  37. --deus-link-color: var(--deus-color-gold);
  38. --deus-link-color-hover: var(--deus-color-white);
  39. --deus-link-color-active: var(--deus-color-white);
  40. --deus-link-color-visited: var(--deus-color-gold);
  41. --deus-link-text-shadow-color: var(--deus-color-gold-shadow-opacity-one-quarter);
  42. --deus-image-border-color: var(--deus-color-golden-brown);
  43. /* Typography. */
  44. --deus-content-base-font-size: 1.125rem;
  45. --deus-body-font: HK Grotesk;
  46. --deus-body-font-weight: 300;
  47. --deus-body-text-shadow: none;
  48. --deus-body-text-line-spacing: 1.4;
  49. --deus-body-text-paragraph-spacing: 1em;
  50. --deus-heading-font: Spectral SC;
  51. --deus-heading-font-variant: normal;
  52. --deus-heading-font-opentype-features: none;
  53. --deus-heading-font-size: 1.5em;
  54. --deus-heading-font-weight: 700;
  55. --deus-heading-letter-spacing: normal;
  56. --deus-heading-text-color: var(--deus-color-white);
  57. --deus-nav-ui-font: Spectral SC;
  58. --deus-nav-ui-font-variant: normal;
  59. --deus-nav-ui-font-opentype-features: none;
  60. /* Layout. */
  61. --deus-body-padding: 6rem 2rem;
  62. --deus-content-max-width: 92ch;
  63. --deus-box-border-width: 1px;
  64. --deus-post-padding: 1.5rem;
  65. --deus-post-heading-spacing: 5px;
  66. --deus-post-spacing: 3rem;
  67. }
  68. @media only screen and (max-width: 960px) {
  69. :root {
  70. /* Layout. */
  71. --deus-body-padding: 6rem 1rem;
  72. --deus-post-padding: 1.25rem;
  73. }
  74. }
  75. @media only screen and (max-width: 520px) {
  76. :root {
  77. /* Layout. */
  78. --deus-body-padding: 6rem 0.5rem;
  79. --deus-post-padding: 1rem;
  80. }
  81. }
  82. @media only screen and (max-resolution: 191dpi) {
  83. :root {
  84. --deus-body-text-shadow: 0 0 0 var(--deus-body-text-shadow-color);
  85. }
  86. }
  87. /********/
  88. /* BASE */
  89. /********/
  90. html {
  91. font-size: 16px;
  92. box-sizing: border-box;
  93. }
  94. *, *::before, *::after {
  95. box-sizing: inherit;
  96. }
  97. /**********/
  98. /* LAYOUT */
  99. /**********/
  100. body {
  101. margin: 0;
  102. padding: var(--deus-body-padding);
  103. background-color: var(--deus-body-background-color);
  104. }
  105. body::before {
  106. content: "";
  107. position: fixed;
  108. left: 0;
  109. right: 0;
  110. top: 0;
  111. bottom: 0;
  112. background-image: var(--deus-body-background-image);
  113. background-size: auto 150vh;
  114. background-repeat: no-repeat;
  115. background-position: right 50vw top 0;
  116. background-attachment: fixed;
  117. opacity: 0.2;
  118. }
  119. main {
  120. max-width: var(--deus-content-max-width);
  121. margin: auto;
  122. position: relative;
  123. }
  124. /********/
  125. /* TEXT */
  126. /********/
  127. main {
  128. color: var(--deus-body-text-color);
  129. font-size: var(--deus-content-base-font-size);
  130. font-family: var(--deus-body-font);
  131. font-weight: var(--deus-body-font-weight);
  132. text-shadow: var(--deus-body-text-shadow);
  133. line-height: var(--deus-body-text-line-spacing);
  134. }
  135. /**********/
  136. /* NAV UI */
  137. /**********/
  138. main nav {
  139. display: flex;
  140. flex-flow: row wrap;
  141. align-items: center;
  142. position: fixed;
  143. top: 0;
  144. left: 0;
  145. background-color: var(--deus-box-background-color);
  146. width: 100%;
  147. padding: 0.75em 1.25em;
  148. border-bottom: var(--deus-box-border-width) solid var(--deus-box-border-color);
  149. box-shadow: 0 1px 0 0 var(--deus-box-shadow-color);
  150. z-index: 1001;
  151. transition:
  152. top 0.3s ease,
  153. opacity 0.15s ease,
  154. filter 0.15s ease;
  155. }
  156. @media only screen and (min-resolution: 192dpi) {
  157. main nav {
  158. border-bottom: none;
  159. box-shadow:
  160. 0 -0.5px 0 0 var(--deus-box-shadow-color-intermediate-retina) inset,
  161. 0 0.5px 0 0 var(--deus-box-border-color),
  162. 0 1px 0 0 var(--deus-box-shadow-color-intermediate-retina),
  163. 0 1.5px 0 0 var(--deus-box-shadow-color);
  164. }
  165. }
  166. main nav.hidden {
  167. top: -5rem;
  168. }
  169. main nav.translucent-on-scroll {
  170. opacity: 0.6;
  171. filter: blur(1px);
  172. }
  173. main nav a {
  174. font-family: var(--deus-nav-ui-font);
  175. font-size: 1.25em;
  176. font-weight: bold;
  177. font-feature-settings: var(--deus-nav-ui-font-opentype-features);
  178. font-variant: var(--deus-nav-ui-font-variant);
  179. text-shadow: 2px 2px 1px var(--deus-link-text-shadow-color);
  180. /* Workaround for baseline bug in “Spectral” font.
  181. */
  182. padding: 0.125em 0 0 0;
  183. }
  184. main nav a + a {
  185. margin-left: 1em;
  186. }
  187. main nav a:hover {
  188. text-decoration: none;
  189. }
  190. main nav a:active {
  191. transform: scale(0.9);
  192. }
  193. /*=-------=*/
  194. /*= Logo. =*/
  195. /*=-------=*/
  196. main nav a.logo {
  197. line-height: 0.5;
  198. margin-right: 0.25em;
  199. font-size: 1em;
  200. /* Workaround for baseline bug in “Spectral” font.
  201. */
  202. padding: 0;
  203. }
  204. main nav a img {
  205. max-height: 2em;
  206. filter:
  207. drop-shadow(0 0 1px var(--deus-color-gold))
  208. drop-shadow(0 0 2px var(--deus-color-gold));
  209. }
  210. main nav a:hover img {
  211. filter:
  212. drop-shadow(0 0 1px var(--deus-color-white))
  213. drop-shadow(0 0 2px var(--deus-color-white));
  214. }
  215. /*=----------------=*/
  216. /*= Share buttons. =*/
  217. /*=----------------=*/
  218. main nav .social-buttons {
  219. flex: 1 0 auto;
  220. display: flex;
  221. flex-flow: row nowrap;
  222. justify-content: flex-end;
  223. }
  224. main nav .social-buttons > * {
  225. flex: 0 1 auto;
  226. }
  227. main nav .social-buttons a {
  228. font-family: Font Awesome, Font Awesome Brands;
  229. font-size: 1em;
  230. font-weight: normal;
  231. width: 1.5em;
  232. text-align: center;
  233. }
  234. main nav .social-buttons a + a {
  235. margin-left: 0.5em;
  236. }
  237. /* “Share” button.
  238. */
  239. main nav .social-buttons a.share {
  240. font-weight: 900;
  241. }
  242. /*********/
  243. /* LINKS */
  244. /*********/
  245. a {
  246. color: var(--deus-link-color);
  247. text-decoration: none;
  248. }
  249. a:hover {
  250. color: var(--deus-link-color-hover);
  251. text-decoration: underline;
  252. }
  253. /********/
  254. /* MISC */
  255. /********/
  256. hr {
  257. height: 1px;
  258. border: none;
  259. background-image: linear-gradient(to right, rgba(0, 0, 0, 0), var(--deus-color-gold), rgba(0, 0, 0, 0));
  260. margin: 1.5em 0;
  261. clear: both;
  262. }
  263. /*=-----------------=*/
  264. /* Copyright notice. */
  265. /*=-----------------=*/
  266. #copyright {
  267. position: fixed;
  268. left: 0;
  269. bottom: 1rem;
  270. width: 100%;
  271. text-align: center;
  272. color: var(--deus-body-text-color);
  273. font-size: 0.875rem;
  274. opacity: 0.5;
  275. }
  276. #copyright p {
  277. margin: 0;
  278. }
  279. /*********/
  280. /* POSTS */
  281. /*********/
  282. article {
  283. position: relative;
  284. padding: var(--deus-post-padding);
  285. background-color: var(--deus-box-background-color);
  286. border: var(--deus-box-border-width) solid var(--deus-box-border-color);
  287. box-shadow:
  288. 0 0 0 1px var(--deus-box-shadow-color),
  289. 0 0 0 2px var(--deus-body-background-color);
  290. z-index: 1;
  291. }
  292. @media only screen and (min-resolution: 192dpi) {
  293. article {
  294. border: none;
  295. box-shadow:
  296. 0 0 0 0.5px var(--deus-box-shadow-color-intermediate-retina) inset,
  297. 0 0 0 0.5px var(--deus-box-border-color),
  298. 0 0 0 1px var(--deus-box-shadow-color-intermediate-retina),
  299. 0 0 0 1.5px var(--deus-box-shadow-color);
  300. 0 0 0 2.5px var(--deus-body-background-color);
  301. }
  302. }
  303. @supports (-webkit-hyphens:auto) or (-ms-hyphens:auto) or (hyphens:auto) {
  304. article {
  305. text-align: justify;
  306. -webkit-hyphens: auto;
  307. -ms-hyphens: auto;
  308. hyphens: auto;
  309. }
  310. }
  311. article + article {
  312. margin-top: var(--deus-post-spacing);
  313. }
  314. /*=--------------=*/
  315. /*= Post titles. =*/
  316. /*=--------------=*/
  317. article h1 {
  318. float: right;
  319. margin:
  320. calc(-1 * var(--deus-post-padding) - var(--deus-box-border-width))
  321. calc(-1 * var(--deus-post-padding) - var(--deus-box-border-width))
  322. var(--deus-post-padding)
  323. calc(1.5 * var(--deus-post-padding));
  324. padding:
  325. calc(0.5 * var(--deus-post-padding))
  326. var(--deus-post-padding);
  327. background-color: var(--deus-box-background-color);
  328. border: var(--deus-box-border-width) solid var(--deus-box-border-color);
  329. box-shadow:
  330. 0 0 0 1px var(--deus-box-shadow-color),
  331. calc(-1 * var(--deus-post-heading-spacing)) calc(var(--deus-post-heading-spacing)) 0 1px var(--deus-body-background-color),
  332. calc(-1 * var(--deus-post-heading-spacing)) 0 0 1px var(--deus-body-background-color),
  333. 0 calc(var(--deus-post-heading-spacing)) 0 1px var(--deus-body-background-color),
  334. calc(-1 * calc(var(--deus-post-heading-spacing) + 1px)) var(--deus-box-border-width) 0 var(--deus-box-border-width) var(--deus-box-shadow-color),
  335. calc(-1 * var(--deus-box-border-width)) calc(var(--deus-post-heading-spacing) + 1px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color),
  336. calc(-1 * calc(var(--deus-post-heading-spacing) + 1px)) calc(var(--deus-post-heading-spacing) + 1px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color),
  337. calc(-1 * calc(var(--deus-post-heading-spacing) + 2px)) var(--deus-box-border-width) 0 var(--deus-box-border-width) var(--deus-box-border-color),
  338. calc(-1 * var(--deus-box-border-width)) calc(var(--deus-post-heading-spacing) + 2px) 0 var(--deus-box-border-width) var(--deus-box-border-color),
  339. calc(-1 * calc(var(--deus-post-heading-spacing) + 2px)) calc(var(--deus-post-heading-spacing) + 2px) 0 var(--deus-box-border-width) var(--deus-box-border-color);
  340. font-family: var(--deus-heading-font);
  341. font-size: var(--deus-heading-font-size);
  342. font-weight: var(--deus-heading-font-weight);
  343. color: var(--deus-heading-text-color);
  344. font-feature-settings: var(--deus-heading-font-opentype-features);
  345. font-variant: var(--deus-heading-font-variant);
  346. letter-spacing: var(--deus-heading-letter-spacing);
  347. /* Workaround for baseline bug in “Spectral” font.
  348. */
  349. padding-top: calc(0.5 * var(--deus-post-padding) + 0.125em);
  350. }
  351. @media only screen and (min-resolution: 192dpi) {
  352. article h1 {
  353. border: none;
  354. box-shadow:
  355. 0 0 0 0.5px var(--deus-box-shadow-color),
  356. 0 0 0 0.5px var(--deus-box-shadow-color-intermediate-retina) inset,
  357. 0 0 0 1px var(--deus-box-border-color) inset,
  358. 0 0 0 1.5px var(--deus-box-shadow-color-intermediate-retina) inset,
  359. calc(-1 * (var(--deus-post-heading-spacing) + 1px)) calc(var(--deus-post-heading-spacing) + 1px) 0 1px var(--deus-body-background-color),
  360. calc(-1 * (var(--deus-post-heading-spacing) + 1px)) 0 0 1px var(--deus-body-background-color),
  361. 0 calc(var(--deus-post-heading-spacing) + 1px) 0 1px var(--deus-body-background-color),
  362. calc(-1 * calc(var(--deus-post-heading-spacing) + 1.5px)) calc(var(--deus-box-border-width) + 0.0px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color),
  363. calc(-1 * (var(--deus-box-border-width) + 0.0px)) calc(var(--deus-post-heading-spacing) + 1.5px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color),
  364. calc(-1 * calc(var(--deus-post-heading-spacing) + 1.5px)) calc(var(--deus-post-heading-spacing) + 1.5px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color),
  365. calc(-1 * calc(var(--deus-post-heading-spacing) + 2px)) calc(var(--deus-box-border-width) + 0.5px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color-intermediate-retina),
  366. calc(-1 * (var(--deus-box-border-width) + 0.5px)) calc(var(--deus-post-heading-spacing) + 2px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color-intermediate-retina),
  367. calc(-1 * calc(var(--deus-post-heading-spacing) + 2px)) calc(var(--deus-post-heading-spacing) + 2px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color-intermediate-retina),
  368. calc(-1 * calc(var(--deus-post-heading-spacing) + 2.5px)) calc(var(--deus-box-border-width) + 1px) 0 var(--deus-box-border-width) var(--deus-box-border-color),
  369. calc(-1 * (var(--deus-box-border-width) + 1px)) calc(var(--deus-post-heading-spacing) + 2.5px) 0 var(--deus-box-border-width) var(--deus-box-border-color),
  370. calc(-1 * calc(var(--deus-post-heading-spacing) + 2.5px)) calc(var(--deus-post-heading-spacing) + 2.5px) 0 var(--deus-box-border-width) var(--deus-box-border-color),
  371. calc(-1 * calc(var(--deus-post-heading-spacing) + 3px)) calc(var(--deus-box-border-width) + 1.5px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color-intermediate-retina),
  372. calc(-1 * (var(--deus-box-border-width) + 1.5px)) calc(var(--deus-post-heading-spacing) + 3px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color-intermediate-retina),
  373. calc(-1 * calc(var(--deus-post-heading-spacing) + 3px)) calc(var(--deus-post-heading-spacing) + 3px) 0 var(--deus-box-border-width) var(--deus-box-shadow-color-intermediate-retina);
  374. }
  375. }
  376. article h1 a {
  377. text-shadow: 2px 2px 1px var(--deus-link-text-shadow-color);
  378. }
  379. article h1 a:hover {
  380. text-decoration: none;
  381. }
  382. /*=--------------=*/
  383. /*= “More” link. =*/
  384. /*=--------------=*/
  385. article .more-link {
  386. text-align: right;
  387. font-size: 0.875em;
  388. line-height: 1;
  389. }
  390. article .more-link a {
  391. font-weight: 500;
  392. }
  393. /*=-------------=*/
  394. /*= Paragraphs. =*/
  395. /*=-------------=*/
  396. article p {
  397. margin: 0 0 var(--deus-body-text-paragraph-spacing) 0;
  398. }
  399. article p:last-child {
  400. margin: 0 0 0 0;
  401. }
  402. /*=---------=*/
  403. /*= Images. =*/
  404. /*=---------=*/
  405. article img {
  406. display: block;
  407. max-width: 100%;
  408. }
  409. article .img {
  410. display: block;
  411. max-width: 100%;
  412. border: 1px solid var(--deus-image-border-color);
  413. }
  414. article .img.full {
  415. margin: 2em 0 1.5em 0;
  416. }
  417. article .img.left {
  418. float: left;
  419. clear: both;
  420. max-width: 50%;
  421. margin: 0.25em 1em 0.5em 0;
  422. }
  423. article .img.left ~ p {
  424. float: right;
  425. clear: right;
  426. max-width: calc(50% - 1em);
  427. }
  428. article .img.right {
  429. float: right;
  430. clear: both;
  431. max-width: 50%;
  432. margin: 0.25em 0 0.5em 1em;
  433. }
  434. article .img.right ~ p {
  435. float: left;
  436. clear: left;
  437. max-width: calc(50% - 1em);
  438. }
  439. article .img.left ~ hr ~ p,
  440. article .img.right ~ hr ~ p {
  441. float: none;
  442. max-width: unset;
  443. }
  444. /*=-----------=*/
  445. /*= Sections. =*/
  446. /*=-----------=*/
  447. section::after {
  448. content: "";
  449. display: block;
  450. clear: both;
  451. }
  452. section + section {
  453. margin-top: 4em;
  454. }
  455. /***********/
  456. /* GALLERY */
  457. /***********/
  458. main.gallery-layout {
  459. max-width: unset;
  460. display: grid;
  461. grid-template-columns: repeat(auto-fit, minmax(64ch, 1fr));
  462. grid-gap: 2.5rem;
  463. align-items: start;
  464. margin: 1rem 1rem 0 1rem;
  465. }
  466. main.gallery-layout article {
  467. grid-column-start: -2;
  468. grid-row: 1;
  469. margin-top: 5rem;
  470. }
  471. main.gallery-layout article h1 {
  472. border: none;
  473. background-color: transparent;
  474. box-shadow: none;
  475. float: none;
  476. padding: 0;
  477. margin: -7.5rem 0 2.75rem calc(-1 * var(--deus-post-padding));
  478. font-size: 3em;
  479. }
  480. .gallery img {
  481. display: block;
  482. max-width: 100%;
  483. border: 1px solid var(--deus-image-border-color);
  484. }
  485. .gallery {
  486. --deus-gallery-column-count: 12;
  487. --deus-gallery-grid-gap: 0.5em;
  488. display: grid;
  489. grid-template-columns: repeat(var(--deus-gallery-column-count), auto);
  490. grid-gap: var(--deus-gallery-grid-gap);
  491. align-content: start;
  492. }
  493. .gallery .large {
  494. grid-column: span 12;
  495. }
  496. .gallery .medium {
  497. grid-column: span 6;
  498. }
  499. .gallery .small {
  500. grid-column: span 4;
  501. }