/*
 * In admin/style folder, run, for development:
 * sass --watch --no-charset ./scss:./
 *
 * And, for production
 * sass --watch --no-source-map --no-charset --style=compressed ./scss:./
 */
/** --------------------------------------------------
    Start
--------------------------------------------------- */
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  min-width: 0; /* cf https://raphaelgoetter.wordpress.com/2016/11/09/flexbox-min-width-0-is-the-new-zoom-1/ */
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img {
  /* max-width: 100%; don't do this with unsized SVG used as it may cause unexpected behavior */
  /* display: block; do not display:block for img! */
}

picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

p {
  text-wrap: pretty;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  text-wrap: balance;
}

#root,
#__next {
  isolation: isolate;
}

/* Rebase */
html {
  font-size: 100%;
  text-size-adjust: 100%;
  padding: 0;
}

body {
  padding: 0;
}

a {
  background: transparent;
}
a:focus {
  outline: thin dotted;
}
a:active, a:hover {
  outline: none;
}
a img {
  border: none;
}

q,
cite {
  font-style: italic;
}

q::before,
q::after {
  content: "";
}

sup,
sub {
  font-size: calc(0.5em + 4px);
  font-size: round(nearest, 0.5em + 4px, 1px);
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: calc(-0.83 * (1em - 4px));
}

sub {
  top: calc(0.415 * (1em - 4px));
}

abbr[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

b,
strong {
  font-weight: bold;
  font-size: 0.9375em;
  font-size: round(nearest, 0.9375em, 1px);
}

small {
  font-size: 80%;
  font-size: round(nearest, 80%, 1px);
}

dfn {
  font-style: italic;
}

hr {
  box-sizing: content-box;
  height: 0;
}

mark {
  background: #ff0;
  color: #000;
}

code,
kbd,
pre,
samp {
  font-family: monospace, serif;
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
}

pre {
  white-space: pre-wrap;
}

fieldset {
  padding: 0;
  border: none;
}

input,
button,
select {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  font-size: round(nearest, 100%, 1px);
}

button,
input {
  line-height: normal;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type=checkbox],
input[type=radio] {
  padding: 0;
  border: none;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  margin-bottom: 1.5em;
}

td,
th {
  padding: 1px;
  vertical-align: top;
  text-align: left;
}

td:first-child,
th:first-child {
  empty-cells: hide;
}

ul {
  margin-block-start: 1em;
  margin-block-end: 1em;
}

/* scripts */
body > script {
  display: none !important;
}

/* Headings reset */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  font-weight: normal;
}

/* Screen-reader only */
.visually-hidden,
.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}

.visually-hidden:focus,
.visually-hidden:active {
  clip: auto;
  clip-path: none;
  height: auto;
  overflow: visible;
  position: static;
  width: auto;
  white-space: normal;
}

