/* roboto-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('/lib/Font/roboto-v30-latin/roboto-v30-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/lib/Font/roboto-v30-latin/roboto-v30-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-italic - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 400;
    src: url('/lib/Font/roboto-v30-latin/roboto-v30-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/lib/Font/roboto-v30-latin/roboto-v30-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-500 - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    src: url('/lib/Font/roboto-v30-latin/roboto-v30-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/lib/Font/roboto-v30-latin/roboto-v30-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-500italic - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 500;
    src: url('/lib/Font/roboto-v30-latin/roboto-v30-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/lib/Font/roboto-v30-latin/roboto-v30-latin-500italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* roboto-mono-regular - latin */
@font-face {
    font-display: swap;
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: 400;
    src: url('/lib/Font/roboto-mono-v22-latin/roboto-mono-v22-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
         url('/lib/Font/roboto-mono-v22-latin/roboto-mono-v22-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

:root {
    --font-family: "Roboto", arial, helvetica, sans-serif;
    --font-family-code: "Roboto Mono", monospace;
    --font-size-small: .8rem;
    --font-size: .9rem;
    --font-size-large: 1rem;
    --font-weight: 400;
    --font-weight-bold: 500;

    --black: #000000;
    --black-light: color-mix(in srgb, var(--black) 80%, white);
    --gray: color-mix(in srgb, var(--black) 20%, white);
    --gray-light: color-mix(in srgb, var(--black) 14%, white);
    --white: #FFFFFF;
    --white-light: color-mix(in srgb, var(--black) 4%, white);
    --red: #E40000;
    --red-light: color-mix(in srgb, var(--red) 15%, white);
    --green: #7FC600;
    --green-light: color-mix(in srgb, var(--green) 15%, white);
    --blue: #26669F;
    --blue-light: color-mix(in srgb, var(--blue) 15%, white);
    --orange: #FF8C00;
    --orange-light: color-mix(in srgb, var(--orange) 15%, white);
    --yellow: #FFFF40;
    --yellow-light: color-mix(in srgb, var(--yellow) 15%, white);
    --link-color: var(--blue);
    --link-color-light: var(--blue-light);

    --box-shadow-small: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
    --box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
    --border: 1px solid var(--gray-light);
    --border-radius-small: .3em;
    --border-radius: .6em;
    --line-height: 1.5;
    --icon-spacing: .4em;

    --spacing-default: .4em;
    --navigation-width: 15rem;
    --header-height: 2.8rem;
    --transition-default-speed: .2s;
    --functions-size: 4rem;

    interpolate-size: allow-keywords;
}

html {
    overflow-y: auto;
    overflow-x: hidden;
    min-width: 320px;
}

body {
    font-family: var(--font-family);
    font-size: var(--font-size);
    font-weight: var(--font-weight);
    line-height: var(--line-height);
    margin: 0;
}

a,
a:link,
a:visited {
    text-decoration: none;
    color: var(--link-color);
}

a:hover {
    text-decoration: underline;
}

h1 {
    font-size: 1.3rem;
}

h2 {
    font-size: 1.2rem;
}

h3 {
    font-size: 1.1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: var(--font-weight-bold);
}

code {
    font-family: var(--font-family-code);
    font-size: var(--font-size-small);
    color: var(--black);
    background-color: var(--white-light);
    padding: 0 .2rem;
    border: var(--border);
    border-radius: var(--border-radius-small);
}

pre code {
    display: block;
    border-left: 3px solid var(--gray);
    padding: .5em 1em;
}

hr {
    margin: 1.5em 0;
    border: 1px solid var(--black-light);
}

fieldset {
    border: 0;
    padding: 0;
    margin: 3em 0 2em 0;
}

iframe {
    width: 100%;
}

strong,
b {
    font-weight: var(--font-weight-bold);
}

i.fa-regular,
i.fa-solid {
    color: var(--black-light);
}

a > i.fa-regular,
a > i.fa-solid {
    color: var(--link-color);
}

a:has(i.fa-regular),
a:has(i.fa-solid) {
    text-decoration: none;
    padding: var(--icon-spacing);
    cursor: pointer;
}

a:has(i.fa-regular):hover,
a:has(i.fa-solid):hover {
    border-radius: var(--border-radius-small);
    background-color: var(--link-color-light);
}

i.fa-circle-check,
a > i.fa-circle-check {
    color: var(--green);
}

a:has(i.fa-circle-check):hover {
    background-color: var(--green-light);
}

i.fa-circle-exclamation,
a > i.fa-circle-exclamation {
    color: var(--orange);
}

a:has(i.fa-circle-exclamation):hover {
    background-color: var(--orange-light);
}

i.fa-trash-can,
i.fa-recycle,
i.fa-circle-xmark,
a > i.fa-trash-can,
a > i.fa-recycle,
a > i.fa-circle-xmark {
    color: var(--red);
}

a:has(i.fa-trash-can):hover,
a:has(i.fa-recycle):hover,
a:has(i.fa-circle-xmark):hover {
    background-color: var(--red-light);
}

select,
textarea,
input,
ul.chosen-choices,
.clx-select .ts-control,
.clx-select.focus .ts-control,
.clx-select .ts-dropdown,
[contenteditable] {
    font-family: var(--font-family);
    font-size: var(--font-size);
    background-color: var(--white);
    margin: .25em .5em .25em 0;
    padding: var(--spacing-default) .6em;
    border: var(--border);
    box-sizing: border-box;
    text-align: left;
    width: 25em;
    border-radius: 0;
    box-shadow: none;
}

div.chosen-container,
select:not([multiple]) {
    width: auto;
    min-width: 10em;
    max-width: 25em;
}

.clx-select .ts-dropdown {
    padding: 0;
    margin-top: 0;
    margin-bottom: 0;
    top: calc(100% - .25em);
}

select:hover,
select:focus,
textarea:hover,
textarea:focus,
input:hover,
input:focus,
[contenteditable]:focus {
    background-color: var(--white-light);
}



select:disabled,
table.adminlist:not(.splitview) select:not([multiple]):disabled,
.bulk-functions select:not([multiple]):disabled,
textarea:disabled,
input:disabled,
[contenteditable]:disabled {
    background-color: var(--gray-light);
    cursor: default;
}

textarea:read-only,
input:read-only,
[contenteditable]:read-only {
    background-color: var(--gray-light);
}

select.error,
textarea.error,
input.error,
[contenteditable].error {
    border: 1px solid var(--red);
}

select.compact,
textarea.compact,
input.compact,
[contenteditable].compact {
    width: 6em;
}

select optgroup {
    font-weight: var(--font-weight-bold);
}
.ts-control > input {
    width: 6rem !important;
}
.ts-control > .item {
    background: var(--blue) !important;
    border-radius: var(--border-radius-small) !important;
    border: var(--border) !important;
    color: var(--white) !important;
}

button,
a.button,
input[type="submit"],
input[type="button"],
input[type="reset"],
table.adminlist:not(.splitview) select:not([multiple]),
.bulk-functions select:not([multiple]) {
    font-family: var(--font-family);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-small);
    padding: .7em 1.4em;
    display: inline-block;
    background-color: var(--white-light);
    color: var(--black-light);
    border: var(--border);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow-small);
    width: auto;
    line-height: normal;
    transition: opacity var(--transition-default-speed);
    opacity: 1;
    cursor: pointer;
    text-decoration: none;
}

button:hover,
a.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
table.adminlist:not(.splitview) select:not([multiple]):hover,
.bulk-functions select:not([multiple]):hover {
    background-color: var(--gray-light);
    text-decoration: none;
}

button.btn-primary,
a.button.btn-primary,
input[type="submit"].btn-primary,
input[type="button"].btn-primary,
input[type="reset"].btn-primary {
    background-color: var(--blue);
    border: 1px solid var(--blue);
    color: var(--white);
}

button.btn-primary:hover,
a.button.btn-primary:hover,
input[type="submit"].btn-primary:hover,
input[type="button"].btn-primary:hover,
input[type="reset"].btn-primary:hover {
    background-color: color-mix(in srgb, var(--blue) 85%, white);
    border: 1px solid color-mix(in srgb, var(--blue) 85%, white);
}

button.btn-secondary,
a.button.btn-secondary,
input[type="submit"].btn-secondary,
input[type="button"].btn-secondary,
input[type="reset"].btn-secondary {
    background-color: var(--white);
    color: var(--blue);
}

button.btn-secondary:hover,
a.button.btn-secondary:hover,
input[type="submit"].btn-secondary:hover,
input[type="button"].btn-secondary:hover,
input[type="reset"].btn-secondary:hover {
    background-color: color-mix(in srgb, var(--blue) 85%, white);
    border: 1px solid color-mix(in srgb, var(--blue) 85%, white);
    color: var(--white);
}

button.btn-danger,
a.button.btn-danger,
input[type="submit"].btn-danger,
input[type="button"].btn-danger,
input[type="reset"].btn-danger {
    background-color: var(--white);
    color: var(--red);
}

button.btn-danger:hover,
a.button.btn-danger:hover,
input[type="submit"].btn-danger:hover,
input[type="button"].btn-danger:hover,
input[type="reset"].btn-danger:hover {
    background-color: color-mix(in srgb, var(--red) 85%, white);
    border: 1px solid color-mix(in srgb, var(--red) 85%, white);
    color: var(--white);
}

button.btn-text,
a.button.btn-text,
input[type="submit"].btn-text,
input[type="button"].btn-text,
input[type="reset"].btn-text {
    background-color: transparent;
    border: 1px solid transparent;
    color: var(--black-light);
    box-shadow: none;
}

button.btn-text:hover,
a.button.btn-text:hover,
input[type="submit"].btn-text:hover,
input[type="button"].btn-text:hover,
input[type="reset"].btn-text:hover {
    background-color: var(--gray-light);
    border-radius: var(--border-radius);
    border: var(--border);
    box-shadow: var(--box-shadow-small);
}

button.btn-large,
a.button.btn-large,
input[type="submit"].btn-large,
input[type="button"].btn-large,
input[type="reset"].btn-large {
    font-size: var(--font-size);
    padding: .8em 1.6em;
}

button.btn-small,
a.button.btn-small,
input[type="submit"].btn-small,
input[type="button"].btn-small,
input[type="reset"].btn-small,
table.adminlist:not(.splitview) select:not([multiple]),
.bulk-functions select:not([multiple]) {
    padding: .4em .8em;
}

button:disabled,
button.disabled,
a.button.disabled,
input[type="reset"]:disabled,
input[type="reset"].disabled,
input[type="submit"]:disabled,
input[type="submit"].disabled,
input[type="button"]:disabled,
input[type="button"].disabled {
    opacity: .5;
    cursor: default;
}

.ui-dialog:has(.clx-choose-dialog) {
    width: auto !important;
    max-width: 50vw;
    max-height: 80vh;
}
.clx-choose-dialog {
    overflow-y: scroll;
    max-height: calc(80vh - 2em);
}
.clx-choose-dialog ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    align-items: center;
    justify-content: center;
    margin: .8em 2em 1.5em 2em;
    padding: 0;
}
.clx-choose-dialog ul li a {
    display: flex;
    align-items: center;
    flex-direction: column;
    border: var(--border);
    border-radius: var(--border-radius);
    gap: 1em;
    padding: 1em;
    box-shadow: var(--box-shadow-small);
    aspect-ratio: 1/1;
    justify-content: center;
    height: 6em;
    text-align: center;
    font-size: var(--font-size);
    word-break: break-word;
}
.clx-choose-dialog ul li a i {
    font-size: 2em;
}

