/* 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: clamp(0.9rem, 1.5vw, 1.05rem); /* Default: 14.4px → 24px → 16.8px */
    --font-size-small: clamp(0.85rem, 1.3vw, 0.95rem); /* Small: 13.6px → 20.8px → 15.2px */
    --font-size-very-small: clamp(0.65rem, 0.95vw, 0.8rem); /* Very Small: 9.6px → 14.4px → 12px */
    --font-weight: 400;
    --font-weight-bold: 500;

    --black: #000000;
    --darkgray: #333333;
    --gray: #DDDDDD;
    --lightgray: #F2F2F2;
    --darkwhite: #F9F9F9;
    --white: #FFFFFF;
    --red: #E40000;
    --lightred: #E4000033;
    --green: #7FC600;
    --lightgreen: #7FC60033;
    --blue: #0469B2;
    --lightblue: #0469B233;
    --orange: #FF8C00;
    --lightorange: #FF8C0033;
    --yellow: #FFFF40;
    --lightyellow: #FFFF4033;
    --link-color: #1155CC;

    --box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.5);
    --box-shadow-small: 0px 0px 4px 0px rgba(0, 0, 0, 0.1);
    --border-radius-sm: .25em;
    --border-radius-md: .5em;
    --border-radius-lg: .75em;
    --border-default: 1px solid var(--gray);
    --line-height: 1.5;
    --icon-spacing: 0 .2em;

    --spacing-default: .4em;
    --navigation-width: clamp(12.5rem, 11.6346rem + 3.8462vw, 16.25rem);
    --header-height: clamp(2.5rem, 2.3558rem + 0.641vw, 3.125rem);
    --transition-default-speed: .3s;
    --functions-size: clamp(1.5rem, 1.0909rem + 2.0455vw, 5rem);

    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;
}

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

h1 {
    font-size: clamp(1.1rem, 2.5vw, 1.6rem); /* 17.6px → 40px → 25.6px */
}

h2 {
    font-size: clamp(1rem, 2vw, 1.4rem); /* 16px → 32px → 22.4px */
}

h3 {
    font-size: clamp(0.95rem, 1.8vw, 1.25rem); /* 15.2px → 28.8px → 20px */
}

h4,
h5,
h6 {
    font-size: clamp(0.9rem, 1.6vw, 1.15rem); /* 14.4px → 25.6px → 18.4px */
}

code {
    font-family: var(--font-family-code);
    font-size: var(--font-size-very-small);
    color: var(--darkgray);
    background-color: var(--darkwhite);
    padding: var(--icon-spacing);
}

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

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

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

iframe {
    width: 100%;
}

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

i.fa-solid,
i.fa-regular {
    color: var(--darkgray);
    margin: var(--icon-spacing);
}

a:has(i.fa-regular),
a:has(i.fa-solid) {
    text-decoration: none;
}

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

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

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

a:hover {
    text-decoration: underline;
}

label {
    display: inline-block;
    margin: .2em 0;
}

div.chosen-container {
    width: clamp(18.75rem, 18.0288rem + 3.2051vw, 21.875rem) !important;
}

select,
textarea,
input,
ul.chosen-choices,
[contenteditable] {
    font-family: var(--font-family);
    font-size: var(--font-size-small);
    background-color: var(--white);
    margin: .25em .5em .25em 0;
    padding: var(--spacing-default) .6em;
    border: var(--border-default);
    box-sizing: border-box;
    text-align: left;
    width: clamp(18.75rem, 18.0288rem + 3.2051vw, 21.875rem);
}

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

select:disabled,
textarea:disabled,
input:disabled,
[contenteditable]:disabled {
    background-color: var(--lightgray);
    cursor: default;
}

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

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

select.compact,
textarea.compact,
input.compact,
[contenteditable].compact {
    width: clamp(5rem, 4.7115rem + 1.2821vw, 6.25rem);
}

select.wide,
textarea.wide,
input.wide,
[contenteditable].wide {
    width: clamp(31.25rem, 29.8077rem + 6.4103vw, 37.5rem);
}

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-sm) !important;
    border: var(--border-default) !important;
    color: var(--white) !important;
}

button,
a.button,
input[type="submit"],
input[type="button"],
input[type="reset"] {
    font-family: var(--font-family);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-very-small);
    margin: var(--spacing-default) .3em var(--spacing-default) 0;
    padding: .5em 1em;
    display: inline-block;
    background-color: var(--blue);
    color: var(--white);
    border: var(--border-default);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--box-shadow-small);
    width: auto;
    line-height: normal;
    transition: opacity var(--transition-default-speed);
    opacity: 1;
}