@font-face {
  font-family: Atkinson-Hyperlegible;
  src: url("font/Atkinson-Hyperlegible-Regular-102a.woff2") format("woff2");
}
@font-face {
  font-family: Atkinson-Hyperlegible;
  src: url("font/Atkinson-Hyperlegible-Bold-102a.woff2") format("woff2");
  font-weight: bold;
}
@font-face {
  font-family: Atkinson-Hyperlegible;
  src: url("font/Atkinson-Hyperlegible-Italic-102a.woff2") format("woff2");
  font-style: italic;
}
@font-face {
  font-family: Atkinson-Hyperlegible;
  src: url("font/Atkinson-Hyperlegible-BoldItalic-102a.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
}
:root {
  --dc-font: Atkinson-Hyperlegible;
  --sans-serif: var(--dc-font), system-ui, sans-serif;
  --sans-serif-input: inherit;
  --monospace: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
  --html-font-size: 62.5%;
  --dynamic-letter-spacing: clamp(-0.05em, calc((1em - 1rem) / -10), 0em);
  --body-font-size: 1.4rem;
  --body-font-size: round(nearest, 1.4rem, 1px);
  --collapser-width: 5px;
  --collapser-width-focus: calc(var(--collapser-width) * 3);
}

/** --------------------------------------------------
    Colors
--------------------------------------------------- */
html {
  --outgoing-link-filter: 0%;
  --outgoing-link-filter-header: 150%;
  --index-icon-contrast: 100%;
  --mark-attach-filter: hue-rotate(300deg) saturate(0.64);
  --mark-selected-filter: hue-rotate(300deg) saturate(0.64);
  --mark-pending-filter: none;
  --mark-locked-filter: none;
  --toolbar-btn-filter: none;
  /* Cope with automatic scheme */
  color-scheme: light dark;
}
html.light, html[data-theme=light],
html body.light-mode {
  /* forces light color-scheme */
  color-scheme: light;
  /* Hide dark stuff */
}
html.light .dark-only, html[data-theme=light] .dark-only,
html body.light-mode .dark-only {
  display: none !important;
}
html.dark, html[data-theme=dark],
html body.dark-mode {
  /* forces dark color-scheme */
  color-scheme: dark;
  /* Hide light stuff */
}
html.dark .light-only, html[data-theme=dark] .light-only,
html body.dark-mode .light-only {
  display: none !important;
}
html.dark, html[data-theme=dark],
html body.dark-mode {
  --outgoing-link-filter: 50%;
  --outgoing-link-filter-header: 100%;
  --index-icon-contrast: 130%;
  --mark-attach-filter: hue-rotate(260deg) saturate(100) saturate(0.2) brightness(220%);
  --mark-selected-filter: hue-rotate(260deg) saturate(100) saturate(0.2) brightness(220%);
  --mark-pending-filter: brightness(2);
  --mark-locked-filter: brightness(2);
  --toolbar-btn-filter: contrast(130%) brightness(1.5);
}

/* Colors */
:root {
  --body-color: light-dark(#323232, #dcdee0);
  --body-background: light-dark(#fff, #272b30);
  --title-color: light-dark(#676e78, #bcbec3);
  --title-alt-color: light-dark(#d33800, #ff6e3a);
  --scroll: light-dark(#395fa5, #bee74b);
  --header-color: light-dark(#fff, #dcdee0);
  --header-background: light-dark(#395fa5, #272b30);
  --header-background-alt: light-dark(#395fa5, #3b3b3b);
  --header-border: light-dark(#a2cbe9, #9ac123);
  --header-border-alt: light-dark(#323232, #303236);
  --header-border-safe: light-dark(#ffd478, #ffd478);
  --header-border-dirty: light-dark(#ff7878, #f783b3);
  --header-link-border: light-dark(#868686, #82878f);
  --header-active-color: light-dark(#d33800, #fff);
  --header-active-background: light-dark(#f3f3f3, #3b3b3b);
  --header-active-color-alt: light-dark(#fff, #fff);
  --header-active-background-alt: light-dark(#868686, #3b3b3b);
  --upgrade-mode: light-dark(#474885, #244656);
  --wrapper-background: var(--body-background);
  --content-background: var(--body-background);
  --tabs-color: light-dark(#323232, #ecedee);
  --tabs-border: light-dark(#c9c9c9, #ecedee);
  --tabs-background: light-dark(#f3f3f3, #494c52);
  --tabs-active-color: light-dark(#d33800, #fff);
  --tabs-active-background: light-dark(#fff, #3b3b3b);
  --main-menu-background: light-dark(#f3f3f3, #494c52);
  --main-menu-title-color: light-dark(#676e78, #c9cbcf);
  --main-menu-item-color: var(--body-color);
  --main-menu-item-border: light-dark(#caced2, #caced2);
  --main-menu-active-color: light-dark(#d30e60, #fff);
  --main-menu-active-background: light-dark(#fff, #3b3b3b);
  --main-menu-border: light-dark(#a2cbe9, #a2cbe9);
  --search-color: light-dark(#323232, #fff);
  --search-border: light-dark(#868686, #c9cbcf);
  --search-background: light-dark(#c9c9c9, #395fa5);
  --search-submit-color: light-dark(#fff, #fff);
  --search-outline: light-dark(#bee74b, #bee74b);
  --footer-background: var(--body-background);
  --footer-border: light-dark(#caced2, #caced2);
  --collapser-focus: light-dark(#395fa5, #9ac123);
  --collapser-background: var(--header-border);
  --collapser-background-dirty: var(--header-border-dirty);
  --collapser-btn-color: light-dark(#000, #000);
  --collapser-btn-hover-color: light-dark(#fff, #000);
  --popup-title-color: light-dark(#fff, #dcdee0);
  --popup-title-background: light-dark(#395fa5, #565a60);
  --breadcrumb-background: var(--body-background);
  --breadcrumb-border: light-dark(#caced2, #82878f);
  --breadcrumb-current: light-dark(#d30e60, #f783b3);
  --fieldset-pretty-title-color: light-dark(#d33800, #ff6e3a);
  --fieldset-smart-title-color: light-dark(#323232, #f3f4f5);
  --entry-sidebar-title-color: light-dark(#323232, #ecedee);
  --title-label-color: light-dark(#323232, #ecedee);
  --table-caption-color: var(--body-color);
  --head-border: light-dark(#dbdbdb, #dadbde);
  --head-background: light-dark(#f3f3f3, #565a60);
  --line-input-background: light-dark(#fff, #c9cbcf);
  --line-focus-background: light-dark(#ededed, #494c52);
  --cell-border: light-dark(#ececec, #ecedee);
  --cell-noborder-color: light-dark(#dbdbdb, #dadbde);
  --hr-color: light-dark(#395fa5, #caced2);
  --code-color: light-dark(#323232, #272b30);
  --code-background: light-dark(#fefacd, #fefacd);
  --link-color: light-dark(#436fc2, #76c2f1);
  --link-border: light-dark(#868686, #82878f);
  --discrete-link-color: light-dark(#323232, #dcdee0);
  --link-outline: light-dark(#bee74b, #bee74b);
  --fieldset-border: light-dark(#395fa5, #caced2);
  --fieldset-background: light-dark(#fff, #272b30);
  --fieldset-focus-background: light-dark(#ededed, #343a40);
  --invalid-input-color: light-dark(#000, #000);
  --invalid-input-border: light-dark(#ae323b, #ae323b);
  --invalid-input-background: light-dark(#ffbaba, #ffbaba);
  --input-color: light-dark(#000, #000);
  --input-background: light-dark(#f9f9f9, #ecedee);
  --input-border: light-dark(#595959, #747c87);
  --input-focus: light-dark(#bee74b, #bee74b);
  --input-file-color: var(--body-color);
  --input-file-background: var(--body-background);
  --form-note-color: light-dark(#676e78, #bce8f1);
  --required: light-dark(#ae323b, #f783b3);
  --button-color: light-dark(#000, #000);
  --button-border: light-dark(#395fa5, #82878f);
  --submit-color: light-dark(#fff, #fff);
  --submit-background: light-dark(#395fa5, #395fa5);
  --submit-border: light-dark(#caced2, #82878f);
  --reset-color: light-dark(#000, #fff);
  --reset-background: light-dark(#eaeaea, #343a40);
  --reset-background-alt: light-dark(#ffffff, #000);
  --delete-color: light-dark(#ae323b, #ff6e3a);
  --delete-hover-color: light-dark(#fff, #fff);
  --delete-hover-background: light-dark(#b33630, #b33630);
  --add-color: light-dark(#000, #000);
  --add-background: light-dark(#bee74b, #bee74b);
  --add-color-alt: light-dark(#628011, #628011);
  --add-background-alt: light-dark(#fff, #fff);
  --clone-color: light-dark(#7e2999, #eaeaea);
  --clone-background: light-dark(#eaeaea, #7e2999);
  --clone-hover-color: light-dark(#fff, #9f34c1);
  --clone-hover-background: light-dark(#9f34c1, #fff);
  --button-disabled-color: light-dark(#676e78, #f3f4f5);
  --button-disabled-background: light-dark(#f3f3f3, #343a40);
  --button-disabled-border: light-dark(#caced2, #82878f);
  --ajax-color: light-dark(#323232, #fff);
  --ajax-background: light-dark(#fff, #303236);
  --ajax-background-alt: light-dark(#a2cbe9, #395fa5);
  --ajax-border: light-dark(#395fa5, #676e78);
  --gotop-color: light-dark(#323232, #303236);
  --gotop-background: light-dark(transparent, transparent);
  --gotop-border: none;
  --addmeta-color: light-dark(#000, #fff);
  --addmeta-background: light-dark(transparent, transparent);
  --addmeta-focus-color: light-dark(#000, #000);
  --addmeta-focus-background: light-dark(#abd0eb, #abd0eb);
  --msg-color: light-dark(#fff, #fff);
  --msg-background: light-dark(#676e78, #676e78);
  --msg-background-alt: light-dark(#caced2, #caced2);
  --msg-info-color: light-dark(#323232, #fff);
  --msg-info-background: light-dark(#d9edf7, #494c52);
  --msg-info-border: light-dark(#868686, #494c52);
  --msg-warn-color: light-dark(#323232, #303236);
  --msg-warn-background: light-dark(#fefacd, #fefacd);
  --msg-warn-background-alt: light-dark(#ffd478, #ffd478);
  --msg-warn-border: light-dark(#868686, #fefacd);
  --msg-error-color: light-dark(#000, #000);
  --msg-error-background: light-dark(#ffbaba, #ffbaba);
  --msg-error-background-alt: light-dark(#fefacd, #fefacd);
  --msg-success-color: light-dark(#000, #000);
  --msg-success-background: light-dark(#bee74b, #bee74b);
  --msg-success-background-alt: light-dark(#9bca1c, #9bca1c);
  --dc-update-color: light-dark(#000, #000);
  --dc-update-background: light-dark(#a2cbe9, #a2cbe9);
  --dc-update-btn-color: light-dark(#000, #000);
  --dc-update-btn-background: light-dark(#9bca1c, #9bca1c);
  --dc-update-btn-border: light-dark(#fff, #c9cbcf);
  --dc-update-btn-background-active: light-dark(#fff, #caced2);
  --form-control-color: light-dark(#000, #fff);
  --filter-border: light-dark(#a2cbe9, #a2cbe9);
  --filter-options-border: light-dark(#c9c9c9, #c9cbcf);
  --filter-focus-background: light-dark(#ededed, #494c52);
  --prelude-color: light-dark(#323232, #303236);
  --prelude-background: light-dark(#a2cbe9, #a2cbe9);
  --prelude-background-alt: light-dark(#fff, #fff);
  --help-background: light-dark(#f3f3f3, #303236);
  --help-border: light-dark(#ffd478, #ffd478);
  --help-button-border: light-dark(#395fa5, #676e78);
  --help-button-background: light-dark(#f3f3f3, #303236);
  --help-title-color: light-dark(#395fa5, #a2cbe9);
  --tooltip-color: light-dark(#395fa5, #fff);
  --tooltip-background: light-dark(#ffffffe6, #000000e6);
  --ui-sortable-background: light-dark(#f0f8ff, #3d314e);
  --ui-sortable-background-bis: light-dark(#faebd7, #6d396e);
  --ui-sortable-background-ter: light-dark(#f6fffb, #2f4143);
  --login-fieldset-background: light-dark(#fff, #303236);
  --login-fieldset-border: light-dark(#9bca1c, #9bca1c);
  --index-link-color: light-dark(#323232, #ecedee);
  --index-link-border: light-dark(#868686, #82878f);
  --index-icon-background: light-dark(#f3f3f3, #565a60);
  --index-icon-border: light-dark(#395fa5, #ecedee);
  --index-icon-outline: light-dark(#bee74b, #3b3b3b);
  --index-icon-outline-color: light-dark(#f3f3f3, #3b3b3b);
  --quick-background: light-dark(#f9f9f9, #303236);
  --quick-border: light-dark(#395fa560, #dadbde60);
  --quick-info-background: light-dark(#d9edf7, #d9edf7);
  --quick-info-border: light-dark(#bce8f1, #bce8f1);
  --quick-info-color: light-dark(#323232, #303236);
  --index-box-border: light-dark(#395fa560, #caced260);
  --drag-n-drop-off: light-dark(#868686, #82878f);
  --drag-n-drop-on: light-dark(#4878d1, #bee74b);
  --blog-user-border: light-dark(#caced2, #caced2);
  --blog-super-background: light-dark(#d9edf780, #d9edf726);
  --blog-super-border: light-dark(#bee74b, #bee74b);
  --theme-box-border: light-dark(#dbdbdb, #dadbde);
  --theme-box-over: light-dark(#f3f3f3, #565a60);
  --theme-name-color: light-dark(#676e78, #c9cbcf);
  --theme-img-border: light-dark(#c9c9c9, #fff);
  --theme-img-shadow: light-dark(#3232321a, #3032361a);
  --theme-action-background: light-dark(#f3f3f3, #565a60);
  --theme-action-border: light-dark(#ececec, transparent);
  --theme-current-background: light-dark(#f3f3f3, #565a60);
  --theme-current-border: light-dark(#ececec, #ecedee);
  --theme-current-img-border: light-dark(#fff, #fff);
  --theme-current-name-color: light-dark(#d33800, #ff6e3a);
  --theme-tplset-dotty: light-dark(#a2cbe9, #9ac123);
  --theme-tplset-glaz: light-dark(#436fc2, #ff6e3a);
  --cat-placeholder-outline: light-dark(#436fc2, #76c2f1);
  --cat-line-border: light-dark(#caced2, #caced2);
  --subcat-line-border: light-dark(#dbdbdb, #dadbde);
  --media-folder-background: light-dark(transparent, transparent);
  --media-folder-border: light-dark(#c9c9c9, #ecedee);
  --media-folderup-border: light-dark(transparent, transparent);
  --media-folder-link: light-dark(#676e78, #c9cbcf);
  --media-item-border: light-dark(#395fa5, #dadbde);
  --media-item-border-private: light-dark(#c44d58, #c44d58);
  --media-files-border: light-dark(#dbdbdb, #dadbde);
  --media-item-active-background: light-dark(#f3f3f3, #3a3d41);
  --upload-color: light-dark(#556f0f, #556f0f);
  --upload-progress-color: light-dark(#fff, #fff);
  --upload-progress-background: light-dark(#556f0f, #556f0f);
  --upload-file-border: light-dark(#dbdbdb, #dadbde);
  --upload-error-color: light-dark(#ae323b, #ae323b);
  --modules-background: light-dark(#f3f3f3, #303236);
  --modules-border: light-dark(#a2cbe9, #a2cbe9);
  --modules-implies: light-dark(#436fc2, #76c2f1);
  --modules-requires: light-dark(#ae323b, #f783b3);
  --entry-sb-title-border: light-dark(#676e78, #fff);
  --entry-sb-background: light-dark(#fff, #494c52);
  --entry-sb-focus-background: light-dark(#ededed, #565a60);
  --entry-sb-spacer: light-dark(#dbdbdb, #f3f4f5);
  --entry-feedback-closed-color: light-dark(#d33800, #ff6e3a);
  --cols-list-border: light-dark(#ececec, #ecedee);
  --cols-list-border-alt: light-dark(#dbdbdb, #dadbde);
  --fav-list-border: light-dark(#ececec, #ecedee);
  --fav-list-border-alt: light-dark(#dbdbdb, #dadbde);
  --my-favs-border: light-dark(#9ac123, #9ac123);
  --charte-title: light-dark(#d33800, #ff6e3a);
  --charte-one-box-border: light-dark(#dbdbdb, #dadbde);
  --ac-results-background: light-dark(#fff, #303236);
  --ac-results-border: light-dark(#ffd478, #ffd478);
  --ac-results-over: light-dark(#fff, #fff);
  --ac-results-over-background: light-dark(#436fc2, #35a5ea);
  --nav-background: var(--body-background);
  --nav-prevnext: light-dark(#436fc2, #76c2f1);
  --nav-prevnext-background: light-dark(#f3f3f3, #303236);
  --onblog-link: light-dark(#323232, #ecedee);
  --onblog-link-background: light-dark(#ececec, #303236);
  --onblog-link-border: light-dark(#ececec, #ecedee);
  --pager-link: light-dark(#436fc2, #76c2f1);
  --pager-active: light-dark(#676e78, #c9cbcf);
  --pager-background: light-dark(#f3f3f3, #303236);
  --pager-background-over: light-dark(#dbdbdb, #565a60);
  --pager-off-background: light-dark(#fff, #676e78);
  --pager-input-background: light-dark(#fff, #fff);
  --pager-border: light-dark(#dbdbdb, #dadbde);
  --index-no-link: light-dark(#c9c9c9, #c9cbcf);
  --index-active: light-dark(#fff, #fff);
  --index-active-background: light-dark(#676e78, #676e78);
  --step: light-dark(#676e78, #676e78);
  --step-background: light-dark(#f3f3f3, #f3f4f5);
  --step-border: light-dark(#caced2, #caced2);
  --offline: light-dark(#676e78, #969aa1);
  --offline-background: light-dark(#f3f3f3, #303236);
  --rch-table-1st-color: light-dark(#c9c9c9, #c9cbcf);
  --rch-table-1st-background: light-dark(#595959, #565a60);
  --rch-table-1st-border: light-dark(#ececec, #ecedee);
  --rch-table-1st-link: light-dark(#bee74b, #bee74b);
  --rch-table-expand-color: var(--body-color);
  --rch-table-expand-background: var(--body-background);
  --rch-table-expand-border: light-dark(#ececec, #ecedee);
  --rch-table-td-link: light-dark(#436fc2, #bee74b);
  --switch-color: light-dark(#436fc2, #76c2f1);
  --switch-background: light-dark(#f3f3f3, #303236);
  --switch-active-color: light-dark(#323232, #fff);
  --toolbar-btn-background: light-dark(#fff, #272b31);
  --toolbar-btn-background-hover: light-dark(#fff, #3b3b3b);
  --toolbar-btn-border: light-dark(#fff, #272b31);
  --toolbar-btn-border-hover: light-dark(#395fa5, #fff);
  --badge-color: light-dark(#fff, #fff);
  --badge-border: light-dark(transparent, #dcdee0);
  --badge-std-background: light-dark(#d54e21, #d54e21);
  --badge-soft-background: light-dark(#9159b4, #9159b4);
  --badge-info-background: light-dark(#436fc2, #395fa5);
  --debug-color: light-dark(#282828, #282828);
  --debug-background: light-dark(#ffd478, #ffd478);
  --debug-border: light-dark(#ffd478, #ffd478);
}

@media (prefers-contrast: more) {
  :root {
    --link-color: light-dark(#395fa5, #76c2f1);
    --nav-prevnext: light-dark(#395fa5, #76c2f1);
    --pager-link: light-dark(#395fa5, #76c2f1);
    --breadcrumb-border: light-dark(#868686, #caced2);
    --index-icon-outline: light-dark(#bee74b, #395fa5);
    --quick-border: light-dark(#395fa5, #dadbde);
    --index-box-border: light-dark(#395fa5, #caced2);
  }
}
/** --------------------------------------------------
    Common rules
--------------------------------------------------- */
/* Typographie */
html {
  font-size: var(--html-font-size);
  font-size: round(nearest, var(--html-font-size), 1px);
  scrollbar-color: var(--scroll) transparent;
}
html.dynamic-letter-spacing * {
  letter-spacing: var(--dynamic-letter-spacing);
}

:not(html) {
  scrollbar-color: initial;
}

body {
  color: var(--body-color);
  background: var(--body-background);
  font-size: var(--body-font-size);
  font-size: round(nearest, var(--body-font-size), 1px);
  line-height: 1.5;
  font-family: var(--sans-serif);
  scroll-behavior: smooth;
}

:is(h2, h3, h4, h5, h6),
:is(.as_h3, .as_h4) {
  margin-top: 0;
  margin-bottom: 1em;
}

h2 {
  color: var(--title-color);
  font-size: 1.5em;
  font-size: round(nearest, 1.5em, 1px);
  font-weight: normal;
  line-height: 1.25;
  padding: 0 0 1.5em;
}

h3,
.as_h3 {
  color: var(--title-alt-color);
  font-size: 1.34em;
  font-size: round(nearest, 1.34em, 1px);
  font-weight: normal;
  line-height: 1.5;
  margin-top: 1em;
}

h4,
.as_h4 {
  color: var(--title-color);
  font-size: 1.16em;
  font-size: round(nearest, 1.16em, 1px);
  line-height: 1.5;
}

h5 {
  color: var(--title-color);
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  line-height: 1.5;
  font-weight: bold;
}

h6 {
  color: var(--title-color);
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  line-height: 1.5;
}

/* ------------------------------------------------------------------------------------
                              A11Y - Accessibilité
------------------------------------------------------------------------------------ */
/* Remove animations for folks who set their OS to reduce motion.
 1. Immediately jump any animation to the end point
 2. Remove transitions & fixed background attachment
 See: https://github.com/mozdevs/cssremedy/issues/11
*/
@media (prefers-reduced-motion: reduce) {
  *,
  ::before,
  ::after {
    animation-delay: -1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    background-attachment: initial !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
}
@media (prefers-contrast: more) {
  *:focus {
    outline: 2px solid currentcolor !important;
  }
}
/** --------------------------------------------------
    Layout
--------------------------------------------------- */
#dotclear-admin {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

#header {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 0.5em;
  justify-content: space-between;
  color: var(--header-color);
  background: var(--header-background);
  border-bottom: 4px solid var(--header-border);
  width: 100%;
  min-height: 3em;
  position: relative;
}

html.dirty #header {
  border-bottom-color: var(--header-border-dirty);
}
html.dirty #collapser,
html.dirty #collapser_btn {
  background-color: var(--collapser-background-dirty);
}

body.safe-mode #header {
  border-bottom-color: var(--header-border-safe);
}

h1,
:is(#top-info-blog, #top-info-user) {
  padding: 0.5em 0;
  margin: 0;
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
}

h1,
#top-info-user {
  display: table-cell;
}

#top-info-user {
  margin-inline-start: auto;
}

#top-info-blog {
  display: inline-flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.25em;
}

#header a.logout img {
  margin-inline-start: 0.25em;
}

#wrapper {
  background: var(--wrapper-background);
  position: relative;
  float: left;
  width: 100%;
  z-index: 10;
  flex: 1;
}

#main {
  width: 100%;
  float: right;
  margin-left: -14em;
  margin-top: 0;
}

#content {
  background: var(--content-background);
  margin: 0 0 0 14em;
  padding: 0.75em 1em 0.75em 2.5em;
}
#content.hide_collapser_btn {
  padding-left: 1.5em;
}

#main-menu {
  background: var(--main-menu-background);
  width: 14em;
  float: left;
  margin: 0;
  padding-top: 0.5em;
  padding-bottom: 1em;
  overflow: hidden;
}
#main-menu.sticky {
  position: sticky;
  top: 0;
}

#footer {
  background-color: var(--footer-background);
  border-top: 1px solid var(--footer-border);
  clear: both;
  position: relative;
  padding: 0.5em 0 0.5em 0.5em;
  text-align: left;
}

/* to hide main-menu */
#collapser {
  background: var(--collapser-background);
  position: absolute;
  top: 0;
  left: 14em;
  width: var(--collapser-width);
  height: 100%;
  overflow: hidden;
  display: block;
  border-right: 0;
  border-bottom: 0;
  z-index: 1;
  transition: none;
}
#collapser:is(:hover, :focus) {
  background: var(--collapser-focus);
  width: var(--collapser-width-focus);
}

#collapser_btn {
  position: absolute;
  top: 11em;
  left: 14em;
  writing-mode: vertical-lr;
  color: var(--collapser-btn-color);
  background: var(--collapser-background);
  border: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  padding: 0.75em 0.25em;
  z-index: 1;
}
#collapser_btn:is(:hover, :focus) {
  color: var(--collapser-btn-hover-color);
  background: var(--collapser-focus);
}

/* If collapser bar is hover, display btn has hover */
div:has(#collapser:is(:hover, :focus)) + #collapser_btn {
  color: var(--collapser-btn-hover-color);
  background: var(--collapser-focus);
}

/* If collapser btn is hover, display bar as hover */
#wrapper:has(#collapser_btn:is(:hover, :focus)) #collapser {
  background: var(--collapser-focus);
  width: var(--collapser-width-focus);
}

.expand-mm {
  display: none;
}

/* if main-menu is hidden */
.hide-mm #main {
  margin-left: 0;
}
.hide-mm #content {
  margin-left: var(--collapser-width);
}
.hide-mm #content > h2 {
  margin-left: calc(-1em - var(--collapser-width));
}
.hide-mm #main-menu {
  display: none;
}
.hide-mm #collapser,
.hide-mm #collapser_btn {
  left: 0;
}
.hide-mm .collapse-mm {
  display: none;
}
.hide-mm .expand-mm {
  display: block;
}

body.light-mode :is(.collapse-mm, .expand-mm),
body.dark-mode.upgrade-mode :is(.collapse-mm, .expand-mm) {
  filter: invert(1);
}

#wrapper.hide-mm {
  background: var(--content-background);
}

/* -------------------------------------------------------------- layout: two-cols */
.two-cols {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  row-gap: 1em;
  column-gap: 2em;
  clear: both;
}
.two-cols.clearfix {
  display: grid;
}
.two-cols .col {
  grid-column: span 3;
}
.two-cols .col70 {
  grid-column: span 4;
}
.two-cols .col30 {
  grid-column: span 2;
}
.two-cols .col100 {
  grid-column: span 6;
}

@media screen and (width <= 1024px) {
  .two-cols,
  .two-cols.clearfix {
    display: block;
  }
}
/* -------------------------------------------------------------- layout: three-cols */
.three-cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 1em;
  column-gap: 2em;
  clear: both;
}
.three-cols .col {
  grid-column: span 1;
}
.three-cols .col100 {
  grid-column: span 3;
}
.three-cols.clearfix {
  display: grid;
}

@media screen and (width <= 1024px) {
  .three-cols,
  .three-cols.clearfix {
    display: block;
  }
}
/* ------------------------------------------------- layout: optionnal one/two/three-boxes */
.one-box,
*:has(> .two-boxes),
*:has(> .three-boxes) {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  column-gap: 2em;
  row-gap: 1em;
}
.one-box.txt-left,
*:has(> .two-boxes).txt-left,
*:has(> .three-boxes).txt-left {
  justify-content: left;
}
.one-box.txt-center,
*:has(> .two-boxes).txt-center,
*:has(> .three-boxes).txt-center {
  justify-content: center;
}
.one-box.txt-right,
*:has(> .two-boxes).txt-right,
*:has(> .three-boxes).txt-right {
  justify-content: right;
}
.one-box > *,
*:has(> .two-boxes) > *,
*:has(> .three-boxes) > * {
  margin: 0;
}
.one-box > :is(legend, h3, h4, h5, hr),
*:has(> .two-boxes) > :is(legend, h3, h4, h5, hr),
*:has(> .three-boxes) > :is(legend, h3, h4, h5, hr) {
  width: 100%;
}
.one-box .wide,
*:has(> .two-boxes) .wide,
*:has(> .three-boxes) .wide {
  width: 100%;
}

.one-box {
  text-align: justify;
}

.two-boxes {
  width: calc((100% - 2em) / 2);
}

.three-boxes {
  width: calc((100% - 4em) / 3);
}

:is(.two-boxes, .three-boxes) {
  vertical-align: top;
  text-align: left;
}

/* ---------------------------------------------------------------- layout: popups */
.popup h1 {
  color: var(--popup-title-color);
  background: var(--popup-title-background);
  display: block;
  width: 100%;
  margin: 0;
  font-size: 1.5em;
  font-size: round(nearest, 1.5em, 1px);
  text-indent: 1em;
  line-height: 1.5em;
  font-weight: normal;
}
.popup #wrapper {
  display: block;
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
  background-position: 0 0;
}
.popup #main {
  margin: 0;
  padding: 0;
}
.popup #content {
  margin: 0;
  padding: 1em;
}
.popup #content h2 {
  margin: 0 0 1em 0;
  padding: 0;
}
.popup #footer p {
  border: none;
}

/* -------------------------------------------------------- layout: classes de complément */
.constrained {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.table {
  display: table;
}

.cell {
  display: table-cell;
  vertical-align: top;
}

.clear {
  clear: both;
}

.lclear {
  clear: left;
}

.clearer {
  height: 1px;
  font-size: 1px;
}

/* Micro clearfix thx to Nicolas Gallagher, replaced by display: flow-root (see https://css-tricks.com/display-flow-root/) */
.clearfix {
  display: flow-root;
}

.box {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  flex: 1 1 auto;
}
.box.small {
  flex-basis: 24em;
}
.box.medium {
  flex-basis: 42em;
}
.box.large {
  width: 100%;
}

.odd {
  margin-left: 0;
}

.even {
  margin-right: 0;
}

/* ------------------------------------------------------------------------------------
                              UN POIL DE MEDIA QUERIES
------------------------------------------------------------------------------------ */
@media screen and (width <= 1280px) {
  #header h1,
  #header h1 a {
    width: 10em;
    margin: 0;
  }
  h1 {
    width: 19.5em;
    display: inline-block;
    vertical-align: top;
    margin-right: 1em;
  }
  #top-info-blog {
    margin-right: 0.5em;
  }
  #top-info-blog #switchblog {
    max-width: 16em;
  }
  #top-info-blog a {
    margin-left: 2em;
  }
  #top-info-user {
    display: block;
    width: 100%;
  }
  #collapser,
  #collapser_btn {
    left: 17em;
  }
  #main {
    margin-left: -17em;
  }
  #content {
    margin: 0 0 0 17em;
  }
  #main-menu {
    width: 17em;
  }
  .three-boxes,
  .three-boxes .box {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (width <= 1024px) {
  #dashboard-boxes :is(.box.medium, .box.small, .box.large),
  :is(.box.medium, .box.small, .box.large) {
    width: 95%;
    margin: 0 auto;
  }
}
@media screen and (width <= 1024px) {
  #help-button {
    height: 26px;
    width: 26px;
    margin: 0;
    overflow: hidden;
  }
  #content.with-help #help-button {
    top: 10em;
  }
  :is(.one-box, .box),
  body:not(.popup) .two-boxes {
    width: 96%;
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (width <= 600px) {
  #header h1,
  #header h1 a {
    width: 42px !important;
    height: 42px;
  }
  :is(#wrapper, #main, #main-menu) {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
  }
  .hide-mm #main-menu {
    display: block;
  }
  #main-menu a {
    display: block;
    width: 100%;
  }
  #main-menu h3 a {
    display: inline;
  }
  #content,
  .hide-mm #content {
    margin: 0;
  }
  #collapser,
  #collapser_btn {
    display: none;
  }
  #main #content > h2 {
    margin: 0 -0.25em 1em;
  }
  #dashboard-boxes :is(.box.medium, .box.small, .box.large),
  :is(.box.medium, .box.small, .box.large) {
    width: 95%;
    margin: 0 auto;
  }
  .cell,
  #filters-form .cell {
    display: inline-block;
    vertical-align: bottom;
  }
}
@media screen and (width <= 600px) {
  .nomobile {
    display: none;
  }
  #top-info-blog {
    max-width: 75%;
  }
  #header a.logout img {
    margin-inline-start: 0;
  }
  #content.with-help #help-button {
    top: 10em;
    right: 28rem;
  }
  #content.with-help #help {
    width: 28rem;
  }
  p.top-add,
  p.new-stuff {
    margin-bottom: 0.5em;
  }
  .part-tabs ul,
  .pseudo-tabs ul {
    margin: 1em 0;
  }
  .part-tabs li a,
  .pseudo-tabs li a {
    display: block;
    width: 100%;
  }
  #icons p {
    width: 9em;
  }
  .media-item {
    width: 90%;
  }
  :is(#theme-new, #theme-activate, #theme-deactivate) {
    margin-left: 0;
    margin-right: 0;
  }
  body.popup .two-boxes {
    width: 96%;
    margin-left: 0;
    margin-right: 0;
  }
  .box.current-theme {
    margin: 5px;
    width: 100%;
  }
  .current-theme .module-sshot img {
    margin: 0;
    float: none;
    max-width: 100%;
  }
  table .maximal {
    min-width: 14em;
  }
}
/** --------------------------------------------------
    Elements
--------------------------------------------------- */
/* ------------------------------------------------------------------ titres */
/* fil d'ariane */
#content > h2 {
  padding: 0 0.75em 0.5em 1.25em;
  margin: 0 -0.5em 1em -1.25em;
  background: var(--breadcrumb-background);
  border-bottom: 1px solid var(--breadcrumb-border);
}

#content.hide_collapser_btn > h2 {
  padding-left: 0.625em;
  margin-left: -0.625em;
}

/* page courante dans le fil d'ariane */
.page-title {
  color: var(--breadcrumb-current);
}
.page-title img {
  vertical-align: middle;
}

/* autres titres */
#main-menu h3 {
  font-weight: bold;
}

.fieldset :is(h3, h4),
.pretty-title {
  color: var(--fieldset-pretty-title-color);
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  font-weight: bold;
}

.fieldset h3 {
  font-size: 1.17em;
  font-size: round(nearest, 1.17em, 1px);
}

.fieldset :is(h3, h4).smart-title,
.smart-title {
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  text-transform: uppercase;
  font-weight: bold;
  color: var(--fieldset-smart-title-color);
}

.fieldset :is(h3, h4).border-top {
  padding-top: 1em;
}

#entry-sidebar h5 {
  font-weight: normal;
  color: var(--entry-sidebar-title-color);
}

:is(h4, h5) label {
  color: var(--title-label-color);
}

:is(h2, h3, h4, h5, ul, p):first-child {
  margin-top: 0;
}

/* ---------------------------------------------------------------- tableaux */
/*  Pour autoriser le scroll sur les petites largeurs
  envelopper les tableaux dans une div.table-outer */
.table-outer {
  width: 100%;
  overflow: auto;
}

table {
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  border-collapse: collapse;
  margin: 0 0 1em 0;
  width: 100%;
}

caption {
  color: var(--table-caption-color);
  font-weight: bold;
  text-align: left;
  margin-bottom: 0.5em;
}

th:not(.module-name) {
  border-width: 1px 0 1px 0;
  border-style: solid;
  border-color: var(--head-border);
  background: var(--head-background);
  padding: 0.4em 1em 0.4em 0.5em;
  vertical-align: top;
  text-align: left;
  min-width: 2.8em;
}

td,
th.module-name {
  font-weight: normal;
  border-width: 0 0 1px 0;
  border-style: solid;
  border-color: var(--cell-border);
  padding: 0.4em 1em 0.4em 0.5em;
  vertical-align: top;
}

/* ---------------------------------------------------------- autres balises */
p {
  margin: 0 0 1em 0;
}

pre + p {
  margin-top: 1em;
}

hr {
  height: 1px;
  border-width: 0;
  background-color: var(--hr-color);
}
hr.clearer {
  clear: both;
}
hr.clear {
  margin: 1em auto;
}

:is(pre, code),
#debug {
  font: 100% var(--monospace);
}

code {
  color: var(--code-color);
  background: var(--code-background);
}

pre {
  white-space: pre;
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
  white-space: pre-line;
  word-wrap: break-word;
}

abbr {
  cursor: help;
}

:is(input, textarea, select, option, optgroup, legend, label) {
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
}

kbd {
  font-size: 0.75em;
  font-size: round(nearest, 0.75em, 1px);
  font-weight: bold;
  font-style: normal;
  line-height: 1.6;
  white-space: nowrap;
  color: var(--body-color);
  background-color: var(--body-background);
  border: 1px solid var(--button-border);
  border-radius: 5px;
  display: inline-block;
  margin: 0 0.1em;
  padding: 0.1em 0.6em 0.25em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

/* ------------------------------------------------------------------ liens */
a,
a:is(:link, :visited) {
  color: var(--link-color);
  text-decoration: none;
  border-bottom: 1px dotted var(--link-border);
  background-color: inherit;
  outline: 0;
}
a img,
a:is(:link, :visited) img {
  border: none;
  background: initial;
  max-width: initial;
}

a:is(:hover, :active) {
  border-bottom-style: solid;
}

h1 a:is(:link, :visited) {
  border: none;
}

.discrete a {
  color: var(--discrete-link-color);
}

a:link {
  transition: 0.5s;
}

a:focus,
a:focus img {
  outline: 2px solid var(--link-outline);
  border-bottom: none;
  text-decoration: none;
}

a.outgoing img[src*=outgoing-link],
.outgoing-js {
  width: 1em;
  vertical-align: top;
  filter: contrast(var(--outgoing-link-filter));
}
#header a.outgoing img[src*=outgoing-link],
#header .outgoing-js {
  width: 1.5em;
  padding: 0 0 0 0.5em;
  vertical-align: top;
  filter: contrast(var(--outgoing-link-filter-header));
}

input:is([type=text],
[type=search],
[type=color],
[type=email],
[type=url],
[type=datetime-local],
[type=date],
[type=time],
[type=file],
[type=number],
[type=password],
[type=submit],
[type=button],
[type=reset]),
a.button,
button,
textarea,
legend {
  max-width: 100%;
  border-radius: 3px;
}

form {
  display: block;
  margin: 0;
  padding: 0;
}

fieldset {
  margin: 1em 0;
  padding: 1em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--fieldset-border);
  background: var(--fieldset-background);
}
fieldset > fieldset {
  border-style: dashed;
}
fieldset hr {
  background-color: var(--fieldset-border);
  border-width: 0;
  margin: 0 0 1em 0;
}
fieldset:focus-within {
  background-color: var(--fieldset-focus-background);
}
@media (prefers-contrast: more) {
  fieldset:focus-within {
    outline: 1px solid var(--fieldset-border);
  }
}
fieldset > *:last-child {
  margin-bottom: 0;
}
fieldset legend,
fieldset h3,
fieldset h4 {
  width: 100%;
  padding: 0;
  margin-bottom: 0.75em;
  color: var(--fieldset-pretty-title-color);
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  font-weight: bold;
}
fieldset legend {
  float: left;
}

input:is([type=text],
[type=search],
[type=color],
[type=email],
[type=url],
[type=datetime-local],
[type=date],
[type=time],
[type=file],
[type=number]),
textarea {
  font-family: var(--sans-serif-input);
  font-size: 100%;
  font-size: round(nearest, 100%, 1px);
}

::placeholder {
  font-style: italic;
}

label .maximal,
:is(textarea, input, select).maximal {
  width: 100%;
}

input:is([type=text],
[type=search],
[type=password],
[type=color],
[type=email],
[type=url],
[type=datetime-local],
[type=date],
[type=time],
[type=file],
[type=number]),
textarea,
input:not([type=file]):invalid,
input:not([type=file]):invalid:placeholder-shown {
  padding: 3px;
  border-width: 1px;
  border-style: inset;
  border-color: var(--input-border);
}

select {
  max-width: 100%;
  padding: 4px;
  vertical-align: middle;
}

input:is(:invalid:not(:required), :invalid:not(:required), :invalid:not(:required)),
input:not([type=file]):invalid:not(:focus):not(:required) {
  color: var(--invalid-input-color);
}

input:is(:invalid:not(:required), :invalid:not(:required)),
input:not([type=file]):invalid:not(:focus):not(:required) {
  border: 1px inset var(--invalid-input-border);
  background: var(--invalid-input-background);
}

:is(input, textarea):focus {
  border-color: var(--input-focus);
}

textarea {
  padding: 0.5em;
}
textarea.maximal {
  resize: vertical;
}
.area textarea {
  display: block;
  width: 100%;
  resize: vertical;
}

input:is([type=text],
[type=search],
[type=color],
[type=email],
[type=url],
[type=datetime-local],
[type=date],
[type=time],
[type=number],
[type=password]),
textarea {
  margin-right: 0.3em;
}

input:is([type=checkbox], [type=radio], [type=file]) {
  border: none;
  margin: -0.235ex 0.33em 0 0;
  padding: 0;
}

input + input[type=checkbox] {
  margin-left: 0.33em;
}

a input {
  margin-right: 0.33em;
}

input[type=file] {
  margin-top: 0.3em;
  margin-bottom: 0.3em;
}

input[type=color] {
  width: 3em;
  height: 1.5em;
  padding: 0;
}
input[type=color]::-webkit-color-swatch-wrapper, input[type=color]::-webkit-color-swatch,
input[type=color] div {
  padding: 0;
  border: none;
}
input[type=color]::-moz-color-swatch {
  padding: 0;
  border: none;
}

/* readonly */
input.readonly, input[readonly], input[aria-readonly=true],
textarea.readonly,
textarea[readonly],
textarea[aria-readonly=true] {
  color: var(--button-disabled-color);
  background: var(--button-disabled-background);
  border: 1px solid var(--button-disabled-border);
}

/* Select */
optgroup {
  font-weight: bold;
  font-style: normal;
}

option {
  font-weight: normal;
}

/* Label */
label {
  display: block;
}

label span {
  display: inline-block;
}

:is(label, input).ib {
  display: inline-block;
}

label.classic {
  display: inline;
}

label.classic :is(input, select),
label span :is(input, select) {
  display: inline;
}

:is(label, span).required,
label span.required,
label:has(input:required) {
  font-weight: bold;
}

label.required input,
label:has(input:required) input {
  font-weight: normal;
}

label.required :is(abbr, span),
label:has(input:required) :is(abbr, span),
span.required {
  color: var(--required);
  font-size: 1.3em;
  font-size: round(nearest, 1.3em, 1px);
  text-decoration: none;
}

label.bold {
  text-transform: uppercase;
  font-weight: bold;
  margin-top: 2em;
}

:is(label, p, div).area {
  width: inherit !important;
}

div.area {
  margin-bottom: 1em;
}

p.field {
  position: relative;
}
p.field label {
  display: inline-block;
  width: 14em;
}
p.field.wide label {
  width: 21em;
}
p.field :is(input, select) {
  display: inline-block;
}

:is(.form-note, .form-stats) {
  font-style: italic;
  font-weight: normal;
  color: var(--form-note-color);
}

p:is(.form-note, .form-stats) {
  margin-top: -0.5em;
}

span:is(.form-note, .form-stats) {
  text-transform: none;
}

.form-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  align-items: center;
}
.form-buttons:is(.right, .txt-right) {
  justify-content: flex-end;
}
.form-buttons.txt-left {
  justify-content: flex-start;
}
.form-buttons.txt-center {
  justify-content: center;
}
.form-buttons.is-a-phrase {
  align-items: normal;
}

.focus {
  background-color: inherit;
  animation-name: kf-focus;
  animation-duration: 1s;
}

@keyframes kf-focus {
  50% {
    background-color: var(--input-focus);
  }
}
.no-more-info {
  display: none !important;
}

/* tous les boutons */
button,
a.button,
input:is([type=button], [type=reset], [type=submit]) {
  border: 1px solid var(--button-border);
  font-family: var(--sans-serif-input);
  padding: 3px 10px;
  line-height: normal !important;
  display: inline-block;
  font-size: 100%;
  font-size: round(nearest, 100%, 1px);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  border-style: solid;
  border-width: 1px;
}

a.button {
  vertical-align: middle;
}

/* validation */
input[type=submit],
button[type=submit],
a.button.submit,
button.submit,
input.button.start {
  color: var(--submit-color);
  background-color: var(--submit-background);
}
input[type=submit]:is(:hover, :focus),
button[type=submit]:is(:hover, :focus),
a.button.submit:is(:hover, :focus),
button.submit:is(:hover, :focus),
input.button.start:is(:hover, :focus) {
  color: var(--submit-background);
  background-color: var(--submit-color);
}

/* suppression, reset, "neutres" fond gris */
button,
input.button,
input:is([type=button], [type=reset]),
input[type=submit]:is(.reset, .delete),
input:is(.reset, .delete),
a.button,
a.button:is(.delete, .reset) {
  color: var(--reset-color);
  background-color: var(--reset-background);
}
button:is(:hover, :focus),
input.button:is(:hover, :focus),
input:is([type=button], [type=reset]):is(:hover, :focus),
input[type=submit]:is(.reset, .delete):is(:hover, :focus),
input:is(.reset, .delete):is(:hover, :focus),
a.button:is(:hover, :focus),
a.button:is(.delete, .reset):is(:hover, :focus) {
  background-color: var(--reset-background-alt);
}

/* suppression */
:is(input, button)[type=submit].delete,
:is(input, button).delete,
a.button.delete {
  color: var(--delete-color);
}
:is(input, button)[type=submit].delete:is(:hover, :focus),
:is(input, button).delete:is(:hover, :focus),
a.button.delete:is(:hover, :focus) {
  color: var(--delete-hover-color);
  background-color: var(--delete-hover-background);
}

#info-box a.button,
#info-box button {
  padding: 0 0.5em;
  margin-left: 2em;
}

.button.add,
button.add,
input.add {
  color: var(--add-color);
  background-color: var(--add-background);
}
.button.add:is(.button, button),
button.add:is(.button, button),
input.add:is(.button, button) {
  padding: 0.4em 1.25em 0.4em;
}
.button.add:is(:hover, :active, :focus),
button.add:is(:hover, :active, :focus),
input.add:is(:hover, :active, :focus) {
  color: var(--add-color-alt);
  background-color: var(--add-background-alt);
}

.button-add:focus {
  outline: dotted 1px;
}

:is(input, button)[type=submit].clone,
:is(input, button).clone,
a.button.clone {
  color: var(--clone-color);
  background-color: var(--clone-background);
}
:is(input, button)[type=submit].clone:is(:hover, :active, :focus),
:is(input, button).clone:is(:hover, :active, :focus),
a.button.clone:is(:hover, :active, :focus) {
  color: var(--clone-hover-color);
  background-color: var(--clone-hover-background);
}

/* paragraphe pour bouton Nouveau bidule */
p.top-add,
p.new-stuff {
  text-align: right;
  justify-content: right;
  margin: 0;
}

/* disabled */
input.disabled, input[disabled], input[aria-disabled=true],
html input.disabled,
html input[disabled],
html input[aria-disabled=true],
button.disabled,
button[disabled],
button[aria-disabled=true],
textarea.disabled,
textarea[disabled],
textarea[aria-disabled=true] {
  color: var(--button-disabled-color);
  background: var(--button-disabled-background);
  border: 1px solid var(--button-disabled-border);
  cursor: not-allowed;
}

/* Boutons javascript (dépliage/repliage, …) */
.void-btn {
  border: none;
  border-radius: 0;
  padding: 0;
}

button.details-cmd {
  font-size: 0.9em;
  font-size: round(nearest, 0.9em, 1px);
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0 5px 0 0;
  color: currentColor;
  background: transparent;
  box-shadow: none;
}
button.details-cmd:is(:hover, :focus) {
  background: transparent;
  color: var(--input-focus);
}

details summary:is(:hover) {
  cursor: pointer;
}
details summary:is(:hover)::marker {
  cursor: pointer;
}

details summary:is(:hover, :focus)::marker {
  background: transparent;
  color: var(--input-focus);
}

/* specific buttons */
#gototop,
a#gototop,
:is(.checkbox-helper, .metaGetList, .metaGetMore),
a:is(.checkbox-helper, .metaGetList, .metaGetMore) {
  font-size: 0.825em;
  font-size: round(nearest, 0.825em, 1px);
  color: var(--ajax-color);
  background: var(--ajax-background);
  box-shadow: none;
  border: 1px solid var(--ajax-border);
  margin-bottom: 0.25em;
  text-align: center;
}
#gototop:hover,
a#gototop:hover,
:is(.checkbox-helper, .metaGetList, .metaGetMore):hover,
a:is(.checkbox-helper, .metaGetList, .metaGetMore):hover {
  background: var(--ajax-background-alt);
  box-shadow: none;
}

#gototop {
  display: none;
  z-index: calc(infinity);
  position: fixed;
  bottom: 0.5em;
  right: 0.75em;
  width: 2em;
  padding: 0.25em;
  border-radius: 0.25em;
}
#gototop a, #gototop a:is(:link, :hover, :active) {
  color: var(--gotop-color);
  background: var(--gotop-background);
  border-bottom: none;
}
#gototop a img {
  vertical-align: top;
}

.metaRemove,
.addMeta :is(button, a):not(.metaGetMore) {
  border: none;
  border-radius: 0;
  padding: 0;
  color: var(--addmeta-color);
  background: var(--addmeta-background);
}

.metaRemove img {
  height: 1.25em;
  padding-top: 0.25em;
  padding-right: 0.25em;
}

.addMeta :is(button, a):not(.metaGetMore) {
  box-shadow: initial;
  margin-bottom: 2px;
}
.addMeta :is(button, a):not(.metaGetMore):is(:hover, :focus) {
  color: var(--addmeta-focus-color);
  background: var(--addmeta-focus-background);
}

p.addMeta {
  text-wrap: stable;
}

:is(.warn, .warning, .info) {
  font-style: normal;
  padding: 0.4em 0.66em 0.4em;
  display: inline-block;
  line-height: 1.5em;
  border-radius: 3px;
}

.info {
  color: var(--msg-info-color);
  border: 1px solid var(--msg-info-border);
  background: url(msg-info.svg) no-repeat 0.75em 0.75em;
  background-size: 2.5em;
  background-color: var(--msg-info-background);
}

:is(.warn, .warning) {
  color: var(--msg-warn-color);
  border: 1px solid var(--msg-warn-border);
  background: url(msg-warning.svg) no-repeat 0.75em 0.75em;
  background-size: 2.5em;
  background-color: var(--msg-warn-background);
}

:is(.error, .message, .static-msg, .success, .warning-msg) {
  padding: 1.25em 0.5em 0.5em 4em;
  margin-bottom: 1em;
  border-radius: 3px;
}

.warn a {
  color: var(--msg-warn-color);
}

.error {
  background: url(msg-error.svg) no-repeat 0.75em 0.75em;
  background-size: 2.5em;
  background-color: var(--msg-error-background);
  color: var(--msg-error-color);
  animation-name: kf-error;
  animation-duration: 0.5s;
}
.error a {
  color: var(--msg-error-color);
}

:is(.message, .static-msg) {
  color: var(--msg-color);
  background: url(msg-std.svg) no-repeat 0.625em 1.125em;
  background-size: 2.5em;
  background-color: var(--msg-background);
}

.message {
  animation-name: kf-message;
  animation-duration: 0.5s;
}

:is(.message, .static-msg) :is(a, h3) {
  color: var(--msg-color);
}

.success {
  color: var(--msg-success-color);
}

.success {
  background: url(msg-success.svg) no-repeat 0.75em 0.75em;
  background-size: 2.5em;
  background-color: var(--msg-success-background);
  animation-name: kf-success;
  animation-duration: 0.5s;
}

:is(.success, .warning-msg) a {
  color: var(--msg-success-color);
}

:is(.info) a {
  color: var(--msg-info-color);
}

.notice-ts {
  font-size: 0.875em;
  font-size: round(nearest, 0.875em, 1px);
  padding: 2px 0.5em;
  margin-right: 0.5em;
  border-radius: 0.25em;
  color: var(--body-color);
  background: var(--body-background);
  filter: opacity(0.85);
}

.warning-msg {
  color: var(--msg-warn-color);
  background: url(msg-warning.svg) no-repeat 0.75em 0.75em;
  background-size: 2.5em;
  background-color: var(--msg-warn-background-alt);
  animation-name: kf-warning;
  animation-duration: 0.5s;
}

.dc-update {
  padding: 1em 0.5em 0.5em 4em;
  margin-bottom: 2em;
  border-radius: 3px;
  color: var(--dc-update-color);
  background: url(msg-info.svg) no-repeat 0.75em 0.75em;
  background-size: 2.5em;
  background-color: var(--dc-update-background);
}
.dc-update h3 {
  margin-top: 0;
  color: var(--dc-update-color);
}
.dc-update a {
  color: var(--dc-update-color);
  margin-right: 1em;
}
.dc-update a.button {
  padding: 0.5em 1em;
}

.updt-info a {
  margin-left: 0;
  border-color: var(--dc-update-color);
  font-weight: bold;
}

p.updt-info img.outgoing-js {
  filter: brightness(0);
}

#header a.header_update {
  padding: 0.25em 0.5em 0.25em 2em;
  margin: 0 0.5em;
  color: var(--dc-update-btn-color);
  background: url(msg-info.svg) no-repeat 0.25em center;
  background-size: 1.25em;
  background-color: var(--dc-update-btn-background);
  border-radius: 3px;
  border: 1px solid var(--dc-update-btn-border);
}
#header a.header_update:hover, #header a.header_update:active, #header a.header_update:focus {
  background-color: var(--dc-update-btn-background-active);
}

div:is(.warn, .warning, .info) {
  display: block;
  padding: 1em 1em 1em 4em;
  margin-bottom: 1em;
}

p:is(.warn, .warning, .info) {
  background-position: 0.4em 0.4em;
  background-size: 1.5em;
  text-indent: 0;
  padding-left: 2.25em;
}
p:is(.warn, .warning, .info) img {
  vertical-align: text-top;
}

p:is(.error, .message, .static-msg, .success, .warning-msg) {
  padding-top: 1em;
  padding-bottom: 1.5em;
  margin-top: 0.5em;
}

span:is(.warn, .warning, .info) {
  padding-top: 0.25em;
  padding-bottom: 0.25em;
  background-position: 0.4em 0.2em;
  background-size: 1.5em;
  text-indent: 0;
  padding-left: 2.25em;
  margin-top: 0.25em;
}

:is(p, div):is(.error, .message, .static-msg, .success, .warning-msg):has(button.close-notice) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5em;
}
.with-js :is(p, div):is(.error, .message, .static-msg, .success, .warning-msg):has(button.close-notice) {
  padding-bottom: 1em;
}
:is(p, div):is(.error, .message, .static-msg, .success, .warning-msg):has(button.close-notice) button.close-notice {
  margin-inline-start: auto;
  margin-inline-end: 0.5em;
  align-self: end;
}
.no-js :is(p, div):is(.error, .message, .static-msg, .success, .warning-msg):has(button.close-notice) button.close-notice {
  display: none;
}

@keyframes kf-error {
  0% {
    background-color: var(--msg-error-background-alt);
  }
  100% {
    background-color: var(--msg-error-background);
  }
}
@keyframes kf-message {
  0% {
    background-color: var(--msg-background-alt);
  }
  100% {
    background-color: var(--msg-background);
  }
}
@keyframes kf-success {
  0% {
    background-color: var(--msg-success-background-alt);
  }
  100% {
    background-color: var(--msg-success-background);
  }
}
@keyframes kf-warning {
  0% {
    background-color: var(--msg-warn-background);
  }
  100% {
    background-color: var(--msg-warn-background-alt);
  }
}
.guideline #main-menu {
  padding-bottom: 0;
  position: sticky;
  top: 0;
}
.guideline #main-menu > div.info {
  border: none;
  margin-bottom: 0;
}
.guideline #main-menu > div.info p {
  text-indent: 0;
}

#content > div:is(.warn, .warning, .info, .error, .message, .static-msg, .success, .warning-msg, .dc-update) {
  margin-top: 1em;
}

/** --------------------------------------------------
    Components
--------------------------------------------------- */
/* prelude */
#prelude {
  line-height: 1.5;
  margin: 0;
  padding: 0.5em;
  overflow: hidden;
  background: var(--prelude-background);
  width: 100%;
}
#prelude li {
  list-style-type: none;
  margin: 0;
  background: transparent;
  display: inline;
}
#prelude li a {
  padding: 3px 16px 3px 8px;
  color: var(--prelude-color);
  background: var(--prelude-background);
  text-decoration: underline;
  border-bottom: none;
}
#prelude li a:hover, #prelude li a:focus {
  background: var(--prelude-background-alt);
}

/* header global h1, form#top-info-blog, ul#top-info-user */
#header p {
  text-wrap: initial;
}
#header a {
  color: var(--header-color);
}
#header img {
  vertical-align: middle;
  height: 1.125em;
  width: auto;
}

/* h1 */
h1 {
  text-indent: 100%;
  width: 14em;
}
h1 a {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
  height: 36px;
  color: var(--header-color);
  background: url(dc_logos/dotclear.svg) no-repeat;
  background-size: auto 2.5em;
  background-position: center;
  transition: none;
}
h1 a:is(:hover, :focus) {
  background-image: url(dc_logos/dotclear-alt.svg);
  transition: none;
}
h1 a:link {
  transition-timing-function: ease-in-out;
}

/* top-info-blog */
#top-info-blog select {
  max-width: 20em;
}
#top-info-blog a {
  margin-left: 1.5em;
}
#top-info-blog input[type=submit] {
  color: var(--submit-color);
  background: var(--submit-background);
  border-color: var(--submit-color);
  margin-left: 0.33em;
}
#top-info-blog input[type=submit]:hover {
  color: var(--submit-background);
  background: var(--submit-color);
}
#top-info-blog p {
  display: inline-block;
  margin: 0;
  vertical-align: text-top;
}

/* top-info-user */
#top-info-user {
  padding-right: 0.5em;
  list-style-type: none;
  text-align: right;
}
#top-info-user li {
  display: inline-block;
  margin-left: 0.5em;
  padding-left: 0.5em;
  border-left: 1px solid var(--header-link-border);
}
#top-info-user li:first-child {
  border-left: none;
}
#top-info-user a.active {
  border-width: 0;
  border-radius: 4px;
  margin: 0;
  padding: 2px 8px 3px;
  color: var(--header-active-color);
  background-color: var(--header-active-background);
  font-weight: bold;
}

/* ------------------------------------------------------------------------------------
                              UN POIL DE MEDIA QUERIES
------------------------------------------------------------------------------------ */
@media screen and (width <= 600px) {
  h1,
  h1 a {
    padding: 0;
  }
}
@media screen and (width <= 600px) {
  h1 a {
    background: url(dc_logos/dotclear-mini.svg) no-repeat;
    background-size: 2.5em;
    background-position: center;
  }
  h1 a:is(:hover, :focus) {
    background-image: url(dc_logos/dotclear-mini-alt.svg);
  }
}
#main-menu div:last-child {
  border-bottom: none;
}
#main-menu h3 {
  margin: 0;
  padding: 10px 0 10px 8px;
  color: var(--main-menu-title-color);
  font-size: 1.15em;
  font-size: round(nearest, 1.15em, 1px);
}
#main-menu a {
  color: var(--main-menu-item-color);
  border-bottom-color: var(--main-menu-item-border);
}
#main-menu ul {
  margin: 0 0 1.5em 0;
  padding: 0;
  list-style: none;
}
#main-menu ul li {
  margin: 0.5em 0 0;
  padding: 2px 0.5em 2px 0.5em;
  position: relative;
}
#main-menu ul li img {
  width: 1em;
  height: 1em;
  min-width: 1em;
  margin-top: 0.25em;
  outline: 0;
}
#main-menu ul li a {
  display: flex;
  border-bottom: none;
  min-height: calc(1.5em + 2px);
}
#main-menu ul li a img {
  margin-left: 0.25em;
  margin-right: 0.5em;
  min-width: 1em;
}
#main-menu ul li:hover {
  background-color: var(--main-menu-active-background);
}
#main-menu ul li:first-child {
  margin-top: 0;
}
#main-menu .active {
  background-color: var(--main-menu-active-background);
  font-weight: bold;
}
#main-menu .active a {
  border-bottom: none;
  color: var(--main-menu-active-color);
  padding-inline-end: 0.875em;
  position: relative;
}
#main-menu .active a::after {
  content: ":";
  position: absolute;
  right: 0;
}

:is(#favorites-menu, #blog-menu, #system-menu, #plugins-menu) {
  border-bottom: 1px dashed var(--main-menu-border);
}

#favorites-menu h3 {
  font-variant: small-caps;
  padding-top: 0.2em;
}

#search-menu {
  padding: 4px 0 0 4px;
  font-size: 0.91em;
  font-size: round(nearest, 0.91em, 1px);
}
#search-menu p {
  width: 95%;
  margin: 0 0 0.5em 0;
}
#search-menu input[type=submit] {
  float: right;
}

#qx {
  width: 75%;
  background: url(search.svg) no-repeat 0 center;
  background-color: field;
  padding-left: 20px;
}

.part-tabs ul,
.pseudo-tabs ul {
  padding: 0.5em 0 0 1em;
  border-bottom: 1px solid var(--tabs-border);
  line-height: 1.8;
}
.part-tabs li,
.pseudo-tabs li {
  list-style: none;
  margin: 0;
  display: inline;
}
.part-tabs li:first-child a,
.pseudo-tabs li:first-child a {
  border-top-left-radius: 3px;
}
.part-tabs li:last-child a,
.pseudo-tabs li:last-child a {
  border-top-right-radius: 3px;
}
.part-tabs li a,
.pseudo-tabs li a {
  padding: 0.33em 1.5em;
  margin-right: -1px;
  border: 1px solid var(--tabs-border);
  border-bottom: none;
  text-decoration: none;
  color: var(--tabs-color);
  background-color: var(--tabs-background);
  display: inline-block;
}
.part-tabs li a:is(:hover, :focus),
.pseudo-tabs li a:is(:hover, :focus) {
  color: var(--tabs-color);
  background: var(--tabs-active-background);
  border-bottom-color: var(--tabs-active-background);
}
.part-tabs li a:link,
.pseudo-tabs li a:link {
  transition: unset;
}
.part-tabs li a span,
.pseudo-tabs li a span {
  color: var(--body-color);
  font-weight: normal;
}
.part-tabs li.part-tabs-active a, .part-tabs li.active a,
.pseudo-tabs li.part-tabs-active a,
.pseudo-tabs li.active a {
  color: var(--tabs-active-color);
  background: var(--tabs-active-background);
  font-weight: bold;
  border-bottom-color: var(--tabs-active-background);
}

.multi-part {
  padding-left: 1em;
}

/* contextual help */
#help {
  margin-top: 4em;
  background: var(--help-background);
  z-index: 100;
  clear: both;
  padding: 0 1em;
}
#content.with-help #help {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 32rem;
  border-left: 2px solid var(--help-border);
  border-top: 2px solid var(--help-border);
  margin-top: 0;
  padding: 0.5em 0 0 0;
  overflow: auto;
}

#help-button {
  background: url(help.svg) no-repeat 6px center;
  background-size: 18px;
  background-color: transparent;
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 1.5em 0 30px;
  cursor: pointer;
  color: var(--link-color);
  line-height: 3;
}
#help-button.floatable {
  border-top: 1px solid var(--help-button-border);
  border-left: 1px solid var(--help-button-border);
  border-bottom: 1px solid var(--help-button-border);
  border-bottom-left-radius: 0.25em;
  border-top-left-radius: 0.25em;
  background-color: var(--help-button-background);
  position: fixed;
  top: 10px;
  transform: translateZ(0);
}
.no-js #help-button {
  top: 1em;
}
#help-button span {
  padding: 0.5em 0 0.1em 0;
}
#content.with-help #help-button {
  right: 32rem;
  background-color: var(--help-background);
  position: fixed;
  top: 6em;
  z-index: 100;
  border-top: 2px solid var(--help-border);
  border-left: 2px solid var(--help-border);
  border-bottom: 2px solid var(--help-border);
  border-bottom-left-radius: 1em;
  border-top-left-radius: 1em;
}

@media (scripting: none) {
  #help-button {
    top: 1em;
  }
}
.help-box {
  display: none;
}
.help-box ul {
  padding-left: 20px;
  margin-left: 0;
}

#content.with-help .help-content {
  padding: 0 1em 1em;
}
.help-content h5 {
  color: var(--title-alt-color);
}
.help-content dt {
  font-weight: bold;
  color: var(--help-title-color);
  margin: 0;
}
.help-content dd {
  margin: 0.3em 0 1.5em 0;
}

#helplink p {
  padding: 1em 0 0 1em;
}

#footer p {
  margin: 0;
  padding: 0 1em;
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
}
#footer a {
  border-bottom: none;
}
#footer a img:not(.outgoing-js) {
  height: 2em;
  width: auto;
  filter: none;
}
#footer .tooltip-anchor {
  anchor-name: --tooltip-anchor;
}
#footer .tooltip {
  position: absolute;
  position-anchor: --tooltip-anchor;
  position-area: top;
  width: fit-content;
  height: fit-content;
  margin: 0.5em 0.5em 1.5em 0.5em;
  padding: 1em;
  color: var(--tooltip-color);
  background: var(--tooltip-background);
  font-family: var(--monospace);
  text-align: left;
  border: 2px solid var(--tooltip-color);
  border-radius: 1em;
}

span.credit {
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  font-weight: normal;
}

/** --------------------------------------------------
    Tables and Filters
--------------------------------------------------- */
table .maximal {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 1px;
}
table .maximal, table.maximal {
  width: 100%;
  min-width: 10em;
}
table .minimal {
  width: 1px;
}
table .nowrap {
  white-space: nowrap;
  vertical-align: top;
}
table .count {
  text-align: right;
}

tbody {
  font-variant-numeric: tabular-nums;
}

th.first input {
  padding-right: 34px;
}

th img,
tr.line img {
  vertical-align: middle;
}
th img.expand,
tr.line img.expand {
  margin-right: 6px;
  margin-bottom: -2px;
}
th.sorted-asc:after,
tr.line.sorted-asc:after {
  content: " ↑";
}
th.sorted-desc:after,
tr.line.sorted-desc:after {
  content: " ↓";
}

tr.line p {
  margin: 0;
}
tr.line :is(input, select) {
  vertical-align: middle;
  box-shadow: none;
}
tr.line select {
  min-width: 6em;
}
tr.line:is(:hover, :focus-within) {
  background-color: var(--line-focus-background);
}
@media (prefers-contrast: more) {
  tr.line:is(:hover, :focus-within) {
    outline: 1px solid var(--fieldset-border);
  }
}

td.status {
  vertical-align: middle;
}
td.status a {
  border: none;
}

.noborder :is(td, th),
:is(td, th).noborder {
  border-width: 0 0 1px 0;
  border-color: var(--cell-noborder-color);
  line-height: 2em;
  padding-bottom: 0;
}

.noborder p {
  margin-bottom: 0;
}

table.posts-list {
  min-width: 50%;
}

/* Settings/Preferences */
details:has(.settings, .prefs) {
  margin-bottom: 1em;
}
details:has(.settings, .prefs)[open] summary {
  color: var(--title-alt-color);
  margin-block-end: 1em;
}

table:is(.settings, .prefs) th:first-child {
  width: 20%;
}
table:is(.settings, .prefs) th + th {
  width: 30%;
}
table:is(.settings, .prefs) th + th + th {
  width: 10%;
}
table:is(.settings, .prefs) th:last-child {
  width: 40%;
}
table:is(.settings, .prefs) tbody tr > th {
  font-weight: normal;
  background: inherit;
}

/* js */
td.expand {
  padding: 1em;
}
td.expand td {
  border-bottom: none;
}

.handle {
  padding: 0;
}

.handler {
  cursor: move;
  background-image: url(drag.svg);
  background-repeat: no-repeat;
  background-position: 0.5em 50%;
  background-color: transparent;
  background-size: 1.4em;
  padding-left: 2.4em;
}
body.dark-mode .handler {
  background-image: url(drag-dark.svg);
}

/* Responsive Cell Header */
.rch td::before {
  display: none;
}

@media screen and (width <= 600px), print and (width <= 5in) {
  table.rch {
    display: block;
  }
  table.rch :is(caption, tbody, tr, td) {
    display: block;
  }
  table.rch th,
  table.rch tr:first-of-type {
    display: none;
  }
  table.rch td::before {
    display: inline;
    font-weight: bold;
    text-align: left;
    padding-inline-start: 0.25em;
  }
  table.rch td {
    display: grid;
    grid-template-columns: 10em auto;
    grid-gap: 1em 0.5em;
    text-align: left;
    border: none;
    justify-items: start;
  }
  table.rch td a {
    color: var(--rch-table-td-link);
  }
  table.rch td input[type=checkbox]:first-child,
  table.rch td button:first-child {
    margin-inline-start: 0.5em;
  }
  table.rch td:first-of-type {
    border-top: 1px solid var(--rch-table-1st-border);
    color: var(--rch-table-1st-color);
    background: var(--rch-table-1st-background);
  }
  table.rch td:first-of-type a {
    color: var(--rch-table-1st-link);
  }
  table.rch td:first-of-type :first-child {
    margin-inline-start: 0.5em;
  }
  table.rch .maximal {
    max-width: inherit;
  }
  table.rch .nowrap {
    white-space: inherit;
  }
  table.rch td.expand {
    grid-template-columns: auto !important;
    color: var(--rch-table-expand-color);
    background-color: var(--rch-table-expand-background);
    border-top: 1px dashed var(--rch-table-expand-border);
  }
  table.rch :is(input, select) {
    align-self: center;
  }
  table.rch-thead thead {
    display: none;
  }
  table.rch-thead tr:first-of-type {
    display: block;
  }
}
a.form-control {
  display: none;
  color: var(--form-control-color);
}
a.form-control::before {
  content: "▶";
  margin-right: 5px;
}
a.form-control.open::before {
  content: "▼";
}

span.ib {
  width: 7em;
}

span.ibw {
  width: 9em;
  display: inline-block;
}

#filter-details {
  margin-bottom: 1em;
}

#filter-control {
  margin-top: 0.5em;
  margin-bottom: 0;
  width: fit-content;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 1px dotted var(--link-border);
}
#filter-control:is(:hover, :active) {
  border-bottom-style: solid;
}
#filter-control:focus {
  outline: 2px solid var(--link-outline);
  border-bottom: none;
  text-decoration: none;
}
#filter-control.open {
  margin-bottom: 1em;
}

#filters-form {
  border: 1px solid var(--filter-border);
  border-radius: 0.3em;
  margin-bottom: 2em;
  padding: 0.5em 1em 0;
}
#filters-form .table {
  width: 100%;
  padding: 0;
  margin-bottom: 1em;
  margin-top: 0.5em;
}
#filters-form .cell {
  padding: 0 2em 0 0;
}
#filters-form .filters-sibling-cell {
  padding-top: 4em;
}
#filters-form .filters-options {
  padding-left: 2em;
  border-left: 1px solid var(--filter-options-border);
}
#filters-form select {
  width: 14em;
  vertical-align: middle;
}
#filters-form h4 {
  margin-top: 0;
  margin-bottom: 2em;
}
#filters-form label.ib {
  width: 7em;
}
#filters-form label.ibw {
  width: 9em;
  display: inline-block;
}
#filters-form:focus-within {
  background-color: var(--filter-focus-background);
}
@media (prefers-contrast: more) {
  #filters-form:focus-within {
    outline: 1px solid var(--fieldset-border);
  }
}

/** --------------------------------------------------
    Pages
--------------------------------------------------- */
#login-screen {
  display: block;
  width: 20em;
  margin: 1.5em auto 0;
  font-size: 1.16em;
  font-size: round(nearest, 1.16em, 1px);
}
#login-screen h1 {
  text-indent: -2000px;
  background: url(dc_logos/dotclear-light.svg) no-repeat top left;
  background-color: transparent;
  height: 66px;
  width: 20em;
  margin-bottom: 0.5em;
  margin-left: 0;
}
#login-screen h2 {
  padding: 0;
  color: var(--title-alt-color);
  text-align: end;
}
#login-screen fieldset {
  border: 1px solid var(--login-fieldset-border);
  padding: 1em;
  background: var(--login-fieldset-background);
  margin-top: 1em;
}
#login-screen .fieldset {
  border: 1px solid var(--login-fieldset-border);
  padding: 1em 1em 0 1em;
  background: var(--login-fieldset-background);
  margin-bottom: 0;
  margin-top: 1em;
}
#login-screen .info {
  margin-top: 1em;
}
#login-screen input:is([type=text],
[type=color],
[type=email],
[type=url],
[type=datetime-local],
[type=date],
[type=time],
[type=file],
[type=number],
[type=password],
[type=submit]), #login-screen input:is([type=text],
[type=color],
[type=email],
[type=url],
[type=datetime-local],
[type=date],
[type=time],
[type=file],
[type=number],
[type=password],
[type=submit]):focus {
  width: 100%;
  margin: 0;
  padding: 5px 3px;
}
#login-screen input.login, #login-screen input.login:focus {
  margin-bottom: 1em;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
}
#login-screen .wide-button {
  width: 100%;
}
#login-screen .wide-button a {
  width: 100%;
}
#login-screen #issue {
  margin-top: 1em;
  margin-left: 1.33em;
  font-size: 0.91em;
  font-size: round(nearest, 0.91em, 1px);
}
#login-screen #issue summary {
  margin-bottom: 1em;
}
#login-screen #issue p:first-child {
  text-align: right;
}
#login-screen #issue strong {
  font-weight: normal;
}
#login-screen .error {
  padding-bottom: 1em;
}

@media (prefers-color-scheme: dark) {
  #login-screen h1 {
    background: url(dc_logos/dotclear-dark.svg) no-repeat top left;
  }
}
#dashboard-main {
  text-align: center;
}
#dashboard-main > *:last-child {
  margin-bottom: 1em;
}

/* raccourcis */
#icons {
  --index-icon-width: 12em;
  --index-icon-gap: 1em;
  --index-margin-block-end: 1em;
  --index-columns-width: 12em;
}
#icons.dense-layout {
  --index-icon-width: 11em;
  --index-icon-gap: 0.5em;
  --index-margin-block-end: 0;
  --index-columns-width: 10em;
}
#icons {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--index-columns-width), 1fr));
  justify-content: space-evenly;
  justify-items: center;
  grid-auto-rows: 1fr;
  gap: var(--index-icon-gap);
  margin: 1em auto var(--index-margin-block-end);
}
#icons p {
  width: var(--index-icon-width);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
#icons.dense-layout p {
  padding: 0;
}
#icons.dense-layout p .badge-icon {
  right: 1.125em;
}
#icons.dense-layout p .badge-icon.badge-left {
  right: auto;
  left: 1.125em;
}
#icons a, #icons a:is(:link, :visited, :hover, :focus) {
  border-bottom-width: 0;
  text-decoration: none;
}
#icons a span {
  color: var(--index-link-color);
  border-bottom: 1px dotted var(--index-link-border);
}
#icons a img {
  padding: 1.5em;
  background-color: var(--index-icon-background);
  border-radius: 8px;
  border: none;
  outline: 1px solid;
  outline-color: var(--index-icon-outline-color);
  outline-offset: -1px;
  display: inline-block;
  filter: contrast(var(--index-icon-contrast));
  width: 8em;
  max-width: calc(64px + 3em);
  height: 8em;
  max-height: calc(64px + 3em);
}
#icons a:focus {
  outline: 0;
}
#icons a:focus span {
  border: 2px solid var(--index-icon-outline);
}
#icons a:is(:focus, :hover) img {
  background: var(--index-icon-outline);
  filter: contrast(100%);
  outline: 0;
  border-color: var(--index-icon-border);
}
#icons a:is(:focus, :hover) span {
  border-bottom-style: solid;
}

@media (prefers-contrast: more) {
  #icons a img {
    outline: 0;
    border: 1px solid var(--index-icon-border);
  }
}
/* billet rapide */
#quick {
  max-width: 72em;
  margin: 1em auto 2em;
  padding: 1em;
  background: var(--quick-background);
  border: 1px solid var(--quick-border);
  border-radius: 3px;
  text-align: left;
}
#quick h3 {
  margin-bottom: 0.2em;
  font-size: 1.2em;
  font-size: round(nearest, 1.2em, 1px);
}
#quick #new_cat,
#quick .q-cat,
#quick .q-cat label {
  display: inline-block;
  vertical-align: top;
  margin-right: 1em;
  margin-top: 0.5em;
}
#quick .q-cat label {
  margin-right: 0.3em;
}
#quick #new_cat {
  margin-bottom: 2em;
}

/* modules additionnels */
#dashboard-boxes {
  margin: 1em auto 2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
}
#dashboard-boxes .box {
  padding: 0.75em;
  border: 1px solid var(--index-box-border);
  border-radius: 3px;
  min-height: 16em;
  text-align: left;
  margin: 0;
}
#dashboard-boxes.dense-layout .box {
  flex-basis: auto;
}

:is(.db-items, .db-contents) {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1 1 auto;
  gap: 1em;
}
:is(.db-items, .db-contents) ul {
  display: block;
  padding-left: 1.5em;
  list-style: square;
}
:is(.db-items, .db-contents) li {
  margin: 0.25em 0 0 0;
}

.no-js .outgoing img {
  display: none;
}

@media (scripting: none) {
  .outgoing img {
    display: none;
  }
}
.dc-box {
  background: url(dc_logos/dotclear-leaf.svg) no-repeat top right;
  background-size: 2em;
  background-origin: content-box;
  background-color: transparent;
}

#news dt {
  font-weight: bold;
  margin: 0 0 0.4em 0;
}
#news dd {
  margin: 0 0 1em 0;
}
#news dd p {
  margin: 0.2em 0 0 0;
}

#dragndrop {
  position: absolute;
}
.no-js #dragndrop {
  display: none;
}
.no-js #dragndrop + label {
  display: none;
}
#dragndrop + label {
  position: absolute;
  right: 0;
  display: inline-block;
  line-height: 1;
}
#dragndrop + label .dragndrop-svg {
  width: 2em;
  height: 1.5em;
  fill: var(--drag-n-drop-off);
}
#dragndrop:checked + label .dragndrop-svg {
  fill: var(--drag-n-drop-on);
  background-color: var(--body-background);
}

@media (scripting: none) {
  #dragndrop {
    display: none;
  }
  #dragndrop + label {
    display: none;
  }
}
:root .upgrade-mode {
  --header-background: var(--upgrade-mode);
  --header-background-alt: var(--upgrade-mode);
  --collapser-focus: var(--upgrade-mode);
}
.upgrade-mode #dashboard-main {
  text-align: inherit;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 1em;
}
.upgrade-mode #dashboard-boxes,
.upgrade-mode #icons {
  margin: 0;
}
.upgrade-mode .db-items {
  display: block;
}
@media screen and (width <= 1024px) {
  .upgrade-mode #dashboard-main {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (width <= 600px) {
  .upgrade-mode #dashboard-main {
    grid-template-columns: 1fr;
  }
}
.upgrade-mode #icons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: flex-start;
}
.upgrade-mode #icons p {
  width: calc(50% - 0.5em);
  flex-direction: row;
  align-items: flex-start;
  gap: 1em;
}
.upgrade-mode #icons a {
  display: grid;
  grid-template-areas: "icon title" "icon descr";
  grid-template-rows: auto 1fr;
  gap: 1em;
}
.upgrade-mode #icons a img {
  grid-area: icon;
}
.upgrade-mode #icons a span.db-icon-title {
  grid-area: title;
}
.upgrade-mode #icons a span.db-icon-descr {
  grid-area: descr;
  border-bottom: none;
}
.upgrade-mode #icons span.db-icon-title {
  flex: none;
}
@media screen and (width <= 1024px) {
  .upgrade-mode #icons {
    margin-top: 1em;
  }
  .upgrade-mode #icons p {
    width: auto;
  }
  .upgrade-mode .db-items {
    display: flex;
  }
}
@media screen and (width <= 600px) {
  .upgrade-mode #icons {
    flex-wrap: nowrap;
    flex-direction: column;
    margin: 1em;
  }
  .upgrade-mode #icons p {
    width: auto;
  }
  .upgrade-mode .db-items {
    display: flex;
  }
}
.upgrade-mode .badge-icon.badge-left {
  right: inherit;
  left: -0.5em;
}

#media_img_title_pattern {
  margin-right: 1em;
}

#part-users > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}

.user-perm {
  display: flex;
  flex-direction: column;
  margin: 0 1em 1em 0;
  background: url(user.svg) no-repeat 0.6em 0.6em;
  background-size: 1.6em;
  background-color: transparent;
  width: 20em;
  border: 1px solid var(--blog-user-border);
  border-radius: 0.5em;
  padding: 0 1em 0.5em;
}
.user-perm :is(h4, h5, p, ul, li) {
  margin: 0.5em 0 0.33em;
  padding: 0;
}
.user-perm h4 {
  padding-left: 1.4em;
}
.user-perm h5 {
  margin: 1em 0 0 0;
}
.user-perm li {
  margin-left: 1em;
  padding-left: 0;
}
.user-perm form,
.user-perm p:has(.button) {
  margin-top: auto;
}
.user-perm.user_super {
  border-color: var(--blog-super-border);
  background-color: var(--blog-super-background);
}

li:is(.user_super, .user_admin) {
  margin-left: 0;
  padding-left: 1.6em;
  list-style: none;
  background: url(../images/superadmin.svg) no-repeat 0 0;
  background-size: 1.4em;
  background-color: transparent;
}

li.user_admin {
  background-image: url(../images/admin.svg);
}

:is(#theme-new, #theme-activate, #theme-deactivate, #theme-update) {
  justify-content: flex-start;
  column-gap: 1em;
  margin-block-end: 1em;
}

.box.theme {
  padding: 10px 10px 5px 10px;
  border: 1px solid var(--theme-box-border);
  position: relative;
}
.box.theme:hover {
  background-color: var(--theme-box-over);
}
.box.theme.module-git {
  background: url(git-branch.svg) no-repeat top right;
  background-size: 1.5em;
  background-origin: content-box;
  background-color: transparent;
}

.module-name,
.module-name label {
  margin-bottom: 0.5em;
  color: var(--theme-name-color);
}

.module-sshot {
  text-align: center;
}
.module-sshot img {
  box-shadow: 0.9px 0.9px 2.2px rgba(0, 0, 0, 0.07), 2.1px 2.1px 5.3px rgba(0, 0, 0, 0.05), 4px 4px 10px rgba(0, 0, 0, 0.042), 7.1px 7.1px 17.9px rgba(0, 0, 0, 0.035), 13.4px 13.4px 33.4px rgba(0, 0, 0, 0.028), 32px 32px 80px rgba(0, 0, 0, 0.02);
  border: 1px solid var(--theme-img-border);
  max-width: 100%;
}

.module-infos p {
  margin-top: 0.5em;
}

.module-actions {
  margin-top: 1em;
}

.module-post-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 0.5em;
}

span:is(.module-version, .module-locked)::before {
  content: "- ";
}

.module-name input[type=checkbox] {
  margin-bottom: 0;
}

/**
Les screenshots des thèmes ont deux tailles possibles :
- dans Ajouter des thèmes : 240px (+ 10 padding image + 20 padding boîte + 6 bordure + 2 ombrage = 278)
- dans Thèmes installés : 280px (+ 10 padding-image + 20 padding-boîte + 2 ombrage = 318)
On adapte largeur et hauteur en fonction
*/
.box.theme details {
  margin-top: 0.25em;
}
.box.theme details .mod-more {
  margin-top: 0.5em;
  display: inline-block;
}

:is(#theme-new, #theme-update) .box.theme {
  /* Ajouter un thème */
  width: 278px;
  min-height: 275px;
  max-width: 278px;
}

#theme-new .module-sshot img {
  /* Pour ceux qui n'ont pas de miniature on contraint l'image */
  max-width: 240px;
  max-height: 210px;
  overflow: hidden;
}

#theme-deactivate .box.theme {
  /* Thèmes désactivés */
  width: 278px;
  max-width: 278px;
}

#theme-activate .box.theme {
  /* Thèmes installés */
  width: 318px;
  min-height: 304px;
  max-width: 318px;
}

.with-js .module-sshot:hover {
  cursor: pointer;
}

@media not (scripting: none) {
  .module-sshot:hover {
    cursor: pointer;
  }
}
/* mise en forme pour la boîte du thème courant */
.box.current-theme {
  /* Thème courant */
  width: calc(636px + 1em);
  max-width: calc(636px + 1em);
  padding: 20px 18px 6px;
  background-color: var(--theme-current-background);
  border: 1px solid var(--theme-current-border);
  min-height: 326px;
  position: relative;
  flex-basis: 100%;
}
.box.current-theme .module-sshot:hover {
  cursor: auto;
}
.box.current-theme .module-sshot img {
  float: left;
  margin-right: 2em;
  border: 9px solid var(--theme-current-img-border);
  max-width: 308px;
  max-height: 273px;
}
.box.current-theme .module-name {
  color: var(--theme-current-name-color);
  font-size: 1.5em;
  font-size: round(nearest, 1.5em, 1px);
  margin-bottom: 1em;
}
.box.current-theme .module-actions {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}
.box.current-theme.module-git {
  background-image: url(git-branch.svg);
  background-position-x: right;
  background-position-y: top;
  background-repeat: no-repeat;
  background-size: 1.5em;
  background-origin: content-box;
}

.current-actions {
  width: auto;
  overflow: hidden;
  padding-top: 2em;
}

.box:has(.tplset-dotty) {
  border-color: var(--theme-tplset-dotty);
}

.box:has(.tplset-glaz) {
  border-color: var(--theme-tplset-glaz);
}

#categories {
  margin: 1em 0;
}
#categories ul {
  list-style: none;
  padding: 0;
}
#categories ul ul {
  margin: 0 1em 0 2em;
  flex-basis: 100%;
}
#categories .placeholder {
  outline: 1px dashed var(--cat-placeholder-outline);
  min-height: 2.5em;
}

.cat-line {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
  position: relative;
  margin: 0.66em 0;
  padding: 0.66em 1em;
  border: 1px solid var(--cat-line-border);
  border-radius: 3px;
}
.cat-line ul {
  flex-grow: 1;
}
.cat-line p,
.cat-line label {
  margin: 0;
}
.cat-line label {
  display: inline-flex;
  gap: 0.5em;
  align-items: center;
}
.cat-line .cat-feedback label {
  gap: 0;
}
.cat-line .cat-title a {
  font-weight: bold;
}
.cat-line .cat-buttons {
  margin-inline-start: auto;
}
.cat-line .cat-line {
  border: 1px solid var(--subcat-line-border);
}

span.media-file-mode {
  margin-right: 1em;
  display: flex;
  gap: 0.5em;
}
span.media-file-mode a {
  border-bottom: none;
}
span.media-file-mode img {
  width: 2.4em;
  height: auto;
}
span.media-file-mode img.disabled {
  filter: grayscale(1) opacity(0.5);
}

.media-item {
  position: relative;
  border: 1px solid var(--media-item-border);
  margin: 9px;
  padding: 10px 12px 6px;
  width: 320px;
  min-width: 320px;
  min-height: 140px;
  word-wrap: break-word;
}
.media-item:is(:hover, :active) {
  background: var(--media-item-active-background);
}
.media-item p {
  margin: 0 0 0.5em;
}
.media-item object {
  margin-top: 0.5em;
}
.media-item ul {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
}
.media-item audio {
  width: 100%;
  margin-top: 0.5em;
}
.media-item.media-private {
  border-color: var(--media-item-border-private);
}
.media-item.media-private img.media-private {
  padding-right: 0.5em;
  width: 1.8em;
  vertical-align: text-bottom;
}

:is(tr, img) .media-private {
  padding-right: 0.5em;
  width: 1.8em;
  vertical-align: text-bottom;
}

a.media-icon {
  display: block;
  border-bottom: none;
  margin: 0 auto;
}

.media-icon img {
  display: block;
}

.media-icon-square {
  width: 48px;
  height: auto;
  max-height: 48px;
  aspect-ratio: 1;
  object-fit: contain;
}

a.media-flag {
  border-bottom: none;
}

.media-flag img {
  float: left;
  margin-right: 0.5em;
}

.media-link {
  font-size: 1.1em;
  font-size: round(nearest, 1.1em, 1px);
}

.media-action-box {
  position: relative;
  margin: 3em 3em 1em 1em;
  display: inline-block;
  vertical-align: top;
}

li.media-action {
  display: block;
  position: absolute;
  top: 4px;
  right: 8px;
  height: 16px;
}
li.media-action a {
  border: none;
}
li.media-action a.attach-media {
  margin-right: 5px;
}
li.media-action form {
  display: inline;
}
li.media-action input {
  border: none;
}
li.media-action input[type=checkbox] {
  margin-top: -0.5em;
}

td.media-action {
  padding: 0.4em 0 0.4em 0.5em;
}

#entry-sidebar .media-item {
  width: 100%;
  min-height: 0;
  padding: 4px;
  margin: 0.33em 0;
  min-width: inherit;
}

.folders-group {
  display: flex;
  flex-wrap: wrap;
}
.folders-group .media-item {
  min-height: 70px;
}
.folders-group .media-item p {
  margin-bottom: 0;
}

div.media-items-bloc {
  display: flex;
  flex-wrap: wrap;
}

.media-folder {
  background: var(--media-folder-background);
  border-color: var(--media-folder-border);
  border-left-width: 8px;
}
.media-folder .media-link {
  font-size: 1.125em;
  font-size: round(nearest, 1.125em, 1px);
  color: var(--media-folder-link);
  border-bottom: none;
}

tr.media-folder {
  background: var(--media-folder-background);
}
tr.media-folder .media-link {
  margin-left: 0;
}

.media-folder-up {
  border-color: var(--media-folderup-border);
  padding-bottom: 6px;
}

:is(.medias-delete, .medias-select) {
  text-align: right;
}
:is(.medias-delete, .medias-select) .form-buttons:not(:is(.checkboxes-helpers)) {
  justify-content: flex-end;
}

.media-recent {
  margin-right: 2em;
}

#media-fav-dir {
  border-bottom: none;
}
#media-fav-dir img {
  vertical-align: middle;
}

.media-remove img {
  height: 1.25em;
  padding-top: 0.25em;
}

:is(.attach-media, .insert-media) img {
  height: 1.25em;
  padding-top: 0.25em;
}

.info.attach-media img {
  vertical-align: text-bottom;
}

#upfile {
  field-sizing: content;
}

/* upload multiple */
.enhanced_uploader :is(.choose_files, .cancel, .clean, .start) {
  margin-right: 0.4em;
}
.enhanced_uploader #upfile {
  visibility: hidden;
  width: 0;
  height: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.enhanced_uploader .button.choose_files {
  display: inline-block;
}
.enhanced_uploader .max-size {
  display: block;
}
.enhanced_uploader .one-file {
  display: none;
}
.enhanced_uploader p.clear {
  padding-top: 1em;
  margin-bottom: 1em;
}

.button:is(.clean, .cancel, .choose_files) {
  display: none;
}

label span.one-file {
  display: inline;
}

#add-file-f p.clear {
  margin-top: 1em;
  margin-bottom: 0;
  clear: both;
}

.files {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
  border-bottom: 1px solid var(--media-files-border);
}
.files li {
  margin-left: 0;
  padding-left: 0;
}

.upload-msg {
  font-weight: bold;
}
.upload-msg.upload-error {
  color: var(--upload-error-color);
}

.upload-files {
  padding: 0 0.5em;
  margin: 1em 0;
}

.upload-file {
  margin: 0;
  padding: 0.3em 0;
  border-top: 1px solid var(--upload-file-border);
  position: relative;
}

.upload-fileinfo {
  margin-left: 0;
}
.upload-fileinfo input {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
}
.upload-fileinfo span {
  padding-right: 8px;
}
.upload-fileinfo .upload-filecancel {
  display: block;
  width: 1.4em;
  height: auto;
  background: url("cancel.svg") no-repeat 0 50%;
  background-color: transparent;
  text-indent: -1000px;
  cursor: pointer;
  float: left;
}

.upload-filemsg {
  font-weight: bold;
}
.upload-filemsg.upload-error {
  color: var(--upload-error-color);
}

.upload-progress {
  margin: 1em 1em 1em 0;
}
.upload-progress div {
  width: 0;
  height: 1.2em;
  font-weight: bold;
  line-height: 1.2em;
  text-align: center;
  background: url(progress.svg) repeat-x left top;
  background-color: var(--upload-progress-background);
  color: var(--upload-progress-color);
  border-radius: 3px;
}

div.template-upload {
  clear: both;
}

.queue-message {
  font-weight: bold;
}

#media-icon {
  float: left;
}

.near-icon {
  margin-left: 70px;
  margin-bottom: 3em;
}

#media-details ul {
  display: block;
  margin-left: 0;
  padding: 0;
}
#media-details li {
  list-style: square inside;
  margin: 0;
  padding: 0;
}

#media-original-image {
  overflow: auto;
}
#media-original-image.overheight {
  max-height: 500px;
}

#media-attribute {
  margin-left: 0.5em;
  padding: 0.5em;
  border-left: 1px solid currentColor;
  overflow-wrap: break-word;
}
#media-attribute .media-title {
  font-weight: bolder;
}
#media-attribute .media-desc {
  font-style: italic;
}

#flip-rotate-form {
  width: fit-content;
}

#flip_v,
#flip_h,
#rotate_c,
#rotate_a {
  width: 3em;
  height: 3em;
  text-indent: -9999px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: 2em;
  background-position: 0.5em 0.5em;
}

#flip_v {
  background-image: url(flip_v.svg);
}

#flip_h {
  background-image: url(flip_h.svg);
}

#rotate_c {
  background-image: url(rotate_c.svg);
}

#rotate_a {
  background-image: url(rotate_a.svg);
}

body.dark-mode #flip_v,
body.dark-mode #flip_h,
body.dark-mode #rotate_c,
body.dark-mode #rotate_a {
  filter: invert(1);
}

.modules td.module-icon img {
  width: 1.25em;
  height: 1.25em;
}
.modules td.module-icon img.expand {
  margin-bottom: 3px;
}
.modules td.module-distrib img {
  width: 1.5em;
  height: 1.5em;
  float: right;
}

.modules :is(tr, td).expand {
  background: var(--modules-background);
  border-color: var(--modules-border);
}

.modules tr.expand td:first-child {
  font-weight: bold;
  background: var(--modules-background);
}

.modules td.expand {
  padding: 0 0 1em;
}
.modules td.expand div {
  display: inline-block;
  vertical-align: top;
  margin-right: 3em;
}

.modules dt {
  font-weight: bold;
}

.modules a.module-details {
  background: url(search.svg) no-repeat 0 center;
  background-color: transparent;
  padding: 4px 4px 0 20px;
}
.modules a.module-support {
  background: url(help.svg) no-repeat 2px center;
  background-size: 14px;
  background-color: transparent;
  padding: 4px 4px 0 20px;
}
.modules a.module-config {
  background-image: url(settings.svg);
  background-repeat: no-repeat;
  background-position: 0% 50%;
  background-color: transparent;
  background-size: 1.4em;
  padding: 4px 4px 0 1.6em;
}
body.dark-mode .modules a.module-config {
  background-image: url(settings-dark.svg);
}

.module-desc details:has(.module-implies) summary::marker {
  color: var(--modules-implies);
}
.module-desc details:has(.module-requires) summary::marker {
  color: var(--modules-requires);
}

#m_search {
  color: var(--search-color);
  background: url(search.svg) no-repeat 0 center;
  background-color: transparent;
  padding-left: 20px;
}

.mod-more {
  padding-top: 0.5em;
}
.mod-more,
.mod-more li {
  margin: 0.25em 0 0 1em;
  padding: 0;
  list-style-type: none;
}

#plugin-update td {
  vertical-align: baseline;
}

#entry-form {
  display: flex;
  flex-wrap: wrap;
}

#entry-wrapper {
  flex-grow: 1;
  width: calc(100% - 19em);
}
@media screen and (width <= 1280px) {
  #entry-wrapper {
    width: 100%;
  }
}

#entry-content {
  margin-left: 0;
}
@media screen and (width > 1280px) {
  #entry-content {
    padding-right: 3em;
  }
}
@media screen and (width <= 600px) {
  #entry-content {
    padding-right: 1em;
  }
}
@media screen and (width <= 600px) {
  #entry-content {
    padding-right: 0;
  }
}

#entry-sidebar {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  flex-direction: column;
  margin-bottom: 1em;
}
@media screen and (width <= 1280px) {
  #entry-sidebar {
    flex-direction: row;
  }
}
#entry-sidebar h4 {
  font-size: 1.08em;
  font-size: round(nearest, 1.08em, 1px);
  margin-top: 0.3em;
  border-bottom: 1px solid var(--entry-sb-title-border);
}
#entry-sidebar select {
  width: 100%;
}
#entry-sidebar input#post_position {
  width: 4em;
}
#entry-sidebar .media-item a.media-icon img {
  max-width: 4em;
}

#post_notes {
  padding: 0.5em 1.5em 0.5em 0.5em;
}

.sb-box {
  width: 18em;
  padding: 0.5em 1em;
  background-color: var(--entry-sb-background);
}
.sb-box:focus-within {
  background-color: var(--entry-sb-focus-background);
}
@media (prefers-contrast: more) {
  .sb-box:focus-within {
    outline: 1px solid var(--fieldset-border);
  }
}

#tb_excerpt {
  width: 100%;
}

/* Actions */
.attachment-remove img {
  height: 1.25em;
  padding-top: 0.25em;
}

.format_control {
  display: block;
  margin-top: 0.5em;
}

.fav-list {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}
.fav-list li {
  margin-left: 0;
  padding-left: 0;
  padding-top: 3px;
  padding-bottom: 3px;
  position: relative;
}
#my-favs .fav-list li {
  line-height: 2;
  border-bottom: 1px solid var(--fav-list-border);
  padding-top: 3px;
  padding-bottom: 3px;
  position: relative;
}
#my-favs:focus-within .fav-list li {
  border-bottom-color: var(--fav-list-border-alt);
}
@media (prefers-contrast: more) {
  #my-favs:focus-within .fav-list li {
    outline: 1px solid var(--fieldset-border);
  }
}
.fav-list li span.zoom {
  display: none;
}
.fav-list li span.zoom img {
  width: 5em;
  max-width: 64px;
  height: 5em;
  max-height: 64px;
}
.fav-list li:hover span.zoom {
  display: block;
  position: absolute;
  top: 2em;
  left: 10em;
  background-color: var(--index-icon-background);
  border: 1px solid var(--index-icon-border);
  padding: 1em;
  border-radius: 0.5em;
  z-index: 1;
}
.fav-list img {
  vertical-align: middle;
  margin-top: -0.235ex;
  margin-right: 0.2em;
  width: 1em;
  height: 1em;
}

#my-favs {
  border-color: var(--my-favs-border);
}

#available-favs :is(input, label),
#available-favs label span {
  white-space: normal;
  display: inline;
}
#available-favs label span.zoom {
  display: none;
}
#available-favs li:hover label span.zoom {
  display: block;
  position: absolute;
  top: 2em;
  left: 10em;
  background-color: var(--index-icon-background);
  border: 1px solid var(--index-icon-border);
  padding: 1em;
  border-radius: 0.5em;
  z-index: 1;
}

#user-options label.ib {
  display: inline-block;
  width: 14em;
  padding-right: 1em;
}

#user_options_columns label {
  margin-left: 1em;
}

.cols_sort_handler.ui-sortable {
  border: none;
  border-radius: 0;
  border-bottom: 1px solid var(--cols-list-border);
  padding-top: 3px;
  padding-bottom: 3px;
}
.cols_sort_handler.ui-sortable:focus-within {
  border-bottom-color: var(--cols-list-border-alt);
}
@media (prefers-contrast: more) {
  .cols_sort_handler.ui-sortable:focus-within {
    outline: 1px solid var(--fieldset-border);
  }
}

.blog-perm {
  margin-top: 2em;
  padding-top: 2em;
  font-weight: bold;
}

.ul-perm {
  list-style-type: square;
  margin-left: 0;
  padding-left: 3.5em;
  margin-bottom: 0;
}

.add-perm {
  padding-top: 0.5em;
  padding-left: 2.5em;
  margin-left: 0;
}

input.perm-second-level {
  margin-left: 1em;
}

input.perm-third-level {
  margin-left: 2em;
}

.guideline #content h2 {
  color: var(--charte-title);
  padding: 2em 0 0 0;
  margin: 1em 0;
  font-size: 2em;
  font-size: round(nearest, 2em, 1px);
}
.guideline #content h2:first-child {
  margin-top: 0;
  padding-top: 0.5em;
}
.guideline h3 {
  margin-top: 2em;
}
.guideline .dc-update h3 {
  margin-top: 0;
}
.guideline .one-box .box {
  border: 1px solid var(--charte-one-box-border);
  padding: 2px 0.5em;
}
.guideline #main-menu ul {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
.guideline #main-menu li {
  padding-left: 1em;
}