.clx-choose-dialog ul li a:hover {
    border-radius: var(--border-radius);
}

.clx-choose-dialog ul li a.clx-default {
    background-color: var(--link-color);
    color: var(--white);
}
.clx-choose-dialog ul li a.clx-default i {
    color: var(--white);
}

.clx-button-list {
    position: relative;
    padding-right: 1em;
}
.clx-button-list .clx-button-menu {
    display: none;
    margin: 0 !important;
    position: absolute;
    right: 0;
}
.clx-button-list.active .clx-button-menu {
    display: flex;
    z-index: 1;
}
.clx-button-list::after {
    content: "\f142"; /* fa-ellipsis-vertical */
    font-family: "Font Awesome 7 Free";
    font-weight: 900; /* fa-solid */
    display: block;
    position: absolute;
    right: 0;
    top: var(--spacing-default);
    bottom: var(--spacing-default);
    padding: 6px 0;
    width: 1.4em;
    text-align: center;
    font-size: var(--font-size-large);
    cursor: pointer;
    transition: opacity var(--transition-default-speed);
    color: var(--link-color);
}
.clx-button-list:not(:has(>:hover)):hover::after {
    border-radius: var(--border-radius-small);
    background-color: var(--link-color-light);
}
.clx-button-list .clx-button-menu {
    flex-direction: column;
}
.clx-button-list .clx-button-menu>* {
    margin-right: 0;
}