button:hover,
a.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover {
    opacity: .8;
    cursor: pointer;
    text-decoration: none;
}

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

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

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

button.delete:hover,
button.delete:focus,
a.button.delete:hover,
a.button.delete:focus,
input[type="button"].delete:hover,
input[type="button"].delete:focus {
    background-color: var(--red);
    color: var(--white);
}

button:disabled,
a.button.disabled,
input[type="reset"]:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled {
    background-color: var(--lightblue);
    filter: none;
    cursor: default;
}

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: 2rem;
    appearance: none;
    position: relative;
    display: inline-block;
    box-sizing: content-box;
    width: var(--switch-width);
    height: calc(var(--switch-width) / 2.25);
    padding: calc(var(--switch-width) / 22.5);
    border: none;
    cursor: pointer;
    border-radius: calc(var(--switch-width) / 3);
    overflow: hidden;
    background-color: var(--darkgray);
    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.25);
    width: calc(var(--switch-width) / 2.25);
    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 cubic-bezier(0.3, 1.5, 0.7, 1) 0.3s;
}
input[type="checkbox"].clx-switch:checked {
    background-color: var(--green);
}

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

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 {
    background: url(/core/Core/View/Media/cloudrexx_weiss.svg) no-repeat;
    position: relative;
    left: 1%;
    height: clamp(1.25rem, 1.1779rem + 0.3205vw, 1.5625rem);
    width: auto;
    aspect-ratio: auto 558 / 95;
}

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(--darkwhite);
    border-right: var(--border-default);
    padding-top: .6em;
    padding-bottom: 3em;
}

#mainnav nav {
    margin: 0 .5em;
}

#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;
}

#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"] {
    width: 100%;
}

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

#content_login div.two-columns {
    margin-top: .5em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#content_login label,
#content_login a {
    font-size: var(--font-size-small);
}

#metanavigation {
    position: relative;
    right: 1%;
}

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

#metanavigation ul {
    display: flex;
    align-items: stretch;
    gap: 2em;
    margin: 0;
    padding: 0;
}

#metanavigation ul li {
    list-style: none;
    white-space: nowrap;
    display: flex;
    gap: var(--icon-spacing);
}

#metanavigation ul li div,
#metanavigation ul li form {
    display: flex;
    align-items: center;
    gap: .3em;
}

#metanavigation ul ul {
    display: none;
    position: absolute;
    right: 0;
    top: calc(var(--header-height) / 2 + 1.4em);
    padding: .3em 0 .3em;
    background-color: var(--lightgray);
    box-shadow: var(--box-shadow);
}

#metanavigation ul ul li {
    padding: .3em 1em;
    flex-direction: column;
}

#metanavigation ul ul li i,
#metanavigation ul ul li a {
    color: var(--darkgray);
    font-size: var(--font-size-small);
}

#metanavigation ul ul li ul {
    position: initial;
    box-shadow: none;
}

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

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

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

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

#metanavigation .icon {
    position: relative;
}

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

#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: clamp(18.75rem, 18.0288rem + 3.2051vw, 21.875rem);
}

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

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

#mainnav .navigation_level_1 li {
    position: relative;
    width: 100%;
    padding: .6em 0;
}

#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:hover {
    cursor: pointer;
    text-decoration: underline var(--darkgray);
}

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

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

.navigation_level_1.navigation_spacer li {
    border-top: var(--border-default);
    margin-top: 3em;
}

#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);
    border-radius: var(--border-radius-md);
    transition: background-color var(--transition-default-speed) ease;
}

#mainnav .navigation_level_2 li a {
    color: var(--darkgray);
    font-size: var(--font-size-small);
    display: block;
    padding: .2em .5em;
}

#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 1em 0;
    border-spacing: inherit;
}

#subnavbar_level1 a,
#content.standalone #subnavbar_level2 a {
    color: var(--darkgray);
    margin-right: 2em;
    display: inline-flex;
    font-size: inherit;
}

#subnavbar_level1:not(:has(#subnavbar_level2)) 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(--darkgray);
    margin-right: 1.5em;
    display: inline-flex;
    font-size: var(--font-size-small);
}

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

#contentmenu,
#contentLanguages,
#blockLanguages,
.tabmenu,
#langmenu {
    display: flex;
    margin: 3em 0 .5em 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: .5em;
}

#contentLanguages a,
#blockLanguages a,
.tabmenu a,
#langmenu a {
    display: block;
    color: var(--darkgray);
    font-size: var(--font-size-small);
    background-color: transparent;
    border-radius: var(--border-radius-lg);
    padding: .4em 1em;
    border: .1em solid var(--gray);
    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;
    border: .1em solid var(--lightblue);
    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;
}

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