/** --------------------------------------------------
    Misc
--------------------------------------------------- */
/* jQuery Autocomplete plugin */
.ac_results {
  padding: 0;
  background-color: var(--ac-results-background);
  border: 1px dotted var(--ac-results-border);
  overflow: hidden;
  z-index: calc(infinity);
}
.ac_results ul {
  width: 100%;
  list-style: none;
  list-style-position: outside;
  padding: 0;
  margin: 0;
}
.ac_results li {
  margin: 0;
  padding: 2px 5px;
  cursor: default;
  display: block;
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  line-height: 16px;
  overflow: hidden;
}

.ac_loading {
  background: url("loader.svg") right center no-repeat;
  background-color: transparent;
}

body.dark-mode .ac_loading {
  background-image: url(loader-dark.svg);
}

.ac_odd {
  background-color: var(--ac-results-background);
}

.ac_over {
  color: var(--ac-results-over);
  background-color: var(--ac-results-over-background);
}

/* password show/hide */
.pw-show,
.pw-hide {
  width: 2.25em;
  height: 1.75em;
  margin-left: 0.25em;
}
.pw-show, .pw-show:is(:hover, :focus, :active),
.pw-hide,
.pw-hide:is(:hover, :focus, :active) {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.pw-show:is(:hover, :focus, :active),
.pw-hide:is(:hover, :focus, :active) {
  background-color: #fff;
}

input.maximal.pwd_helper {
  max-width: calc(100% - 3em);
}

body.auth .pw-show,
body.auth .pw-hide {
  height: 2em;
}

.pw-show, .pw-show:is(:hover, :focus, :active) {
  background-image: url("../images/pw-show.svg");
}

.pw-hide, .pw-hide:is(:hover, :focus, :active) {
  background-image: url("../images/pw-hide.svg");
}

body.dark-mode .pw-show {
  background-image: url("../images/pw-show-dark.svg");
}
body.dark-mode .pw-show:is(:hover, :focus, :active) {
  background-image: url("../images/pw-show.svg");
}
body.dark-mode .pw-hide {
  background-image: url("../images/pw-hide-dark.svg");
}
body.dark-mode .pw-hide:is(:hover, :focus, :active) {
  background-image: url("../images/pw-hide.svg");
}

.dt-today {
  width: 2em;
  height: 2em;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.dt-today {
  background-image: url("../images/dt-today.svg");
}
.dt-today:is(:hover, :focus, :active) {
  background-image: url("../images/dt-today-hover.svg");
}

body.dark-mode .dt-today {
  background-image: url("../images/dt-today-dark.svg");
}
body.dark-mode .dt-today:is(:hover, :focus, :active) {
  background-image: url("../images/dt-today-hover-dark.svg");
}

#login-screen :is(#user_pwd, #new_pwd, #new_pwd_c).pwd_helper {
  width: calc(100% - 2.51em);
}

/* password strength indicator */
.pw-strength-meter {
  display: block;
  margin-block-start: 0.25em;
}

/* ------------------------------------------------------------------ navigation */
/* selects accès rapide */
.anchor-nav-sticky {
  background: var(--nav-background);
  position: sticky;
  top: 0;
  padding: 0.5em 0 1em;
}

.anchor-nav {
  background: var(--nav-background);
  margin: 0;
  display: flex;
  gap: 0.5em;
  align-items: center;
}
.anchor-nav label {
  display: flex;
  gap: 0.5em;
  align-items: center;
}

/* nav links */
.nav_prevnext {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75em;
  line-height: 1.25;
  margin-bottom: 2em;
}

.nav_prevnext a,
a.back {
  color: var(--nav-prevnext);
  border: 1px solid var(--button-border);
  padding: 0.25em 1.5em;
  border-radius: 0.5em;
  background-color: var(--nav-prevnext-background);
}
.nav_prevnext a:is(:hover, :focus),
a.back:is(:hover, :focus) {
  color: var(--reset-color);
  background-color: var(--reset-background-alt);
}

a.back::before {
  content: "< ";
  content: "← "/"< ";
}

a.onblog_link {
  color: var(--onblog-link);
  float: right;
  border: 1px solid var(--button-border);
  padding: 0.125em 1.5em;
  border-radius: 0.5em;
  background-color: var(--onblog-link-background);
}
a.onblog_link:is(:hover, :focus) {
  color: var(--reset-color);
  background-color: var(--reset-background-alt);
}
a.onblog_link.outgoing {
  position: relative;
  padding-right: 2em;
  margin-inline-start: 1em;
}
a.onblog_link.outgoing img {
  position: absolute;
  top: 0.25em;
  right: 0.5em;
}

img.go_home {
  width: 1em;
  height: auto;
}

.blog-title {
  color: var(--title-color);
}

/* Pagination */
.pager {
  margin: 2em 0 1em 0;
  clear: left;
}
.pager ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.pager li,
.pager input {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.33em 0 0;
  padding: 0;
  text-align: center;
}
.pager .btn {
  border: 1px solid var(--button-border);
  background-color: var(--pager-background);
  color: var(--pager-link);
  border-radius: 3px;
  overflow: hidden;
  padding: 0.125em 0.25em;
  min-width: 2em;
}
.pager .btn:is(:hover, :focus) {
  color: var(--reset-color);
  background-color: var(--reset-background-alt);
}
.pager .btn img {
  width: 1em;
  height: auto;
  vertical-align: middle;
}
.pager .btn.no-link {
  padding: 0.125em calc(0.25em + 3px);
  border-color: var(--pager-border);
  background-color: var(--pager-off-background);
}
.pager .active {
  padding: 0.125em 0.25em;
  min-width: 2em;
  color: var(--pager-active);
}
.pager .direct-access {
  margin-left: 2em;
}
.pager .direct-access input[type=number] {
  padding: 0.25em;
}
.pager .direct-access input[type=submit] {
  padding: 0.25em 0.5em;
}
.pager a {
  display: block;
  padding: 0 3px;
  border: none;
}

.index .btn.no-link,
.index a {
  font-variant: small-caps;
}
.index li {
  margin-bottom: 3px;
}
.index a {
  font-weight: bold;
}
.index .btn.no-link {
  color: var(--index-no-link);
}
.index .active {
  color: var(--index-active);
  background: var(--index-active-background);
  border-radius: 3px;
  font-variant: small-caps;
}

/* Etapes */
.step {
  float: left;
  margin: 3px 10px 2px 0;
  padding: 5px 0.5em;
  color: var(--step);
  background: var(--step-background);
  border: 1px solid var(--step-border);
  border-radius: 3px;
  font-weight: bold;
}

/* ------------------------------------------------------------------------- indicateurs */
.info img.mark,
li img.mark,
td img.mark,
p img.mark {
  vertical-align: middle;
}

.entry-status img.mark {
  vertical-align: text-bottom;
}

:is([class^=mark-], [class*=" mark-"]) {
  width: 1.4em;
}

.mark-attach {
  filter: var(--mark-attach-filter);
}

.mark-selected {
  filter: var(--mark-selected-filter);
}

.mark-pending {
  filter: var(--mark-pending-filter);
}

.mark-locked {
  filter: var(--mark-locked-filter);
}

.entry-comments-closed .entry-comments-count,
.entry-trackbacks-closed .entry-trackbacks-count {
  color: var(--entry-feedback-closed-color);
}

/* ---------------------------------------------------------------- utilisables partout  */
.legible {
  max-width: 62em;
}

.fieldset {
  margin: 1em 0;
  padding: 1em;
  border-width: 1px;
  border-style: solid;
  border-color: var(--fieldset-border);
  background: var(--fieldset-background);
}
.fieldset hr {
  background-color: var(--fieldset-border);
  border-width: 0;
  margin: 0 0 1em 0;
}
.fieldset:focus-within {
  background-color: var(--fieldset-focus-background);
}
@media (prefers-contrast: more) {
  .fieldset:focus-within {
    outline: 1px solid var(--fieldset-border);
  }
}
.fieldset > *:last-child {
  margin-bottom: 0;
}
.fieldset :is(h3, h4) {
  width: 100%;
  padding: 0;
  margin-bottom: 0.75em;
  color: var(--fieldset-pretty-title-color);
  font-size: 1em;
  font-size: round(nearest, 1em, 1px);
  font-weight: bold;
}

:is(.right, .txt-right) {
  text-align: right;
}

.txt-center {
  text-align: center;
}

.txt-left {
  text-align: left;
}

.no-margin,
label.no-margin {
  margin-top: 0;
  margin-bottom: 0;
}

.vertical-separator {
  margin-top: 2em;
  width: 100%;
}

p.clear.vertical-separator {
  padding-top: 2em;
}

.border-top {
  border-top: 1px solid var(--link-border);
  padding-top: 1em;
  margin-top: 1em;
}

.grid {
  background: url("grid.svg") repeat 0 0;
  background-size: 10px;
  background-color: transparent;
}

ul.nice {
  margin: 1em 0;
  padding: 0 0 0 2em;
  list-style: square;
}
ul.nice li {
  margin: 0;
  padding: 0;
}

ul.from-left {
  list-style-type: none;
  padding-left: 0;
  margin: 1em 0;
}
ul.from-left > li {
  margin-top: 1em;
  margin-bottom: 1em;
}
ul.from-left ul {
  list-style-type: square;
}

.offline {
  color: var(--offline);
  background: var(--offline-background);
}

/* caché pour tout le monde */
.hide,
.button.hide {
  display: none !important;
}

/* Caché sauf pour les revues d'écran */
.hidden,
.with-js .out-of-screen-if-js {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

@media not (scripting: none) {
  .out-of-screen-if-js {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden;
  }
}
/* caché si js est inactif */
.no-js .hidden-if-no-js {
  display: none;
}

@media (scripting: none) {
  .hidden-if-no-js {
    display: none;
  }
}
/* caché si js est actif */
.with-js .hidden-if-js {
  display: none;
}

@media not (scripting: none) {
  .hidden-if-js {
    display: none;
  }
}
/* Tailles des icônes SVG */
:is(.icon-small, .icon-mini) {
  width: 1em;
  height: 1em;
  vertical-align: text-top;
}

:is(.icon-medium) {
  width: 4em;
  height: 4em;
}

/* ---------------------------------------------- Couleurs ajoutées via javascript

/* Sortable (jQuery UI) */
.sortable-area {
  border: 1px dashed currentColor;
  background-color: var(--main-menu-background);
}

div.ui-sortable-handle {
  border: 1px dashed currentColor;
  border-radius: 0.75em;
}
#dashboard-main div.ui-sortable-handle {
  padding: 1em !important;
  margin-bottom: 1em !important;
  background: var(--ui-sortable-background) !important;
}
#dashboard-main div.ui-sortable-handle .ui-sortable-handle {
  background: var(--ui-sortable-background-bis) !important;
}
#dashboard-main div.ui-sortable-handle .ui-sortable-handle .ui-sortable-handle {
  background: var(--ui-sortable-background-ter) !important;
}
#dashboard-main div.ui-sortable-handle:hover {
  cursor: move;
}