input[type="radio"],
input[type="checkbox"] {
    margin: revert;
    width: auto;
}

input[type="radio"]:hover,
input[type="checkbox"]:hover {
    cursor: pointer;
}

input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
    cursor: default;
}

input[type="checkbox"].clx-switch {
    --switch-width: 30px;
    --padding: 1px;
    appearance: none;
    position: relative;
    display: block;
    box-sizing: content-box;
    width: var(--switch-width);
    height: calc(var(--switch-width) / 2);
    padding: var(--padding);
    border: none;
    cursor: pointer;
    border-radius: calc(var(--switch-width) / 3);
    overflow: hidden;
    background-color: var(--black-light);
    transition: background ease 0.3s;
}
input[type="checkbox"].clx-switch:before {
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    height: calc(var(--switch-width) / 2);
    width: calc(var(--switch-width) / 2);
    font-family: system-ui;
    font-size: calc(var(--switch-width) / 4.5);
    line-height: calc(var(--switch-width) / 2.25);
    font-weight: 500;
    text-transform: uppercase;
    text-indent: calc(var(--switch-width) / -2.25);
    word-spacing: calc(var(--switch-width) / 1.76);
    text-shadow: -1px -1px rgba(0,0,0,0.15);
    white-space: nowrap;
    background: var(--white);
    color: var(--white);
    border-radius: calc(var(--switch-width) / 3);
    transition: transform var(--transition-default-speed);
    top: var(--padding);
}
input[type="checkbox"].clx-switch:checked {
    background-color: var(--green);
}

input[type="checkbox"].clx-switch:checked:before {
    transform: translateX(calc(var(--switch-width) * .5));
}

header {
    position: fixed;
    top: 0;
    width: 100%;
    height: var(--header-height);
    background-color: var(--blue);
    display: flex;
    z-index: 10;
    justify-content: space-between;
    align-items: center;
    box-shadow: var(--box-shadow);
}

header a.logo {
    height: 1.5em;
    width: auto;
    aspect-ratio: auto 558 / 95;
    margin: 0;
    margin-left: 1rem;
    padding: var(--icon-spacing);
}

header a:hover {
    background-color: color-mix(in srgb, var(--blue) 85%, white);
    border-radius: var(--border-radius-small);
}

section {
    overflow-y: auto;
    height: 100%;
    max-height: calc(100vh - var(--header-height));
    box-sizing: border-box;
    position: fixed;
    top: var(--header-height);
}

#mainnav {
    overflow-x: hidden;
    width: var(--navigation-width);
    background-color: var(--white-light);
    border-right: var(--border);
    padding: var(--spacing-default) var(--spacing-default) 3rem var(--spacing-default);
    font-size: var(--font-size-large);
}

#content {
    overflow-x: auto;
    width: calc(100vw - var(--navigation-width));
    left: var(--navigation-width);
    background-color: var(--white);
}

#content>div {
    min-width: fit-content;
    max-width: 100%;
    padding: 2em 2em 5em 2em;
}

#content_login_center {
    max-width: 25%;
    min-width: 500px;
    margin-top: calc(var(--header-height) + 20vh);
    margin-bottom: 20vh;
    margin-left: auto;
    margin-right: auto;
    background-color: rgba(255, 255, 255, .5);
    backdrop-filter: blur(10px);
    border-radius: var(--border-radius-small);
}

#content_login {
    box-shadow: var(--box-shadow);
    padding: 2em 4em 3em 4em;
}

#content_login input[type="password"],
#content_login input[type="text"],
#content_login input[type="email"],
#content_login input[type="submit"],
#content_login input[type="button"] {
    width: 100%;
}

#content_login input[type="submit"],
#content_login input[type="button"] {
    text-align: center;
    margin: 2rem 0 1rem 0;
}

