1
0

base.css 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. /*
  2. DJANGO Admin styles
  3. */
  4. /* VARIABLE DEFINITIONS */
  5. html[data-theme="light"],
  6. :root {
  7. --primary: #79aec8;
  8. --secondary: #417690;
  9. --accent: #f5dd5d;
  10. --primary-fg: #fff;
  11. --body-fg: #333;
  12. --body-bg: #fff;
  13. --body-quiet-color: #666;
  14. --body-medium-color: #444;
  15. --body-loud-color: #000;
  16. --header-color: #ffc;
  17. --header-branding-color: var(--accent);
  18. --header-bg: var(--secondary);
  19. --header-link-color: var(--primary-fg);
  20. --breadcrumbs-fg: #c4dce8;
  21. --breadcrumbs-link-fg: var(--body-bg);
  22. --breadcrumbs-bg: #264b5d;
  23. --link-fg: #417893;
  24. --link-hover-color: #036;
  25. --link-selected-fg: var(--secondary);
  26. --hairline-color: #e8e8e8;
  27. --border-color: #ccc;
  28. --error-fg: #ba2121;
  29. --message-success-bg: #dfd;
  30. --message-warning-bg: #ffc;
  31. --message-error-bg: #ffefef;
  32. --darkened-bg: #f8f8f8; /* A bit darker than --body-bg */
  33. --selected-bg: #e4e4e4; /* E.g. selected table cells */
  34. --selected-row: #ffc;
  35. --button-fg: #fff;
  36. --button-bg: var(--secondary);
  37. --button-hover-bg: #205067;
  38. --default-button-bg: #205067;
  39. --default-button-hover-bg: var(--secondary);
  40. --close-button-bg: #747474;
  41. --close-button-hover-bg: #333;
  42. --delete-button-bg: #ba2121;
  43. --delete-button-hover-bg: #a41515;
  44. --object-tools-fg: var(--button-fg);
  45. --object-tools-bg: var(--close-button-bg);
  46. --object-tools-hover-bg: var(--close-button-hover-bg);
  47. --font-family-primary:
  48. "Segoe UI",
  49. system-ui,
  50. Roboto,
  51. "Helvetica Neue",
  52. Arial,
  53. sans-serif,
  54. "Apple Color Emoji",
  55. "Segoe UI Emoji",
  56. "Segoe UI Symbol",
  57. "Noto Color Emoji";
  58. --font-family-monospace:
  59. ui-monospace,
  60. Menlo,
  61. Monaco,
  62. "Cascadia Mono",
  63. "Segoe UI Mono",
  64. "Roboto Mono",
  65. "Oxygen Mono",
  66. "Ubuntu Monospace",
  67. "Source Code Pro",
  68. "Fira Mono",
  69. "Droid Sans Mono",
  70. "Courier New",
  71. monospace,
  72. "Apple Color Emoji",
  73. "Segoe UI Emoji",
  74. "Segoe UI Symbol",
  75. "Noto Color Emoji";
  76. color-scheme: light;
  77. }
  78. html, body {
  79. height: 100%;
  80. }
  81. body {
  82. margin: 0;
  83. padding: 0;
  84. font-size: 0.875rem;
  85. font-family: var(--font-family-primary);
  86. color: var(--body-fg);
  87. background: var(--body-bg);
  88. }
  89. /* LINKS */
  90. a:link, a:visited {
  91. color: var(--link-fg);
  92. text-decoration: none;
  93. transition: color 0.15s, background 0.15s;
  94. }
  95. a:focus, a:hover {
  96. color: var(--link-hover-color);
  97. }
  98. a:focus {
  99. text-decoration: underline;
  100. }
  101. a img {
  102. border: none;
  103. }
  104. a.section:link, a.section:visited {
  105. color: var(--header-link-color);
  106. text-decoration: none;
  107. }
  108. a.section:focus, a.section:hover {
  109. text-decoration: underline;
  110. }
  111. /* GLOBAL DEFAULTS */
  112. p, ol, ul, dl {
  113. margin: .2em 0 .8em 0;
  114. }
  115. p {
  116. padding: 0;
  117. line-height: 140%;
  118. }
  119. h1,h2,h3,h4,h5 {
  120. font-weight: bold;
  121. }
  122. h1 {
  123. margin: 0 0 20px;
  124. font-weight: 300;
  125. font-size: 1.25rem;
  126. }
  127. h2 {
  128. font-size: 1rem;
  129. margin: 1em 0 .5em 0;
  130. }
  131. h2.subhead {
  132. font-weight: normal;
  133. margin-top: 0;
  134. }
  135. h3 {
  136. font-size: 0.875rem;
  137. margin: .8em 0 .3em 0;
  138. color: var(--body-medium-color);
  139. font-weight: bold;
  140. }
  141. h4 {
  142. font-size: 0.75rem;
  143. margin: 1em 0 .8em 0;
  144. padding-bottom: 3px;
  145. color: var(--body-medium-color);
  146. }
  147. h5 {
  148. font-size: 0.625rem;
  149. margin: 1.5em 0 .5em 0;
  150. color: var(--body-quiet-color);
  151. text-transform: uppercase;
  152. letter-spacing: 1px;
  153. }
  154. ul > li {
  155. list-style-type: square;
  156. padding: 1px 0;
  157. }
  158. li ul {
  159. margin-bottom: 0;
  160. }
  161. li, dt, dd {
  162. font-size: 0.8125rem;
  163. line-height: 1.25rem;
  164. }
  165. dt {
  166. font-weight: bold;
  167. margin-top: 4px;
  168. }
  169. dd {
  170. margin-left: 0;
  171. }
  172. form {
  173. margin: 0;
  174. padding: 0;
  175. }
  176. fieldset {
  177. margin: 0;
  178. min-width: 0;
  179. padding: 0;
  180. border: none;
  181. border-top: 1px solid var(--hairline-color);
  182. }
  183. details summary {
  184. cursor: pointer;
  185. }
  186. blockquote {
  187. font-size: 0.6875rem;
  188. color: #777;
  189. margin-left: 2px;
  190. padding-left: 10px;
  191. border-left: 5px solid #ddd;
  192. }
  193. code, pre {
  194. font-family: var(--font-family-monospace);
  195. color: var(--body-quiet-color);
  196. font-size: 0.75rem;
  197. overflow-x: auto;
  198. }
  199. pre.literal-block {
  200. margin: 10px;
  201. background: var(--darkened-bg);
  202. padding: 6px 8px;
  203. }
  204. code strong {
  205. color: #930;
  206. }
  207. hr {
  208. clear: both;
  209. color: var(--hairline-color);
  210. background-color: var(--hairline-color);
  211. height: 1px;
  212. border: none;
  213. margin: 0;
  214. padding: 0;
  215. line-height: 1px;
  216. }
  217. /* TEXT STYLES & MODIFIERS */
  218. .small {
  219. font-size: 0.6875rem;
  220. }
  221. .mini {
  222. font-size: 0.625rem;
  223. }
  224. .help, p.help, form p.help, div.help, form div.help, div.help li {
  225. font-size: 0.6875rem;
  226. color: var(--body-quiet-color);
  227. }
  228. div.help ul {
  229. margin-bottom: 0;
  230. }
  231. .help-tooltip {
  232. cursor: help;
  233. }
  234. p img, h1 img, h2 img, h3 img, h4 img, td img {
  235. vertical-align: middle;
  236. }
  237. .quiet, a.quiet:link, a.quiet:visited {
  238. color: var(--body-quiet-color);
  239. font-weight: normal;
  240. }
  241. .clear {
  242. clear: both;
  243. }
  244. .nowrap {
  245. white-space: nowrap;
  246. }
  247. .hidden {
  248. display: none !important;
  249. }
  250. /* TABLES */
  251. table {
  252. border-collapse: collapse;
  253. border-color: var(--border-color);
  254. }
  255. td, th {
  256. font-size: 0.8125rem;
  257. line-height: 1rem;
  258. border-bottom: 1px solid var(--hairline-color);
  259. vertical-align: top;
  260. padding: 8px;
  261. }
  262. th {
  263. font-weight: 500;
  264. text-align: left;
  265. }
  266. thead th,
  267. tfoot td {
  268. color: var(--body-quiet-color);
  269. padding: 5px 10px;
  270. font-size: 0.6875rem;
  271. background: var(--body-bg);
  272. border: none;
  273. border-top: 1px solid var(--hairline-color);
  274. border-bottom: 1px solid var(--hairline-color);
  275. }
  276. tfoot td {
  277. border-bottom: none;
  278. border-top: 1px solid var(--hairline-color);
  279. }
  280. thead th.required {
  281. font-weight: bold;
  282. }
  283. tr.alt {
  284. background: var(--darkened-bg);
  285. }
  286. tr:nth-child(odd), .row-form-errors {
  287. background: var(--body-bg);
  288. }
  289. tr:nth-child(even),
  290. tr:nth-child(even) .errorlist,
  291. tr:nth-child(odd) + .row-form-errors,
  292. tr:nth-child(odd) + .row-form-errors .errorlist {
  293. background: var(--darkened-bg);
  294. }
  295. /* SORTABLE TABLES */
  296. thead th {
  297. padding: 5px 10px;
  298. line-height: normal;
  299. text-transform: uppercase;
  300. background: var(--darkened-bg);
  301. }
  302. thead th a:link, thead th a:visited {
  303. color: var(--body-quiet-color);
  304. }
  305. thead th.sorted {
  306. background: var(--selected-bg);
  307. }
  308. thead th.sorted .text {
  309. padding-right: 42px;
  310. }
  311. table thead th .text span {
  312. padding: 8px 10px;
  313. display: block;
  314. }
  315. table thead th .text a {
  316. display: block;
  317. cursor: pointer;
  318. padding: 8px 10px;
  319. }
  320. table thead th .text a:focus, table thead th .text a:hover {
  321. background: var(--selected-bg);
  322. }
  323. thead th.sorted a.sortremove {
  324. visibility: hidden;
  325. }
  326. table thead th.sorted:hover a.sortremove {
  327. visibility: visible;
  328. }
  329. table thead th.sorted .sortoptions {
  330. display: block;
  331. padding: 9px 5px 0 5px;
  332. float: right;
  333. text-align: right;
  334. }
  335. table thead th.sorted .sortpriority {
  336. font-size: .8em;
  337. min-width: 12px;
  338. text-align: center;
  339. vertical-align: 3px;
  340. margin-left: 2px;
  341. margin-right: 2px;
  342. }
  343. table thead th.sorted .sortoptions a {
  344. position: relative;
  345. width: 14px;
  346. height: 14px;
  347. display: inline-block;
  348. background: url(../img/sorting-icons.svg) 0 0 no-repeat;
  349. background-size: 14px auto;
  350. }
  351. table thead th.sorted .sortoptions a.sortremove {
  352. background-position: 0 0;
  353. }
  354. table thead th.sorted .sortoptions a.sortremove:after {
  355. content: '\\';
  356. position: absolute;
  357. top: -6px;
  358. left: 3px;
  359. font-weight: 200;
  360. font-size: 1.125rem;
  361. color: var(--body-quiet-color);
  362. }
  363. table thead th.sorted .sortoptions a.sortremove:focus:after,
  364. table thead th.sorted .sortoptions a.sortremove:hover:after {
  365. color: var(--link-fg);
  366. }
  367. table thead th.sorted .sortoptions a.sortremove:focus,
  368. table thead th.sorted .sortoptions a.sortremove:hover {
  369. background-position: 0 -14px;
  370. }
  371. table thead th.sorted .sortoptions a.ascending {
  372. background-position: 0 -28px;
  373. }
  374. table thead th.sorted .sortoptions a.ascending:focus,
  375. table thead th.sorted .sortoptions a.ascending:hover {
  376. background-position: 0 -42px;
  377. }
  378. table thead th.sorted .sortoptions a.descending {
  379. top: 1px;
  380. background-position: 0 -56px;
  381. }
  382. table thead th.sorted .sortoptions a.descending:focus,
  383. table thead th.sorted .sortoptions a.descending:hover {
  384. background-position: 0 -70px;
  385. }
  386. /* FORM DEFAULTS */
  387. input, textarea, select, .form-row p, form .button {
  388. margin: 2px 0;
  389. padding: 2px 3px;
  390. vertical-align: middle;
  391. font-family: var(--font-family-primary);
  392. font-weight: normal;
  393. font-size: 0.8125rem;
  394. }
  395. .form-row div.help {
  396. padding: 2px 3px;
  397. }
  398. textarea {
  399. vertical-align: top;
  400. }
  401. /*
  402. Minifiers remove the default (text) "type" attribute from "input" HTML tags.
  403. Add input:not([type]) to make the CSS stylesheet work the same.
  404. */
  405. input:not([type]), input[type=text], input[type=password], input[type=email],
  406. input[type=url], input[type=number], input[type=tel], textarea, select,
  407. .vTextField {
  408. border: 1px solid var(--border-color);
  409. border-radius: 4px;
  410. padding: 5px 6px;
  411. margin-top: 0;
  412. color: var(--body-fg);
  413. background-color: var(--body-bg);
  414. }
  415. /*
  416. Minifiers remove the default (text) "type" attribute from "input" HTML tags.
  417. Add input:not([type]) to make the CSS stylesheet work the same.
  418. */
  419. input:not([type]):focus, input[type=text]:focus, input[type=password]:focus,
  420. input[type=email]:focus, input[type=url]:focus, input[type=number]:focus,
  421. input[type=tel]:focus, textarea:focus, select:focus, .vTextField:focus {
  422. border-color: var(--body-quiet-color);
  423. }
  424. select {
  425. height: 1.875rem;
  426. }
  427. select[multiple] {
  428. /* Allow HTML size attribute to override the height in the rule above. */
  429. height: auto;
  430. min-height: 150px;
  431. }
  432. /* FORM BUTTONS */
  433. .button, input[type=submit], input[type=button], .submit-row input, a.button {
  434. background: var(--button-bg);
  435. padding: 10px 15px;
  436. border: none;
  437. border-radius: 4px;
  438. color: var(--button-fg);
  439. cursor: pointer;
  440. transition: background 0.15s;
  441. }
  442. a.button {
  443. padding: 4px 5px;
  444. }
  445. .button:active, input[type=submit]:active, input[type=button]:active,
  446. .button:focus, input[type=submit]:focus, input[type=button]:focus,
  447. .button:hover, input[type=submit]:hover, input[type=button]:hover {
  448. background: var(--button-hover-bg);
  449. }
  450. .button[disabled], input[type=submit][disabled], input[type=button][disabled] {
  451. opacity: 0.4;
  452. }
  453. .button.default, input[type=submit].default, .submit-row input.default {
  454. border: none;
  455. font-weight: 400;
  456. background: var(--default-button-bg);
  457. }
  458. .button.default:active, input[type=submit].default:active,
  459. .button.default:focus, input[type=submit].default:focus,
  460. .button.default:hover, input[type=submit].default:hover {
  461. background: var(--default-button-hover-bg);
  462. }
  463. .button[disabled].default,
  464. input[type=submit][disabled].default,
  465. input[type=button][disabled].default {
  466. opacity: 0.4;
  467. }
  468. /* MODULES */
  469. .module {
  470. border: none;
  471. margin-bottom: 30px;
  472. background: var(--body-bg);
  473. }
  474. .module p, .module ul, .module h3, .module h4, .module dl, .module pre {
  475. padding-left: 10px;
  476. padding-right: 10px;
  477. }
  478. .module blockquote {
  479. margin-left: 12px;
  480. }
  481. .module ul, .module ol {
  482. margin-left: 1.5em;
  483. }
  484. .module h3 {
  485. margin-top: .6em;
  486. }
  487. .module h2, .module caption, .inline-group h2 {
  488. margin: 0;
  489. padding: 8px;
  490. font-weight: 400;
  491. font-size: 0.8125rem;
  492. text-align: left;
  493. background: var(--header-bg);
  494. color: var(--header-link-color);
  495. }
  496. .module caption,
  497. .inline-group h2 {
  498. font-size: 0.75rem;
  499. letter-spacing: 0.5px;
  500. text-transform: uppercase;
  501. }
  502. .module table {
  503. border-collapse: collapse;
  504. }
  505. /* MESSAGES & ERRORS */
  506. ul.messagelist {
  507. padding: 0;
  508. margin: 0;
  509. }
  510. ul.messagelist li {
  511. display: block;
  512. font-weight: 400;
  513. font-size: 0.8125rem;
  514. padding: 10px 10px 10px 65px;
  515. margin: 0 0 10px 0;
  516. background: var(--message-success-bg) url(../img/icon-yes.svg) 40px 12px no-repeat;
  517. background-size: 16px auto;
  518. color: var(--body-fg);
  519. word-break: break-word;
  520. }
  521. ul.messagelist li.warning {
  522. background: var(--message-warning-bg) url(../img/icon-alert.svg) 40px 14px no-repeat;
  523. background-size: 14px auto;
  524. }
  525. ul.messagelist li.error {
  526. background: var(--message-error-bg) url(../img/icon-no.svg) 40px 12px no-repeat;
  527. background-size: 16px auto;
  528. }
  529. .errornote {
  530. font-size: 0.875rem;
  531. font-weight: 700;
  532. display: block;
  533. padding: 10px 12px;
  534. margin: 0 0 10px 0;
  535. color: var(--error-fg);
  536. border: 1px solid var(--error-fg);
  537. border-radius: 4px;
  538. background-color: var(--body-bg);
  539. background-position: 5px 12px;
  540. overflow-wrap: break-word;
  541. }
  542. ul.errorlist {
  543. margin: 0 0 4px;
  544. padding: 0;
  545. color: var(--error-fg);
  546. background: var(--body-bg);
  547. }
  548. ul.errorlist li {
  549. font-size: 0.8125rem;
  550. display: block;
  551. margin-bottom: 4px;
  552. overflow-wrap: break-word;
  553. }
  554. ul.errorlist li:first-child {
  555. margin-top: 0;
  556. }
  557. ul.errorlist li a {
  558. color: inherit;
  559. text-decoration: underline;
  560. }
  561. td ul.errorlist {
  562. margin: 0;
  563. padding: 0;
  564. }
  565. td ul.errorlist li {
  566. margin: 0;
  567. }
  568. .form-row.errors {
  569. margin: 0;
  570. border: none;
  571. border-bottom: 1px solid var(--hairline-color);
  572. background: none;
  573. }
  574. .form-row.errors ul.errorlist li {
  575. padding-left: 0;
  576. }
  577. .errors input, .errors select, .errors textarea,
  578. td ul.errorlist + input, td ul.errorlist + select, td ul.errorlist + textarea {
  579. border: 1px solid var(--error-fg);
  580. }
  581. .description {
  582. font-size: 0.75rem;
  583. padding: 5px 0 0 12px;
  584. }
  585. /* BREADCRUMBS */
  586. div.breadcrumbs {
  587. background: var(--breadcrumbs-bg);
  588. padding: 10px 40px;
  589. border: none;
  590. color: var(--breadcrumbs-fg);
  591. text-align: left;
  592. }
  593. div.breadcrumbs a {
  594. color: var(--breadcrumbs-link-fg);
  595. }
  596. div.breadcrumbs a:focus, div.breadcrumbs a:hover {
  597. color: var(--breadcrumbs-fg);
  598. }
  599. /* ACTION ICONS */
  600. .viewlink, .inlineviewlink {
  601. padding-left: 16px;
  602. background: url(../img/icon-viewlink.svg) 0 1px no-repeat;
  603. }
  604. .hidelink {
  605. padding-left: 16px;
  606. background: url(../img/icon-hidelink.svg) 0 1px no-repeat;
  607. }
  608. .addlink {
  609. padding-left: 16px;
  610. background: url(../img/icon-addlink.svg) 0 1px no-repeat;
  611. }
  612. .changelink, .inlinechangelink {
  613. padding-left: 16px;
  614. background: url(../img/icon-changelink.svg) 0 1px no-repeat;
  615. }
  616. .deletelink {
  617. padding-left: 16px;
  618. background: url(../img/icon-deletelink.svg) 0 1px no-repeat;
  619. }
  620. a.deletelink:link, a.deletelink:visited {
  621. color: #CC3434; /* XXX Probably unused? */
  622. }
  623. a.deletelink:focus, a.deletelink:hover {
  624. color: #993333; /* XXX Probably unused? */
  625. text-decoration: none;
  626. }
  627. /* OBJECT TOOLS */
  628. .object-tools {
  629. font-size: 0.625rem;
  630. font-weight: bold;
  631. padding-left: 0;
  632. float: right;
  633. position: relative;
  634. margin-top: -48px;
  635. }
  636. .object-tools li {
  637. display: block;
  638. float: left;
  639. margin-left: 5px;
  640. height: 1rem;
  641. }
  642. .object-tools a {
  643. border-radius: 15px;
  644. }
  645. .object-tools a:link, .object-tools a:visited {
  646. display: block;
  647. float: left;
  648. padding: 3px 12px;
  649. background: var(--object-tools-bg);
  650. color: var(--object-tools-fg);
  651. font-weight: 400;
  652. font-size: 0.6875rem;
  653. text-transform: uppercase;
  654. letter-spacing: 0.5px;
  655. }
  656. .object-tools a:focus, .object-tools a:hover {
  657. background-color: var(--object-tools-hover-bg);
  658. }
  659. .object-tools a:focus{
  660. text-decoration: none;
  661. }
  662. .object-tools a.viewsitelink, .object-tools a.addlink {
  663. background-repeat: no-repeat;
  664. background-position: right 7px center;
  665. padding-right: 26px;
  666. }
  667. .object-tools a.viewsitelink {
  668. background-image: url(../img/tooltag-arrowright.svg);
  669. }
  670. .object-tools a.addlink {
  671. background-image: url(../img/tooltag-add.svg);
  672. }
  673. /* OBJECT HISTORY */
  674. #change-history table {
  675. width: 100%;
  676. }
  677. #change-history table tbody th {
  678. width: 16em;
  679. }
  680. #change-history .paginator {
  681. color: var(--body-quiet-color);
  682. border-bottom: 1px solid var(--hairline-color);
  683. background: var(--body-bg);
  684. overflow: hidden;
  685. }
  686. /* PAGE STRUCTURE */
  687. #container {
  688. position: relative;
  689. width: 100%;
  690. min-width: 980px;
  691. padding: 0;
  692. display: flex;
  693. flex-direction: column;
  694. height: 100%;
  695. }
  696. #container > .main {
  697. display: flex;
  698. flex: 1 0 auto;
  699. }
  700. .main > .content {
  701. flex: 1 0;
  702. max-width: 100%;
  703. }
  704. .skip-to-content-link {
  705. position: absolute;
  706. top: -999px;
  707. margin: 5px;
  708. padding: 5px;
  709. background: var(--body-bg);
  710. z-index: 1;
  711. }
  712. .skip-to-content-link:focus {
  713. left: 0px;
  714. top: 0px;
  715. }
  716. #content {
  717. padding: 20px 40px;
  718. }
  719. .dashboard #content {
  720. width: 600px;
  721. }
  722. #content-main {
  723. float: left;
  724. width: 100%;
  725. }
  726. #content-related {
  727. float: right;
  728. width: 260px;
  729. position: relative;
  730. margin-right: -300px;
  731. }
  732. @media (forced-colors: active) {
  733. #content-related {
  734. border: 1px solid;
  735. }
  736. }
  737. /* COLUMN TYPES */
  738. .colMS {
  739. margin-right: 300px;
  740. }
  741. .colSM {
  742. margin-left: 300px;
  743. }
  744. .colSM #content-related {
  745. float: left;
  746. margin-right: 0;
  747. margin-left: -300px;
  748. }
  749. .colSM #content-main {
  750. float: right;
  751. }
  752. .popup .colM {
  753. width: auto;
  754. }
  755. /* HEADER */
  756. #header {
  757. width: auto;
  758. height: auto;
  759. display: flex;
  760. justify-content: space-between;
  761. align-items: center;
  762. padding: 10px 40px;
  763. background: var(--header-bg);
  764. color: var(--header-color);
  765. }
  766. #header a:link, #header a:visited, #logout-form button {
  767. color: var(--header-link-color);
  768. }
  769. #header a:focus , #header a:hover {
  770. text-decoration: underline;
  771. }
  772. @media (forced-colors: active) {
  773. #header {
  774. border-bottom: 1px solid;
  775. }
  776. }
  777. #branding {
  778. display: flex;
  779. }
  780. #site-name {
  781. padding: 0;
  782. margin: 0;
  783. margin-inline-end: 20px;
  784. font-weight: 300;
  785. font-size: 1.5rem;
  786. color: var(--header-branding-color);
  787. }
  788. #site-name a:link, #site-name a:visited {
  789. color: var(--accent);
  790. }
  791. #branding h2 {
  792. padding: 0 10px;
  793. font-size: 0.875rem;
  794. margin: -8px 0 8px 0;
  795. font-weight: normal;
  796. color: var(--header-color);
  797. }
  798. #branding a:hover {
  799. text-decoration: none;
  800. }
  801. #logout-form {
  802. display: inline;
  803. }
  804. #logout-form button {
  805. background: none;
  806. border: 0;
  807. cursor: pointer;
  808. font-family: var(--font-family-primary);
  809. }
  810. #user-tools {
  811. float: right;
  812. margin: 0 0 0 20px;
  813. text-align: right;
  814. }
  815. #user-tools, #logout-form button{
  816. padding: 0;
  817. font-weight: 300;
  818. font-size: 0.6875rem;
  819. letter-spacing: 0.5px;
  820. text-transform: uppercase;
  821. }
  822. #user-tools a, #logout-form button {
  823. border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  824. }
  825. #user-tools a:focus, #user-tools a:hover,
  826. #logout-form button:active, #logout-form button:hover {
  827. text-decoration: none;
  828. border-bottom: 0;
  829. }
  830. #logout-form button:active, #logout-form button:hover {
  831. margin-bottom: 1px;
  832. }
  833. /* SIDEBAR */
  834. #content-related {
  835. background: var(--darkened-bg);
  836. }
  837. #content-related .module {
  838. background: none;
  839. }
  840. #content-related h3 {
  841. color: var(--body-quiet-color);
  842. padding: 0 16px;
  843. margin: 0 0 16px;
  844. }
  845. #content-related h4 {
  846. font-size: 0.8125rem;
  847. }
  848. #content-related p {
  849. padding-left: 16px;
  850. padding-right: 16px;
  851. }
  852. #content-related .actionlist {
  853. padding: 0;
  854. margin: 16px;
  855. }
  856. #content-related .actionlist li {
  857. line-height: 1.2;
  858. margin-bottom: 10px;
  859. padding-left: 18px;
  860. }
  861. #content-related .module h2 {
  862. background: none;
  863. padding: 16px;
  864. margin-bottom: 16px;
  865. border-bottom: 1px solid var(--hairline-color);
  866. font-size: 1.125rem;
  867. color: var(--body-fg);
  868. }
  869. .delete-confirmation form input[type="submit"] {
  870. background: var(--delete-button-bg);
  871. border-radius: 4px;
  872. padding: 10px 15px;
  873. color: var(--button-fg);
  874. }
  875. .delete-confirmation form input[type="submit"]:active,
  876. .delete-confirmation form input[type="submit"]:focus,
  877. .delete-confirmation form input[type="submit"]:hover {
  878. background: var(--delete-button-hover-bg);
  879. }
  880. .delete-confirmation form .cancel-link {
  881. display: inline-block;
  882. vertical-align: middle;
  883. height: 0.9375rem;
  884. line-height: 0.9375rem;
  885. border-radius: 4px;
  886. padding: 10px 15px;
  887. color: var(--button-fg);
  888. background: var(--close-button-bg);
  889. margin: 0 0 0 10px;
  890. }
  891. .delete-confirmation form .cancel-link:active,
  892. .delete-confirmation form .cancel-link:focus,
  893. .delete-confirmation form .cancel-link:hover {
  894. background: var(--close-button-hover-bg);
  895. }
  896. /* POPUP */
  897. .popup #content {
  898. padding: 20px;
  899. }
  900. .popup #container {
  901. min-width: 0;
  902. }
  903. .popup #header {
  904. padding: 10px 20px;
  905. }
  906. /* PAGINATOR */
  907. .paginator {
  908. display: flex;
  909. align-items: center;
  910. gap: 4px;
  911. font-size: 0.8125rem;
  912. padding-top: 10px;
  913. padding-bottom: 10px;
  914. line-height: 22px;
  915. margin: 0;
  916. border-top: 1px solid var(--hairline-color);
  917. width: 100%;
  918. }
  919. .paginator a:link, .paginator a:visited {
  920. padding: 2px 6px;
  921. background: var(--button-bg);
  922. text-decoration: none;
  923. color: var(--button-fg);
  924. }
  925. .paginator a.showall {
  926. border: none;
  927. background: none;
  928. color: var(--link-fg);
  929. }
  930. .paginator a.showall:focus, .paginator a.showall:hover {
  931. background: none;
  932. color: var(--link-hover-color);
  933. }
  934. .paginator .end {
  935. margin-right: 6px;
  936. }
  937. .paginator .this-page {
  938. padding: 2px 6px;
  939. font-weight: bold;
  940. font-size: 0.8125rem;
  941. vertical-align: top;
  942. }
  943. .paginator a:focus, .paginator a:hover {
  944. color: white;
  945. background: var(--link-hover-color);
  946. }
  947. .paginator input {
  948. margin-left: auto;
  949. }
  950. .base-svgs {
  951. display: none;
  952. }
  953. .visually-hidden {
  954. position: absolute;
  955. width: 1px;
  956. height: 1px;
  957. padding: 0;
  958. overflow: hidden;
  959. clip: rect(0,0,0,0);
  960. white-space: nowrap;
  961. border: 0;
  962. color: var(--body-fg);
  963. background-color: var(--body-bg);
  964. }