tr.ui-sortable-handle:hover {
  cursor: move;
}

/* Sortable (JS), generally table using header */
.js-sortable th:hover {
  cursor: pointer;
}

/* Badges (common.js) */
.badgeable {
  /* class to set to badge parent's, not mandatory for menu items */
  position: relative;
}

/* Badge design */
.badge {
  font-size: smaller;
  font-size: round(nearest, 0.8333333333em, 1px);
  color: var(--badge-color);
  background-color: var(--badge-std-background);
  border: 1px solid transparent;
  vertical-align: top;
  border-radius: 0.25em;
  padding: 0.1em 0.5em 0;
}

@media (prefers-contrast: more) {
  .badge {
    border: 1px solid var(--badge-border);
  }
}
.badge-icon {
  background-color: var(--badge-soft-background);
}

/* Badge background override */
.badge-std {
  background-color: var(--badge-std-background);
}

.badge-info {
  background-color: var(--badge-info-background);
}

.badge-soft {
  background-color: var(--badge-soft-background);
}

/* Badge position */
.badge-block {
  /* Dashboard module/icon → badge on top right */
  position: absolute;
  top: -10px;
  right: -10px;
}

.badge-theme {
  position: absolute;
  bottom: 1px;
  top: auto;
  right: 1px;
  background-color: var(--badge-soft-background);
  color: contrast-color(var(--badge-soft-background));
  font-size: round(nearest, 0.75em, 1px);
}