#content_login div.content_login_back {
    text-align: center;
}

#content_login div.error {
    padding: 10px 0 3px 0;
    color: var(--red);
}

#content_login div.content_login_remember {
    display: flex;
    margin: .5rem 0;
    font-size: var(--font-size-small);
}

#metanavigation i {
    color: var(--white);
}

#metanavigation a {
    color: var(--white);
    max-width: 15rem;
    overflow: hidden;
    font-size: 0;
}

#metanavigation a:hover {
    text-decoration: none;
    background-color: color-mix(in srgb, var(--blue) 85%, white);
    transition: background-color var(--transition-default-speed) ease;
    border-radius: var(--border-radius-small);
}

#metanavigation a i {
    font-size: var(--font-size-large);
}

#metanavigation > ul {
    display: flex;
    align-items: stretch;
    gap: 1rem;
    margin: 0;
    margin-right: 1rem;
    padding: 0;
    font-size: var(--font-size-large);
}

#metanavigation ul li {
    list-style: none;
    white-space: nowrap;
    display: flex;
}

#metanavigation ul li form {
    display: flex;
    align-items: center;
}

#metanavigation ul ul {
    display: none;
    position: absolute;
    top: calc(var(--header-height));
    margin: 0;
    padding: 0;
    background-color: var(--white);
    box-shadow: var(--box-shadow-small);
    border: var(--border);
    border-radius: var(--border-radius-small);
}

#metanavigation ul li.active ul {
    display: block;
}

#metanavigation ul li>*:first-child {
    display: flex;
    align-items: center;
}

#metanavigation ul ul li {
    margin: var(--spacing-default);
    flex-direction: column;
}

#metanavigation ul ul li i,
#metanavigation ul ul li a {
    color: var(--black-light);
    font-size: var(--font-size);
    padding: .2rem .6rem;
}

#metanavigation ul li ul a:hover,
#metanavigation ul li ul a.active {
    background-color: var(--white-light);
    border-radius: var(--border-radius-small);
    transition: background-color var(--transition-default-speed) ease;
    text-decoration: none;
}

#metanavigation ul li ul a.active {
    color: var(--black);
    font-weight: var(--font-weight-bold);
}

#metanavigation .icon {
    position: relative;
}

#metanavigation .icon.unread:after {
    font-size: calc(var(--font-size-large) / 3);
    font-weight: 900; /* fa-solid */
    font-family: "Font Awesome 7 Free";
    content: "\f111"; /* fa-circle */
    color: var(--yellow);
    position: absolute;
}

#metanavigation li:has(.icon.slide-in) {
    justify-content: flex-end;
}

#metanavigation .icon.slide-in+* {
    width: 0;
    overflow: clip;
    transition: all var(--transition-default-speed);
}

#metanavigation .icon.slide-in.active+* {
    width: 20em;
}

#metanavigation input {
    margin: 0;
    margin-left: .5em;
}

#mainnav .navigation_level_1 {
    width: 100%;
    padding: 0;
    margin: 0;
    list-style-type: none;
    color: var(--black-light);
}

#mainnav .navigation_level_1 li {
    position: relative;
    padding: .8rem .6rem;
    border-radius: var(--border-radius-small);
}

#mainnav .navigation_level_1 li.active {
    color: var(--black);
    font-weight: var(--font-weight-bold);
}

#mainnav .navigation_level_1 li:hover {
    background-color: var(--gray-light);
    transition: background-color var(--transition-default-speed) ease;
    cursor: pointer;
}

#mainnav .navigation_level_1 li.inactive .icon_2 .active,
#mainnav .navigation_level_1 li.active .icon_2 .inactive {
    display: none;
}

#mainnav .navigation_level_1 li.active .icon_2 .active,
#mainnav .navigation_level_1 li.inactive .icon_2 .inactive {
    display: inline;
}

#mainnav .navigation_level_1 li .icon_2 {
    font-weight: 900; /* fa-solid */
    font-family: "Font Awesome 7 Free";
    margin-right: .3rem;
    width: 1.2rem;
    display: block;
    float: left;
    text-align: center;
}

#mainnav .navigation_level_1.navigation_spacer li {
    border-top: var(--border);
    margin-top: 3rem;
}

#mainnav .navigation_level_2 {
    width: 100%;
    padding: 0;
    margin: 0;
    list-style-type: none;
}

#mainnav .navigation_level_2.inactive {
    display: none;
}

#mainnav .navigation_level_2 li.active,
#mainnav .navigation_level_2 li:hover {
    background-color: var(--gray-light);
    border-radius: var(--border-radius-small);
    transition: background-color var(--transition-default-speed) ease;
}

#mainnav .navigation_level_2 li a {
    color: var(--black-light);
    font-size: var(--font-size);
    display: block;
    padding: .2rem .6rem;
}

#mainnav .navigation_level_2 li a:hover {
    text-decoration: none;
}

#mainnav .navigation_level_2 li.active a {
    color: var(--black);
    font-weight: var(--font-weight-bold);
}

/**
 * Hide first level if we're in a "non-core app"
 * But do not hide second level (if any)
 */
#content.standalone #subnavbar_level1 {
    margin: 0;
}

#content.standalone #subnavbar_level1>nav>*:not(#subnavbar_level2) {
    display: none;
}

/**
 * Hide navigation if it has but one entry
 */
table#subnavbar_level1:has(.navi a:only-child),
#subnavbar_level1:has(nav > a:only-child),
#subnavbar_level1:has(nav:empty) {
    display: none;
}

#subnavbar_level1,
#content.standalone #subnavbar_level2 {
    display: flex;
    margin: .5em 0;
    border-spacing: inherit;
    font-size: var(--font-size-large);
}

