style.css 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. /*
  2. _ _ ____ _
  3. _| || |_/ ___| ___ _ __ _ __ ___ | |
  4. |_ .. _\___ \ / _ \ '_ \| '_ \ / _ \| |
  5. |_ _|___) | __/ |_) | |_) | (_) |_|
  6. |_||_| |____/ \___| .__/| .__/ \___/(_)
  7. |_| |_|
  8. Personal Social Web.
  9. Copyright (C) The #Seppo contributors. All rights reserved.
  10. This program is free software: you can redistribute it and/or modify
  11. it under the terms of the GNU General Public License as published by
  12. the Free Software Foundation, either version 3 of the License, or
  13. (at your option) any later version.
  14. This program is distributed in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. GNU General Public License for more details.
  18. You should have received a copy of the GNU General Public License
  19. along with this program. If not, see <http://www.gnu.org/licenses/>.
  20. */
  21. :root {
  22. color-scheme: light dark;
  23. --bgRough: hsl(30,0%,93%);
  24. --bgFairway: hsl(30, 45%, 91%);
  25. --bg-color-entry: hsl(30, 45%, 88%);
  26. --btn-color: var(--bgRough);
  27. --text-color: hsl(30, 50%, 44%);
  28. --link-color: hsl(200, 50%, 44%);
  29. --link-color: hsl(206, 62%, 48%); /* https://css.land/lch/ from text-color -> blue*/
  30. --GW-dotted-underline-background-image: url('data:image/gif;base64,R0lGODlhBAACAPAAMYiIiP///ywAAAAABAACAAACBAQShgUAOw==');
  31. --GW-link-underline-gradient-line-color: var(--link-color);
  32. }
  33. @media (prefers-color-scheme: dark) {
  34. :root {
  35. --bgRough: #111;
  36. --bgFairway: #111;
  37. --bg-color-entry: #222;
  38. --btn-color: var(--bg-color-entry);
  39. --text-color: hsl(30, 35%, 59%);
  40. }
  41. }
  42. .script-active .noscript {
  43. display: none;
  44. }
  45. html {
  46. font-family: sans-serif;
  47. line-height: 1.5;
  48. font-size: 1rem;
  49. }
  50. html, input, textarea, .awesomplete > ul, .awesomplete > ul > li {
  51. background: var(--bgRough);
  52. color: var(--text-color);
  53. }
  54. body, .awesomplete > ul > li:hover {
  55. background: var(--bgFairway);
  56. }
  57. h1, .h1 {
  58. font-size: 2rem;
  59. font-weight: bold;
  60. line-height: 4rem;
  61. }
  62. h2, .h2 {
  63. font-size: 1.8rem;
  64. font-weight: bold;
  65. margin: 0;
  66. }
  67. body {
  68. margin: auto;
  69. max-width: 704px;
  70. min-height: 500px;
  71. padding: 8px;
  72. }
  73. #header {
  74. }
  75. div#banner {
  76. /* background-size: 100% 100%; */
  77. background-color: darkgrey;
  78. border-radius: 1ex;
  79. height: 240px;
  80. margin: -8px -8px 0px -8px;
  81. max-width: 720px;
  82. }
  83. #banner #banner-img {
  84. height: 240px;
  85. position: relative;
  86. }
  87. /* img rather than background because 3rd paty actors bring the url late */
  88. #banner #banner-img img {
  89. border-radius: 8px;
  90. height: 240px;
  91. position: absolute;
  92. width: 720px;
  93. }
  94. div#title {
  95. }
  96. div#avatar {
  97. position: relative;
  98. top: -.5em;
  99. }
  100. #avatar img {
  101. background-color: darkgrey;
  102. border-radius: 48px;
  103. border: 3px solid var(--bgRough);
  104. float: right;
  105. height: 96px;
  106. position: relative;
  107. width: 96px;
  108. }
  109. form {
  110. margin: .5rem 0;
  111. }
  112. #footer {
  113. margin-top: 2rem;
  114. }
  115. #footer, .footer {
  116. margin-bottom: 0;
  117. }
  118. #footer > a > img {
  119. border: none;
  120. height: 27px;
  121. opacity: 0.6;
  122. }
  123. .manytags body {
  124. max-width: initial;
  125. }
  126. a:any-link {
  127. /* gentle underlines https://www.gwern.net/Design */
  128. /* background-image: linear-gradient(var(--GW-link-underline-gradient-line-color), var(--GW-link-underline-gradient-line-color)); */
  129. /* background-image: var(--GW-dotted-underline-background-image); */
  130. /* background-position: 0% 100%;
  131. background-repeat: repeat-x;
  132. background-size: 1px 0.1ex; */
  133. border-bottom: 0.125em dotted var(--GW-link-underline-gradient-line-color);
  134. text-decoration: none;
  135. }
  136. button, .btn, input[type="checkbox"], input[type="submit"], a:any-link, label {
  137. color: var(--link-color);
  138. cursor: pointer;
  139. }
  140. button, .btn, a.btn, input, textarea {
  141. background: var(--btn-color);
  142. border-radius: .6em;
  143. border: 1px solid darkgrey;
  144. display: inline-block;
  145. font: inherit;
  146. margin: .25em;
  147. opacity: 99%; /* workaround disappering in dark mode */
  148. padding: .4em .6em;
  149. }
  150. button {
  151. min-width: 10em;
  152. }
  153. input, textarea {
  154. width: calc(100% - 2 * .5em - .75em); /* also makes the subscribe button line wrap */
  155. }
  156. textarea {
  157. height: initial;
  158. }
  159. button[name='delete_edit'] {
  160. background: hsla(0, 99%, 50%, 0.75);
  161. }
  162. p#tags.categories > a.tag[data-count="1"] {
  163. display:none;
  164. }
  165. p#tags {
  166. display:none;
  167. }
  168. #do-post {
  169. margin-top: -1rem;
  170. }
  171. #notifyme {
  172. padding: .25rem;
  173. }
  174. #entries {
  175. list-style: none;
  176. padding: 0;
  177. }
  178. #entries > li {
  179. clear: both;
  180. background: var(--bg-color-entry);
  181. border-radius: 0.5em;
  182. margin: 1.5em 0;
  183. padding: 0.35em;
  184. }
  185. #entries > li > h3 {
  186. margin: 0;
  187. }
  188. #entries > li > h3 img {
  189. display: none;
  190. border: 1px dotted black;
  191. float: right;
  192. max-height: 120px;
  193. max-width: 120px;
  194. }
  195. p {
  196. hyphens: auto;
  197. -moz-hyphens: auto;
  198. overflow: hidden;
  199. overflow-wrap: break-word;
  200. padding: 0.1em;
  201. -webkit-hyphens: auto;
  202. word-break: break-word;
  203. word-wrap: break-word;
  204. }
  205. p#tags {
  206. line-height: 1;
  207. }
  208. #snippets button {
  209. border: none;
  210. min-width: 1.5em;
  211. padding: .2em;
  212. margin: .05em;
  213. background: initial;
  214. }
  215. #snippets button:hover {
  216. background: rgba(255,255,255,0.5);
  217. }
  218. #snippets button.border {
  219. border: thin solid lightgrey;
  220. }
  221. /* a[data-count="1"] { display: none } */
  222. img.qrcode {
  223. background: hsl(115, 100%, 35%);
  224. height: 27px;
  225. width: 27px;
  226. }
  227. #banner form {
  228. padding: .25em;
  229. margin-top: -240px;
  230. }
  231. label {
  232. text-transform: capitalize;
  233. }
  234. table {
  235. width: 100%;
  236. }
  237. .text-left { text-align: left; }
  238. .text-right { text-align: right; }
  239. .text-center { text-align: center; }
  240. /* https://www.w3schools.com/Css/css_float.asp */
  241. .clearfix::after {
  242. clear: both;
  243. content: "";
  244. display: table;
  245. }
  246. @media only screen and (max-width: 600px) {
  247. .hidden-xs { display: none; }
  248. }
  249. .hidden-logged-in { display:initial; }
  250. .logged-in .hidden-logged-in { display:none; }
  251. .visible-logged-in { display:none; }
  252. .logged-in .visible-logged-in { display:initial; }
  253. .hidden-logged-out { display:initial; }
  254. .logged-out .hidden-logged-out { display:none; }
  255. .visible-logged-out { display:none; }
  256. .logged-out .visible-logged-out { display:initial; }
  257. /* This is a workaround for Browsers that insert additional br tags.
  258. * See http://purl.mro.name/safari-xslt-br-bug */
  259. .rendered.type-text br { display:none; }
  260. .rendered.type-text br.br { display:inline; }
  261. div.awesomplete {
  262. display: block;
  263. }
  264. .awesomplete > ul > li[aria-selected="true"] {
  265. background: hsl(30, 60%, 83%);
  266. }
  267. .awesomplete mark, .awesomplete li:hover mark, .awesomplete li[aria-selected="true"] mark {
  268. background: inherit;
  269. color: inherit;
  270. text-decoration: underline;
  271. }
  272. @media (prefers-color-scheme: dark) {
  273. .awesomplete > ul > li[aria-selected="true"] {
  274. background: hsl(30, 60%, 23%);
  275. }
  276. img {
  277. filter: grayscale(20%);
  278. }
  279. }
  280. .disabled, .btn.disabled, [disabled], .btn[disabled] {
  281. filter: grayscale(100%);
  282. opacity: 60%;
  283. pointer-events: none;
  284. }
  285. #head-grid {
  286. display: flex;
  287. justify-content: space-between;
  288. margin-bottom: calc(8.5rem - 4px);
  289. margin-top: calc(-15.5rem + 4px);
  290. padding: .25rem;
  291. }
  292. #head-grid a {
  293. height: 1.6em;
  294. }
  295. #form_notifyme input {
  296. width: initial;
  297. }
  298. #notify ul {
  299. list-style: none;
  300. padding: 0;
  301. }
  302. #notify li {
  303. padding: .25em;
  304. }
  305. #notify input {
  306. /* display: inline; */
  307. height: initial;
  308. min-height: initial;
  309. width: initial;
  310. }
  311. #notify input[type="submit"] {
  312. }
  313. #notify li.actor img {
  314. border-radius: 1rem;
  315. height: 2rem;
  316. margin-bottom: -.5rem;
  317. margin-left: .5rem;
  318. margin-right: .5rem;
  319. width: 2rem;
  320. }
  321. *.shaded *.noshade {
  322. display: none;
  323. }
  324. *.shaded *.noshade.highlight {
  325. display: initial;
  326. }
  327. li iframe {
  328. display: none;
  329. width: calc(100% - 2px);
  330. }
  331. li.highlight iframe {
  332. display: initial;
  333. }