.badge-theme-glaz {
  background-color: var(--theme-tplset-glaz);
  color: contrast-color(var(--theme-tplset-glaz));
}

.badge-theme-dotty {
  background-color: var(--theme-tplset-dotty);
  color: contrast-color(var(--theme-tplset-dotty));
}

@media screen and (width <= 600px) {
  .badge-block {
    right: -5px;
  }
  .box .badge-block {
    /* Dashboard module → badge on top right, inside box */
    top: 0.25em;
    right: 0.25em;
  }
}
.badge-icon {
  /* Dashboard icon → badge on top right */
  right: 1.75em;
}

@media screen and (width <= 600px) {
  .badge-icon {
    top: 5px;
  }
}
.badge-inline {
  /* Menu item */
  margin-left: 0.5em;
  font-size: 0.75em;
  font-size: round(nearest, 0.75em, 1px);
  height: fit-content;
  width: fit-content;
}

.badge-left {
  right: auto;
  left: -10px;
}
.badge-left.badge-icon {
  left: 20px;
}

/* Badge design option */
.badge-noborder {
  border: none;
}

.badge-small {
  font-size: smaller;
  font-size: round(nearest, 0.8333333333em, 1px);
}
.badge-small.badge-icon {
  right: 25px;
}
.badge-small.badge-icon.badge-left {
  right: auto;
  left: 25px;
}