#subnavbar_level1 a,
#content.standalone #subnavbar_level2 a {
    color: var(--black-light);
    margin-right: .5rem;
    display: inline-flex;
    font-size: inherit;
    padding: .2rem .6rem;
}

#subnavbar_level1 a:hover,
#content.standalone #subnavbar_level2 a:hover,
#subnavbar_level1 a.active,
#content.standalone #subnavbar_level2 a.active {
    background-color: var(--white-light);
    border-radius: var(--border-radius-small);
    transition: background-color var(--transition-default-speed) ease;
}


#subnavbar_level1 a:hover,
#content.standalone #subnavbar_level2 a:hover {
    text-decoration: none;
}

#subnavbar_level1 a.active,
#content.standalone #subnavbar_level2 a.active {
    color: var(--black);
    font-weight: var(--font-weight-bold);
}

#language_selection {
    float: right;
    margin: .5em 0 1em 0;
}

#language_selection:empty {
    display: none;
}

#subnavbar_level2 {
    display: flex;
    margin: .5em 0;
}

#subnavbar_level2 ul {
    margin: 0;
    padding: 0;
}

#subnavbar_level2 li {
    float: left;
    width: auto;
    list-style-type: none;
}

#subnavbar_level2 a {
    color: var(--black-light);
    margin-right: .5rem;
    display: inline-flex;
    font-size: var(--font-size);
    padding: .2rem .6rem;
}

#subnavbar_level2 a:hover,
#subnavbar_level2 a.active {
    background-color: var(--white-light);
    border-radius: var(--border-radius-small);
    transition: background-color var(--transition-default-speed) ease;
    text-decoration: none;
}

#subnavbar_level2 a.active {
    color: var(--black);
    font-weight: var(--font-weight-bold);
}

#contentmenu,
#contentLanguages,
#blockLanguages,
.tabmenu,
#langmenu {
    display: flex;
    margin: 3em 0 1em 0;
    padding: 0;
    list-style-type: none;
}

.tabmenu:not(:has(:nth-child(2))) {
    display: none;
}

.tab[data-tablist] {
    display: none;
}

.tab[data-tablist].active {
    display: block;
}

.vg-form .tabmenu {
    margin-top: 1em;
    margin-bottom: 1em;
}

#contentLanguages li,
#blockLanguages li,
.tabmenu li,
#langmenu li {
    float: left;
    width: auto;
    margin-right: .5rem;
}

#contentLanguages a,
#blockLanguages a,
.tabmenu a,
#langmenu a {
    display: block;
    color: var(--black-light);
    font-size: var(--font-size);
    background-color: transparent;
    border-radius: var(--border-radius-small);
    padding: .4em .8em;
    border: var(--border);
    box-shadow: var(--box-shadow-small);
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    transition: background-color var(--transition-default-speed) ease;
}

.tabmenu a:after {
    content: attr(data-tab-title);
    visibility: hidden;
    overflow: hidden;
    font-weight: var(--font-weight-bold);
    height: 0;
}

#contentLanguages a:hover,
#contentLanguages a.active,
#blockLanguages a:hover,
#blockLanguages a.active,
.tabmenu a:hover,
.tabmenu a.active,
#langmenu a:hover,
#langmenu a.active {
    background-color: #DCE8F4;
    text-decoration: none;
    color: var(--blue);
}

#contentLanguages a.active,
#blockLanguages a.active,
.tabmenu a.active,
#langmenu a.active {
    font-weight: var(--font-weight-bold);
}

#administrators_online a {
    margin: 0 !important;
    color: var(--link-color) !important;
}

#alert_stats {
    display: none;
    width: 953px;
    clear: left;
    margin: 20px 0 20px 0;
}

.adminlist,
.vg-form fieldset {
    margin: 1em 0;
    border-collapse: collapse;
    width: 100%;
    min-width: 330px;
    display: inline-table;
    font-size: var(--font-size);
}

.vg-form fieldset.actions {
    background: transparent;
}

table.adminlist caption,
table.adminlist th,
.vg-form legend {
    font-weight: var(--font-weight-bold);
    text-align: left;
    color: var(--black-light);
    padding: 1em var(--spacing-default);
}

.vg-form legend {
    font-size: var(--font-size);
    padding: 1em var(--spacing-default) 0 var(--spacing-default);
}

.adminlist caption .functions,
.adminlist .caption .functions {
    position: fixed;
    right: 2em;
    bottom: 2em;
    display: none;
    justify-content: flex-end;
    flex-direction: column;
    gap: .5em;
    background-color: var(--blue);
    border-radius: var(--border-radius);
    max-height: var(--functions-size);
    width: var(--functions-size);
    box-shadow: var(--box-shadow);
    overflow: hidden;
    transition: max-height .2s ease-out;
    z-index: 1337;
}

.adminlist caption .functions:has(*),
.adminlist .caption .functions:has(*) {
    display: flex;
}

.adminlist caption .functions:hover,
.adminlist .caption .functions:hover {
    max-height: calc(6 * var(--functions-size));
}

.adminlist caption .functions:after,
.adminlist caption .functions a,
.adminlist caption .functions a i,
.adminlist .caption .functions:after,
.adminlist .caption .functions a,
.adminlist .caption .functions a i {
    text-decoration: none;
    text-align: center;
    color: var(--white);
    font-size: 0;
    cursor: pointer;
    font-size: calc(var(--functions-size) / 2);
    height: var(--functions-size);
    line-height: var(--functions-size);
    padding: 0;
}