.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(--darkgray);
    padding: 1em var(--spacing-default);
}

.vg-form legend {
    font-size: var(--font-size-small);
    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-md);
    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 {
    opacity: .8;
    max-height: calc(6 * var(--functions-size));
    transition: max-height .2s ease-in;
}

.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);
}

.adminlist caption .functions:after,
.adminlist .caption .functions:after {
    cursor: default;
    content: "\f142"; /* fa-ellipsis-vertical */
    font-family: "Font Awesome 6 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: var(--white);
    border-radius: var(--border-radius-md);
    color: var(--blue);
}

.adminlist caption .functions a:hover i,
.adminlist .caption .functions a:hover i {
    color: var(--blue);
}

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

table.adminlist tr:not(.clx-block-editor):hover,
.vg-form fieldset .group:hover {
    background-color: var(--lightgray);
}

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

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:not(.splitview):not(.no-functions) td:last-child:not(:only-child) a.show:before,
.vg-form fieldset .group a.show:before {
    font-family: "Font Awesome 6 Free";
    content: "\f14d"; /* fa-share-from-square */
    margin: var(--icon-spacing);
    cursor: pointer;
}

table.adminlist:not(.splitview):not(.no-functions) td:last-child:not(:only-child) a.delete:before,
table.adminlist:not(.splitview):not(.no-functions) td:last-child:not(:only-child) a.remove:before,
.vg-form fieldset .group a.delete:before,
.vg-form fieldset .group a.remove:before {
    font-family: "Font Awesome 6 Free";
    content: "\f2ed"; /* fa-trash-can */
    color: var(--red);
    margin: var(--icon-spacing);
    cursor: pointer;
}

table.adminlist:not(.splitview):not(.no-functions) td:last-child:not(:only-child) a.edit:before,
.vg-form fieldset .group a.edit:before {
    font-family: "Font Awesome 6 Free";
    content: "\f044"; /* fa-pen-to-square */
    margin: var(--icon-spacing);
    cursor: pointer;
}

table.adminlist:not(.splitview):not(.no-functions) td:last-child:not(:only-child) a.copy:before,
.vg-form fieldset .group a.copy:before {
    font-family: "Font Awesome 6 Free";
    content: "\f0c5"; /* fa-copy */
    margin: var(--icon-spacing);
    cursor: pointer;
}

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: 30%;
}

table.adminlist.sortable th.sortable a:after {
    font-weight: 900; /* fa-solid */
    font-family: "Font Awesome 6 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;
}

table.adminlist:not(.splitview) select:not([multiple]),
.bulk-functions select:not([multiple]) {
    border: none;
    border-radius: var(--border-radius-sm);
    margin: 0;
    padding: .1em;
    background-color: var(--gray);
    font-weight: var(--font-weight-bold);
    color: var(--darkgray);
    width: auto;
    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-small);
    border-bottom-width: 0;
    padding: var(--spacing-default);
}

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

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

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

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

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

.icon-info::before {
    font-family: "Font Awesome 6 Free";
    content: "\f059"; /* fa-circle-question */
    color: var(--link-color);
    margin: var(--icon-spacing);
}

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

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

.tooltip-message {
    display: none;
    background-color: var(--darkwhite);
    box-shadow: var(--box-shadow);
    width: auto;
    max-width: 250px;
    min-width: 110px;
    padding: 5px;
    font-size: var(--font-size-very-small);
    z-index: 9999;
}

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-very-small);
    box-shadow: var(--box-shadow-small);
    border: var(--border-default);
    border-radius: var(--border-radius-sm);
    padding-left: 3em;
    clear: both;
    color: var(--darkgray);
}

*+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 6 Free";
    position: absolute;
    margin-left: -2em;
}

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

.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(--lightyellow);
}

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

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

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

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

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

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

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

div.teaserPreview>iframe {
    border: 0;
}

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

div.paging input {
    width: auto;
    font-size: var(--font-size-very-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 6 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: .75em;
    justify-content: left;
    margin: 5em;
}

.box-item {
    flex: 1 0 25%;
    padding: 1em 2em;
    background-color: var(--darkwhite);
    border-radius: var(--border-radius-md);
    border: var(--border-default);
    box-shadow: var(--box-shadow-small);
    max-width: 40em;
}

.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-small);
}

.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-sm);
    padding: var(--icon-spacing);
}

.language-icons .language-icon a {
    color: var(--white);
    font-size: var(--font-size-very-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-small);
}

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

.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-overlay {
    background: var(--darkgray) !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);
}

.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-default);
    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(--lightgray)
}

.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
    }
}

@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 .close:focus,
.close:hover {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: .5;
    filter: alpha(opacity=50)
}

.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;
    }
}