.badge-square {
  border-radius: 0;
}

/* ------------------------------------------------------------------------------------
                              UN POIL DE MEDIA QUERIES
------------------------------------------------------------------------------------ */
@media screen and (width <= 1280px) {
  #header,
  h1 {
    background: var(--header-background-alt);
  }
  #debug-btn {
    margin-inline: 0 auto;
  }
  #top-info-user {
    background: var(--header-background);
    border-top: 1px solid var(--header-border);
  }
  #top-info-user a.active {
    color: var(--header-active-color-alt);
    background: var(--header-active-background-alt);
  }
  #wrapper {
    background: var(--wrapper-background);
  }
  .modules th:is(.module-desc, .module-desc) {
    display: none;
  }
}
@media screen and (width <= 1024px) {
  #help-button {
    background-color: var(--header-border);
    padding: 0;
    font-size: 0.83em;
    font-size: round(nearest, 0.83em, 1px);
    line-height: 68px;
  }
}
@media screen and (width <= 600px) {
  h1 a:link {
    border-right: 1px solid var(--tabs-border);
  }
  h1 a:hover, h1 a:focus {
    border-right: 1px solid var(--tabs-border);
  }
  #dashboard-main {
    padding: 0;
  }
  #content,
  .hide-mm #content {
    padding: 0 0.5em !important;
  }
  #main #content > h2 {
    padding: 6px 30px 4px 0.5em;
  }
  .cell,
  #filters-form .cell {
    border: none;
    padding: 1em;
  }
}
@media screen and (width <= 600px) {
  h1,
  h1 a {
    border-right: var(--header-border-alt) !important;
  }
  #content.with-help #help {
    font-size: 1.2rem;
    font-size: round(nearest, 1.2rem, 1px);
  }
  p.top-add,
  p.new-stuff {
    text-align: center;
    justify-content: left;
  }
  .multi-part {
    padding-left: 0;
  }
  .part-tabs ul,
  .pseudo-tabs ul {
    padding: 0 0.5em;
  }
  #icons p {
    padding: 1em 0.25em;
  }
  .box.current-theme {
    padding: 10px;
  }
  :is(th, td) {
    padding: 0.3em 1em 0.3em 0;
  }
}
/** --------------------------------------------------
  Plugins
--------------------------------------------------- */
/* dcCKEditor */
.cke textarea.cke_source {
  font-family: var(--monospace);
  font-size: 100%;
  font-size: round(nearest, 100%, 1px);
}