.adminlist caption .functions:after,
.adminlist .caption .functions:after {
    cursor: default;
    content: "\f142"; /* fa-ellipsis-vertical */
    font-family: "Font Awesome 7 Free";
    font-weight: 900; /* fa-solid */
}

.adminlist caption .functions:has(a:only-child):after,
.adminlist .caption .functions:has(a:only-child):after {
    display: none;
}

.adminlist caption .functions a,
.adminlist .caption .functions a {
    font-size: 0; /* hide text */
}

.adminlist caption .functions a:hover,
.adminlist .caption .functions a:hover {
    background-color: color-mix(in srgb, var(--blue) 85%, white);
    border-radius: var(--border-radius);
}

table.adminlist tr.rowWarn {
    background-color: var(--yellow-light);
}

table.adminlist td,
fieldset .group {
    padding: var(--spacing-default);
    border-top: var(--border);
    border-bottom: var(--border);
    vertical-align: middle;
}
table.adminlist td>code {
    white-space: nowrap;
}

table.adminlist td .functions  {
    white-space: nowrap;
}

table.adminlist td .functions a:hover {
    text-decoration: none;
}

table.adminlist th:last-child:not(:only-child),
table.adminlist td:last-child:not(:only-child) {
    text-align: right;
}

table.adminlist.splitview th:last-child,
table.adminlist.splitview td:last-child,
table.adminlist.no-functions th:last-child,
table.adminlist.no-functions td:last-child {
    text-align: left;
}

table.adminlist.splitview td:first-child {
    width: 35%;
}

table.adminlist.sortable th.sortable a:after {
    font-weight: 900; /* fa-solid */
    font-family: "Font Awesome 7 Free";
    content: "\f175"; /* fa-arrow-down-long */
    margin: var(--icon-spacing);
    transition: var(--transition-default-speed);
    opacity: 0;
    display: inline-block;
    transform: rotateX(0);
}

table.adminlist.sortable th.sortable a:hover {
    text-decoration: none;
}

table.adminlist.sortable th.sortable.asc a:after,
table.adminlist.sortable th.sortable a:hover::after,
table.adminlist.sortable th.sortable.desc a:hover::after {
    transform: rotateX(0);
    opacity: 1;
}

table.adminlist.sortable th.sortable.desc:not(.sort-order-fixed) a:after,
table.adminlist.sortable th.sortable.asc:not(.sort-order-fixed) a:hover::after {
    transform: rotateX(180deg);
    opacity: 1;
}

table.adminlist .sort-handle {
    cursor: pointer;
}

.vg-form fieldset {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

fieldset .group {
    display: flex;
    align-items: center;
    font-weight: var(--font-weight);
    font-size: var(--font-size);
    border-bottom-width: 0;
    padding: var(--spacing-default);
}

fieldset .group:last-child {
    border-bottom: var(--border);
}

fieldset .group>* {
    flex-grow: 1;
    width: 70%;
}

.ui-dialog fieldset .group {
    border-width: 0;
}
.ui-dialog fieldset .group>* {
    flex-grow: 0;
    width: 25em;
}
.ui-dialog fieldset .group select {
    width: auto;
}
.ui-dialog fieldset .group .ts-control {
    margin-right: 0;
    z-index: 1098; /* hack for ui dialog */
}
.ui-dialog fieldset .group .ts-dropdown {
    z-index: 1099; /* hack for ui dialog */
}
.ui-dialog fieldset .ts-dropdown-content {
    max-height: 150px; /* hack for ui dialog */
}

fieldset .group>*:first-child {
    flex-grow: 0;
    width: 30%;
}

fieldset .group .controls>div {
    display: inline-block;
}

input+.icon-info::before,
input+.icon-warning::before,
input+.icon-comment::before {
    margin-left: 0;
}

.icon-info::before,
.icon-warning::before,
.icon-comment::before {
    font-family: "Font Awesome 7 Free";
    color: var(--link-color);
}
.icon-info::before {
    content: "\f059"; /* fa-circle-question */
}
.icon-warning::before {
    font-weight: 900; /* fa-solid */
    content: "\f06a"; /* fa-circle-exclamation */
}
.icon-comment::before {
    content: "\f075"; /* fa-comment */
}

.copy-item {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-default);
}

/* jquery tools tooltip */
.tooltip-wrapper {
    position: relative;
    display: inline-block;
}

.tooltip-message {
    display: none;
    color: var(--white);
    background-color: var(--black-light);
    border: var(--border);
    border-radius: var(--border-radius-small);
    box-shadow: var(--box-shadow-small);
    width: auto;
    max-width: 16rem;
    min-width: 7rem;
    padding: var(--spacing-default) .6em;
    font-size: var(--font-size-small);
    font-weight: var(--font-weight);
    z-index: 9999;
}

.tooltip-message a {
    text-decoration: underline;
    color: var(--white-light);
}

code {
    word-wrap: anywhere;
    white-space: break-spaces;
}

[data-depends]:not(.dependency-met) {
    display: none;
}

.okbox,
.oklabel,
.infobox,
.infolabel,
.warningbox,
.warninglabel,
.alertbox,
.alertlabel {
    display: block;
    margin: .5em 0;
    padding: .8em;
    overflow: auto;
    flex-shrink: 0;
    font-size: var(--font-size-small);
    box-shadow: var(--box-shadow-small);
    border: var(--border);
    border-radius: var(--border-radius-small);
    padding-left: 3em;
    clear: both;
    color: var(--black-light);
}

*+html .okbox,
*+html .infobox,
*+html .warningbox,
*+html .alertbox {
    overflow: hidden;
}

.okbox::before,
.infobox::before,
.warningbox::before,
.alertbox::before {
    font-weight: 900; /* fa-solid */
    font-family: "Font Awesome 7 Free";
    position: absolute;
    margin-left: -2em;
}

.okbox,
.oklabel {
    background-color: var(--green-light);
}

.okbox::before {
    content: "\f058"; /* fa-circle-check */
    color: var(--green);
}

.infobox,
.infolabel {
    background-color: var(--white);
}

.infobox::before {
    content: "\f05a"; /* fa-circle-info */
    color: var(--blue);
}

.warningbox,
.warninglabel {
    background-color: var(--yellow-light);
}

.warningbox::before {
    content: "\f06a"; /* fa-circle-exclamation */
    color: var(--orange);
}

.alertbox,
.alertlabel {
    background-color: var(--red-light);
}

.alertbox::before {
    content: "\f057"; /* fa-circle-xmark */
    color: var(--red);
}

.oklabel,
.warninglabel,
.alertlabel,
.infolabel {
    display: inline-block;
    margin: .25em .5em .25em 0;
    padding: 0 var(--icon-spacing);
    overflow: inherit;
}

.experimental:after {
    content: "Experimental";
    vertical-align: super;
    font-size: var(--font-size-small);
    background-color: var(--orange-light);
    margin: var(--icon-spacing);
}

#content a.button.navigation {
    padding: .4em .8em;
    font-size: var(--font-size-small);
}

div.teaserPreview {
    display: flex;
    width: fit-content;
    max-width: 100%;
    border-radius: var(--border-radius);
    background-color: var(--green-light);
    padding: var(--spacing-default);
}

div.teaserPreview>iframe {
    border: 0;
}

div.paging {
    width: 100%;
    margin: .5em 0;
    min-width: 330px;
    font-size: var(--font-size-small);
    display: inline-flex;
    align-items: center;
    gap: 2.5em;
    justify-content: center;
}

div.paging input {
    width: auto;
    font-size: var(--font-size-small);
}

div.paging span {
    display: flex;
    align-items: center;
    white-space: nowrap;
    gap: .2em;
}

div.paging .button.navigation::before {
    font-weight: 900; /* fa-solid */
    font-family: "Font Awesome 7 Free";
}

div.paging .button.navigation.first::before {
    content: "\f100"; /* fa-angles-left */
}

div.paging .button.navigation.previous::before {
    content: "\f104"; /* fa-angle-left */
}

div.paging .button.navigation.next::before {
    content: "\f105"; /* fa-angle-right */
}

div.paging .button.navigation.last::before {
    content: "\f101"; /* fa-angles-right */
}

.box-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: left;
    margin: 2em 0;
}

.box-item {
    flex-grow: 0;
    flex-shrink: 0;
    flex-basis: 25%;
    padding: 1em 2em;
    border-radius: var(--border-radius);
    border: var(--border);
    box-shadow: var(--box-shadow-small);
    max-width: 50em;
}

.box-item input[type=text],
.box-item textarea {
    width: 100%;
}

.box-item > div:has(>i[class*="fa-plus"]) {
    max-width: 100%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.box-item > div:has(>i.fa-plus) > i {
    margin-left: var(--icon-spacing);
}

.box-item > div:has(>i.fa-plus):nth-of-type(n+2) h2 {
    padding: var(--spacing-default) 0;
    display: flex;
    justify-content: space-between;
    margin: 0;
}

.box-item > div:has(>i.fa-plus) + .box-msg p {
    margin: 0;
    padding: var(--spacing-default) 0;
}

.box-item > div:has(>i.fa-plus) + .box-msg p:first-child {
    padding-top: 0;
}

.box-item > div:has(>i.fa-plus) + .box-msg p:last-child {
    padding-bottom: 0;
}

.box-item div:has(i.fa-plus) + .box-msg {
    display: block;
    max-height: 0;
    overflow: clip;
    transition: all var(--transition-default-speed);
    margin: 0;
}

.box-item div:has(i.fa-plus) + .box-msg > * {
    display: none;
}

.box-item div:has(i.fa-minus) + .box-msg {
    max-height: fit-content;
}

.box-item div:has(i.fa-minus) + .box-msg > * {
    display: inherit;
}

.box-item .resources {
    display: grid;
    align-items: baseline;
    gap: 1em;
    grid-template-columns: repeat(2, 1fr);
}

.box-item .resources p {
    margin: .4em 0;
}

.box-item .resources p+.progress-bar {
    margin: 0;
    margin-bottom: .4em;
}

.box-item .progress-bar {
    display: flex;
    height: .2em;
}

.box-item .progress-bar .progress {
    background-color: var(--blue);
    height: 100%;
}
.box-item .overuse .progress-bar .progress {
    background-color: var(--red);
}

.box-item .progress-bar .progress.remainder {
    background-color: var(--gray);
}

.col-3-layout {
    float: left;
    width: 33.33%;
}

.bulk-functions {
    list-style-type: none;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
    font-size: var(--font-size);
}

.bulk-functions li::before {
    content: "|";
    padding-left: .5em;
    padding-right: .5em;
}

.bulk-functions li:first-child::before {
    content: "";
    padding: 0;
}

.search-functions {
    display: flex;
    flex-direction: column;
    margin: 2em 0 1em 0;
}

.multiselect {
    display: flex;
    gap: 2em;
    align-items: center;
}

.multiselect select {
    overflow-x: auto;
}

.cke_combopanel {
    width: 400px !important;
}

.language-icons {
    display: flex;
    gap: .3em;
}

.language-icon {
    border-radius: var(--border-radius-small);
    padding: var(--icon-spacing);
}

.language-icons .language-icon a {
    color: var(--white);
    font-size: var(--font-size-small);
}

.language-icons .language-icon.active {
    background-color: var(--green);
}

.language-icons .language-icon.inactive {
    background-color: var(--red);
}

.language-icons .language-icon.inexistent {
    background-color: var(--gray);
}

.MediaDirTab th:first-child {
    width: 10%;
}

/* jquery ui css customization */
.ui-dialog.cxDialog {
    position: absolute;
    top: 2px !important;
    border: 1px solid var(--blue);
    border-radius: 0;
    text-align: center;
    box-shadow: var(--box-shadow);
    font-size: var(--font-size);
}

.ui-dialog .ui-dialog-titlebar {
    background: transparent;
    border: none;
}

.ui-dialog .ui-dialog-titlebar-close {
    padding: 0 !important;
    margin: -10px 5px 0 0 !important;
}
.ui-dialog .ui-dialog-titlebar-close.ui-state-hover {
    color: var(--blue);
    border-radius: var(--border-radius-small);
    border: 0;
    background: var(--blue-light);
}
.ui-dialog .ui-icon.ui-icon-closethick {
    background-image: none;
}
.ui-dialog .ui-icon.ui-icon-closethick:after {
    font-family: "Font Awesome 7 Free";
    content: "\f00d"; /* fa-xmark */
    font-weight: 900; /* fa-solid */
    display: block;
    position: absolute;
    top: -2px;
    left: 3px;
    text-indent: 0;
}

.ui-dialog.noTitle .ui-dialog-titlebar {
    display: none;
}

.ui-dialog .ui-dialog-buttonpane {
    border-width: 0 !important;
}

.ui-dialog .error {
    color: var(--red);
}

.ui-dialog #loading {
    float: none;
    width: 100%;
    height: 16px;
    display: flex;
    gap: 1em;
    justify-content: center;
    align-items: center;
}