/* Media alignement */
.media-center {
  display: table;
  margin: 0 auto;
}

.media-left {
  float: inline-start;
  margin-inline-end: 1em;
  margin-block-end: 1em;
}

.media-right {
  float: inline-end;
  margin-inline-start: 1em;
  margin-block-end: 1em;
}

/** --------------------------------------------------
  3rd parties
--------------------------------------------------- */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #ccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #ccc;
}
.mfp-preloader a:hover {
  color: #fff;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover, .mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover, .mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before, .mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #fff;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #fff;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 98%;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
  min-height: 25vh;
  object-fit: scale-down;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}
.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
   * Remove all paddings around the image on small screen
   */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
/* CodeMirror CSS */
.CodeMirror {
  /* Set height, width, borders, and global font properties here */
  font-family: var(--monospace) !important;
}

.CodeMirror-vscrollbar,
.CodeMirror-hscrollbar {
  scrollbar-color: var(--scroll) var(--body-background) !important;
}

/** --------------------------------------------------
    Debug
--------------------------------------------------- */
/* debug */
#debug-btn {
  color: var(--header-color);
  background: var(--header-background);
  border: none;
}

.debug-anchor {
  anchor-name: --debug-anchor;
}

#debug {
  position: absolute;
  position-anchor: --debug-anchor;
  position-area: bottom;
  width: fit-content;
  height: fit-content;
  margin: 1em 0.5em 0 0.25em;
  padding: 1em 1em 0 1em;
  color: var(--debug-color);
  background: var(--debug-background);
  border: 2px solid;
  font-size: 0.8333333333em;
  font-size: round(nearest, 0.8333333333em, 1px);
}