.ui-dialog #loading span {
    line-height: 1;
}

.ui-dialog #loading img {
    float: left;
}

#ui-datepicker-div {
    z-index: 10000000 !important;
}

/* modal style */
.ui-widget *:not(i.fa-regular,i.fa-solid) {
    font-family: var(--font-family) !important;
}

.ui-widget-overlay {
    background: var(--black-light) !important;
}

.fade {
    opacity: 0;
    transition: opacity var(--transition-default-speed) linear
}

.fade.in {
    opacity: 1
}


.modal-open {
    overflow: hidden
}

.modal {
    display: none;
    overflow: auto;
    overflow-y: scroll;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    -webkit-overflow-scrolling: touch;
    outline: 0;
    font-size: var(--font-size-large);
}

.modal.fade .modal-dialog {
    -webkit-transform: translate(0, -25%);
    -ms-transform: translate(0, -25%);
    transform: translate(0, -25%);
    -webkit-transition: -webkit-transform .3s ease-out;
    -moz-transition: -moz-transform .3s ease-out;
    -o-transition: -o-transform .3s ease-out;
    transition: transform .3s ease-out
}

.modal.in .modal-dialog {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px
}

.modal-content {
    position: relative;
    background-color: var(--white);
    border: var(--border);
    border: none;
    -webkit-box-shadow: 0 5px 200px rgba(0, 0, 0, .5);
    box-shadow: 0 5px 200px rgba(0, 0, 0, .5);
    background-clip: padding-box;
    outline: 0
}

.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000
}

.modal-backdrop.fade {
    opacity: 0;
    filter: alpha(opacity=0)
}

.modal-backdrop.in {
    opacity: .5;
    filter: alpha(opacity=50)
}

.modal-header {
    padding: 15px;
    min-height: 16.43px
}

.modal-header .close {
    margin-top: -2px
}

.modal-title {
    margin: 0;
    line-height: var(--line-height);
}

.modal-body {
    position: relative;
    padding: 20px
}

.modal-footer {
    margin-top: 15px;
    padding: 19px 20px 20px;
    text-align: right;
    border-top: 1px solid var(--gray-light)
}

.modal-footer .btn+.btn {
    margin-left: 5px;
    margin-bottom: 0
}

.modal-footer .btn-group .btn+.btn {
    margin-left: -1px
}

.modal-footer .btn-block+.btn-block {
    margin-left: 0
}

@media (min-width: 768px) {
    .modal-dialog {
        width: 600px;
        margin: 60px auto
    }

    .modal-content {
        -webkit-box-shadow: 0 5px 200px rgba(0, 0, 0, .5);
        box-shadow: 0 5px 200px rgba(0, 0, 0, .5);
    }

    .modal-sm {
        width: 300px
    }

    #metanavigation a {
        font-size: var(--font-size-large);
    }
}

@media (min-width: 992px) {
    .modal-lg {
        width: 900px
    }
}

.modal-header .close {
    margin-top: 7px;
}


.modal .close {
    float: right;
    font-size: 21px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 var(--white);
    opacity: .2;
    filter: alpha(opacity=20)
}

.modal button.close {
    padding: 0;
    cursor: pointer;
    background: 0 0;
    border: 0;
    -webkit-appearance: none
}

#content div.modal div.modal-header button.close[type=button] {
    background: none;
    border: none;
}


.modal-backdrop {
    background-color: black;
}

.modal-title {
    font-size: 20px;
    font-weight: lighter;
}

.modal-header {
    background-color: var(--blue);
    color: var(--white);
}

@media print {
    html {
        overflow: auto;
    }

    header {
        position: absolute;
    }

    #mainnav {
        display: none;
    }

    #content {
        max-height: fit-content;
        height: fit-content;
        left: 0;
        max-width: 100%;
        position: absolute;
    }
}
