/**
 * Styles for etemplate2 widgets
 *
 * @version: $Id$
 */

/**
 * Naming convention:
 * --[block][--element][--modifier]-attribute
 *
 * Some system-wide variables
 * These are logical (eg: error, active, highlight, header) not stylistic (red, grey)
 * By defining them here they are available inside WebComponents as well, though any CSS defined here that
 * applies to slotted elements takes precedence over what's in the WebComponent's style.
 *
 * For variables it is better to omit the block and element parts of the name.
 * For example, --error-color is better than --message_wrapper--message--error-color because it can be used in
 * more places (logically, no technical limitation on the variable).
 * If a specific value is needed for some element, it is probably better to re-set
 * the less specific variable rather than define a new variable:
 * :root {
 *   --error-color: pink;
 *   --error-background-color: initial;
 * }
 * .nextmatch--header {
 *   --error-color: fuchsia;
 *   --error-background-color: black;
 * }
 * This will have any child elements under the block with nextmatch--header class use the more specific values, while
 * letting us stick with one variable.
 *
 *
 * @see http://getbem.com/naming/ for what inspired naming convention
 */
:root {
	--primary-color: #26537C;
    --primary-background-color: #4177a2;
    --highlight-background-color: rgba(153, 204, 255, .4);
	--required-background-color: #ffffd0;

    --label-color: #000000;
    /* For fixed width labels - use class 'et2-label-fixed'*/
    --label-width: 8em;

    --input-border-color: #E6E6E6;
    --input-text-color: #26537C;

    --warning-color: rgba(255, 204, 0, .5);
    --error-color: rgba(204, 0, 51, .5);

    /*default color of tree badges
     this is the same as mail app color
    */
    --badge-color: #006699;

}

/**
 * Top level
 */
.et2_container {
    /*margin: 10px;
      border: 1px solid gray;*/
    padding: 0px;
    background-color: white;
    height: 99%;
    max-width: 100%
}

.et2_container > *:not([class]) {
    height: 100%;
}

.et2_container > *:not([class]) > table {
	table-layout: fixed;
	width: 100%;
}

/**
 * Basic rules
 */

/*Hide element*/
.hideme {
    display: none !important;
}

/*display none*/
.hide {
    display: none;
}

*[hidden] {
	display: none !important;
}

/**
 * VBox widget
 */
div.et2_vbox > * {
    display: block;
}

/**
 * HBox widget
 */
div.et2_hbox div.et2_hbox {
    display: inline;
}

div.et2_hbox {
    white-space: nowrap;
}

div.et2_hbox > * {
    text-align: left;
    white-space: normal;
    margin-right: 5px;
    display: inline-block;
}

div.et2_hbox > select {
    white-space: pre;
}

div.et2_hbox > *:empty {
    margin-right: 0;
}

div.et2_hbox_left {
    float: left;
}

div.et2_hbox_al_center {
    text-align: center;
}

div.et2_hbox_al_right {
    text-align: right;
}

div.et2_hbox_right {
    float: right;
    clear: right;
}

div.et2_hbox > div {
    display: inline-block;
}

/**
 * History log widget, most comes from the gridview
 */
/* Turn off column button, it does nothing */
.et2_historylog table.egwGridView_outer thead tr th.optcol:hover {
    cursor: inherit;
}

.et2_historylog table.egwGridView_outer thead tr th.optcol span.selectcols {
    background: inherit;
}

/**
 * Password widget
 */
.et2_password {
    display: flex;
    flex-direction: row;
    border: 1px solid #e6e6e6;
    white-space: nowrap;
    min-width: fit-content;
}

.et2_password > input {
    border: none;
    flex-grow: 2;
    min-width: 20ex;
}

.et2_password > input:focus {
    outline: none;
}

.et2_password > * {
    vertical-align: middle;
}

.et2_password > img {
    margin: 3px;
}

/**
 * Placeholder widget - used for un-implemented widgets
 */
.et2_placeholder {
    display: inline-block;
    border: 1px solid cornflowerblue;
    background-color: #FCFCFC;
    padding: 3px;
    margin: 1px;
}

.et2_placeholder .et2_caption {
    display: block;
    font-size: 8pt;
    margin: 0 0 5px 0;
    font-weight: bold;
    color: #2E2E2E;
    cursor: pointer;
    text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
}

.et2_placeholder .et2_attr {
    display: block;
    font-size: 8pt;
    color: #3030A0;
    margin: 2px 0 2px 0;
}

/**
 * Splitter widget - split pane
 */
.et2_split {
    width: 100%;
    min-width: 100px;
    min-height: 100px;
}

.splitter-bar-vertical {
    cursor: ew-resize;
    width: 5px;
}

.splitter-bar-horizontal {
    cursor: ns-resize;
    height: 5px;
    width: 100% !important;
}

/* Hide iframes so moving works */
.splitter-iframe-hide {
    display: none;
}

.et2_split div.splitter-bar-vertical div.ui-icon {
    position: absolute;
    margin-left: -5px;
    top: 45%;
}

.et2_split div.splitter-bar-horizontal div.ui-icon {
    position: absolute;
    margin-top: -6px;
    left: 47%;
}

/* Make sure there's no overflow, or hidden bits still appear */
* > .et2_split {
    overflow: hidden;
}

/* These need to be applied to tame the sizing before printing */
.et2_split.print, .et2_split.print > .splitter-pane {
    height: auto !important;
    width: auto !important;
}

.et2_split.print > * {
    position: relative !important;
}

/**
 * Label widget, and labels for other widgets
 */
.et2_label {
    color: #101050;
    white-space: pre-wrap;
}

label.et2_label > * {
    margin-left: 5px !important;
}

label.et2_label.et2_label_empty > * {
    margin-left: 0 !important;
}

/*do not pre-wrap label as it would cause empty space*/
.et2_vbox > .et2_label.et2_label_empty {
    white-space: normal;
}

#msg,
.message {
    color: red;
}

input.et2_url {
    margin-right: 6px;
    padding-right: 8px;
}

a.et2_url {
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    margin: -4px;
    padding: 2px;
    padding-left: 16px;
    margin-left: -10px;
}

a.et2_url.email {
    background-image: url(../../../node_modules/bootstrap-icons/icons/envelope.svg);
}

a.et2_url.phone {
    background-image: url(../../../node_modules/bootstrap-icons/icons/telephone.svg);
}

a.et2_url.url {
    background-image: url(../../../node_modules/bootstrap-icons/icons/globe2.svg);
}

.et2_url_email_contactPlus > img {
    width: 16px;
    height: 16px;
}

.et2_email_popup {
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.et2_email > span.noemail {
    display: none;
}

.et2_email a:not(:first-child) {
    margin-left: 1em;
}

.et2_hbox > .et2_url_span > a {
    margin-left: 0px;
}

/* et2-image has no shadow DOM, styles here */

et2-image::slotted(img) {
	max-height: 100%;
	max-width: 100%;
}

et2-image[icon] {
	height: 1.3rem;
	font-size: 1.3rem !important;
}
/**
 * Former button without background_image --> <et2-image class="et2-image-button"
 */
et2-image.imageButton {
    height: 20px;
    vertical-align: middle;}

/**
 * Button widget - text only, and icon
 */
.et2_button {
    text-align: center;
    font-size: 9pt;
    white-space: nowrap;
}

.et2_button_text,
input[type=button] {
    background-color: #E0E0E0;
    background-image: url(images/gradient01.png);
    background-position: center;
    background-repeat: repeat-x;
    margin: 5px;
    margin-left: 0;
    padding: 3px;
    border: 1px solid silver;
    color: #101010;
}

.et2_button_icon {
    border: none;
    background-color: transparent;
    padding: 0px;
}

button.et2_button_text:hover,
.et2_file_spanHover,
span.et2_button_text:hover,
input[type=button]:hover {
    color: #050505;
    border: 1px solid gray;
    background-color: #D0D0EE;
}

button.et2_button_text:active,
span.et2_button_text:active,
input[type=button]:active {
    background-image: url(images/gradient02.png);
    background-color: #D0D0E0;
}

button.et2_button_text:focus,
span.et2_button_text:focus,
.et2_file_spanActive,
input[type=button]:focus {
    border: 1px solid #2c3d6f;
    color: #202d52;
    outline: none;
}

button.et2_button_with_image {
    padding-left: 20px;
    background-repeat: no-repeat;
    background-size: 16px;
    height: 24px;
    background-position: center;
}

button.et2_button_with_image.et2_button_text {
    background-position: 4px center;
}

button.et2_buttonFitContent, et2-button.et2_buttonFitContent {
    min-width: max-content;
}

/* et2_box_widget ###*/
button[id="cancel"],
button#cancel {
    padding-left: 6px;
    background-repeat: no-repeat;
    background-position: left;
}

.ui-dialog-buttonset button {
    padding-left: 6px;
    background-position: left;
    background-repeat: no-repeat !important;
}

/**
 * Drop down button
 */
.et2_dropdown button {
    height: 3.0ex;
    display: inline-block;
    vertical-align: middle;
    margin-right: -2px;
    padding: 0px 1ex;
}

.et2_dropdown button > div {
    vertical-align: middle;
}

.et2_dropdown button:last-child {
    padding: 0px;
}

.et2_dropdown + ul.ui-menu {
    position: absolute;
    z-index: 2;
}

/**
 * Color picker widget
 */
.et2_color {
    width: 40px;
    display: inline-block;
    position: relative;
}

.et2_color input {
    padding: 0px;
    height: 20px;
    width: 20px;
    border: 1px solid silver;
}

span.et2_color img[src] {
    /* Extra-specific to make sure we work in grids & preference popup */
    height: 24px;
    position: absolute;
    top: 0px;
    left: 0px;
}

.et2_color .clear {
    background-position: -95px -126px;
    display: none;
}

.et2_color:hover .clear {
    display: inline-block;
}

/**
 * Text box
 */
.et2_textbox {
    height: auto;
}

.et2_textbox_ro {
    white-space: pre-wrap;
}

textarea.et2_textbox {
    border: 1px solid silver;
}

textarea.et2_textbox_ro {
    border: none;
}

/*Switch of FF red border validation*/
.et2_textbox:invalid {
    box-shadow: none;
}

.et2_bold {
    font-weight: bold;
}

.et2_italic {
    font-style: italic;
}

/**
 * Multi-select widget
 */
[search][open] et2-textbox::part(base) {
	border: none;
	box-shadow: none;
}

[search][open]::part(combobox) {
	flex-flow: wrap;
}
button.et2_selectbox_expand {
    width: 16px;
    display: inline-block;
}

.et2_selectbox .ui-widget-header {
    padding: 0px 6px 0px 6px;
    text-align: center;
}

.et2_selectbox .ui-widget-header ul {
    float: left;
    margin-left: -5px;
    text-align: left;
}

.et2_selectbox .ui-widget-header li {
    float: left;
    padding-top: 0px;
}

.et2_selectbox .ui-widget-header li > span.ui-icon {
    float: left;
    margin-top: -2px;
}

.et2_selectbox .ui-widget-header li > div.et2_link_entry {
    /* Shrink search box to same size as header */
    margin-top: -2px;
    margin-bottom: -2px;
    margin-right: 1ex;
}

.et2_selectbox .ui-widget-header li > div.et2_link_entry input {
    height: 14px;
}

.et2_selectbox .ui-multiselect-checkboxes {
    overflow-y: scroll;
    position: relative;
    text-align: left;
}

.et2_selectbox .ui-multiselect-checkboxes label:hover {
    font-weight: normal;
}

.et2_selectbox .ui-multiselect-checkboxes li {
    margin: 0px;
    clear: both;
    padding-left: 26px;
    padding-right: 3px;
    text-decoration: none;
    list-style-image: none;
    list-style-type: none;
    text-indent: -20px;
}

.et2_selectbox .ui-multiselect-checkboxes ul {
    margin: 0px auto;
    padding-left: 0px;
    clear: both;
    text-decoration: none;
    list-style-image: none;
    list-style-type: none;
}

.et2_selectbox .ui-multiselect-checkboxes ul > label {
    border-bottom: 1px solid black;
}

.et2_selectbox .ui-multiselect-checkboxes label {
    display: block;
    border: 1px solid transparent;
}

.et2_selectbox input[type="checkbox"] {
    margin: 3px;
}

.et2_selectbox .ui-multiselect-checkboxes img, .et2_selectbox .ui-multiselect-checkboxes div {
    float: right;
    height: 1.8em;
    width: 1.8em;
    background-size: contain;
    background-repeat: no-repeat;
}

.et2_selectbox .ui-multiselect-checkboxes div.ui-icon-close {
    visibility: hidden;
    padding: 0px;
}

.et2_selectbox .ui-multiselect-checkboxes li:hover div.ui-icon-close {
    visibility: visible;
}

/* Read-only (multi-)select */
ul.et2_selectbox {
    margin: 0px;
    padding: 0px;
    display: inline-block;
}

/* padding between selectbox/textbox and it's label */
input, select {
    text-indent: 5px;
}

.et2_selectbox li {
    text-decoration: none;
    list-style-image: none;
    list-style-type: none;
}

/**
 * Select account dialog
 */
/**
 * Date / Time widgets
 */
span.et2_date {
    min-width: 130px;
}

span.et2_date input.et2_date {
    min-width: 16.5ex;
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: 1px;
    background-size: 18px
}

span.et2_date input.et2_time {
    min-width: 6ex;
}

span.et2_date span {
    background-position: center;
    background-repeat: no-repeat;
    color: #101010;
    cursor: pointer;
    padding-top: 3px;
    padding-left: 22px;
    text-align: center;
    font-size: 9pt;
}

span.et2_date_duration {
    border: 1px solid gray;
    border-radius: 3px;
    display: flex;
}

span.et2_date_duration .et2_date_duration {
    width: 4.5em;
    text-align: right;
    border: none;
    outline: none;
}

span.et2_date_duration :not(input:first-child) {
    border-left: 1px solid #e0e0e0a8;
}

span.et2_date_duration span {
    vertical-align: -webkit-baseline-middle;
}

.et2_date.required, .et2_date[required] {
    background-color: inherit;
}

.et2_date.required input, .et2_date[required] input {
    background-color: #FFDD73
}

/* customize calendar layout */
.ui-datepicker .ui-datepicker-header .ui-datepicker-title {
    margin-left: 2px;
    margin-right: 4.6em;
    text-align: left;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
    left: auto;
    right: 4em;
}

.ui-datepicker .ui-datepicker-buttonpane button[data-handler="today"] {
    position: absolute;
    top: 3px;
    right: 22px;
    width: 2em;
    height: 2em;
    overflow: hidden;
    background-color: white;
    background-repeat: no-repeat;
    margin-left: 3px;
    text-indent: 20px;
    background-size: contain;
    background-image: url(../../../node_modules/bootstrap-icons/icons/calendar3.svg);
}

.ui-datepicker .ui-datepicker-prev .ui-icon, .ui-datepicker .ui-datepicker-next .ui-icon {
    width: 2em;
    height: 2em;
}

.ui-timepicker-div dl dd {
    margin: 0 0px 10px 30%;
}

.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
    border: none;
}

/**
 * Timestamper widget
 */
button.et2_button_with_image.et2_timestamper {
    background-position: center;
    background-size: 16px;
    padding: 0px;
    width: 24px;
    height: 24px;
}

button.et2_timestamper:hover {
    background-size: 16px;
}


/**
 * Dialog widget
 */
et2-dialog .dialog_icon {
    vertical-align: middle;
    width: 2em;
    font-size: 2em;
    margin: 0.5em;
}

et2-dialog .dialog--has_message {
    vertical-align: middle;
    display: flex;
}
/* we need to keep the buttons used in et2dialog always in maximum width to be displayed their content fully*/
et2-dialog et2-button {
    max-width: initial;
}



/**
 * Custom field list
 */
.et2_customfield_list {
    width: 100%;
}
/*number in custom field list should be left aligned instead of usual right alignment*/
.et2_customfield_list et2-number_ro span{
    text-align: start;
}

.et2_customfield_list tr td:first-child {
    width: 12%; /* this is somehow equivalent to 100px we usually have in the first column */
}

.et2_customfield_list tr td:nth-child(2) > *:not(.et2_checkbox):not(.et2_file):not(.et2_vfs_btn):not(.et2_button):not(.et2_radiobox),
.et2_customfield_list tr td:nth-child(2) > * > input:not(.et2_checkbox):not(.et2_radiobox):not(.et2_button):not(.et2_vfs_btn) {
    width: calc(100% - 20px);
}

/* Hide the upload button if desired, we still use the widget to show the selected file */
.et2_customfield_list tr et2-vfs-upload.noUpload::part(button) {
	display: none;
}

.et2_customfield_list input, .et2_customfield_list textarea {
    max-width: 100ex;
}

td.et2_customfield_header et2-label {
    font-size: 120%;
    font-weight: bold;
}

/* Custom field list inside nextmatch rows gets an icon for each row */
.et2_nextmatch .egwGridView_grid .et2_customfield_list > tbody > tr {
    background-image: url('../../../node_modules/bootstrap-icons/icons/info-circle.svg');
    background-repeat: no-repeat;
    background-size: 1em;
}

.et2_nextmatch .egwGridView_grid .et2_customfield_list > tbody > tr > td:first-child {
    padding-left: 1.2em;
}

/*stops a tags inside next match extends to their parents width,
which caused click on free space infront of a tag stops nm row selection*/
.et2_nextmatch .egwGridView_grid tr td div.et2_vbox a {
    display: table-row;
}

/* No autosize on et2_nextmatch */
.et2_nextmatch.no_dynheight {
	display: flex;
	flex-direction: column;
	flex: 2 1 auto;
	min-height: 10em;
	overflow: hidden;
}

.et2_nextmatch.no_dynheight > div:not(.nextmatch_header) {
	flex: 1 1 100%;
}

.et2_nextmatch.no_dynheight .egwGridView_outer {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.et2_nextmatch.no_dynheight .egwGridView_outer > thead {
	flex: 0 0 auto;
}

.et2_nextmatch.no_dynheight .egwGridView_outer > tbody {
	flex: 1 1 100%;
}
.et2_nextmatch.no_dynheight .egwGridView_scrollarea {
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	max-height: 5em;
}

/*
Nextmatch print dialog
*/
#nm_print_dialog et2-number::part(base) {
	width: 5em;
}

#nm_print_dialog et2-switch#_orientation .label .on {
	background-image: url('../../../node_modules/bootstrap-icons/icons/tablet.svg');
}

#nm_print_dialog et2-switch#_orientation .label .off {
	background-image: url('../../../node_modules/bootstrap-icons/icons/tablet-landscape.svg');
}

/*
These are set via javascript before printing to help tame nextmatch's layout
for printing
*/
.et2_nextmatch.print .egwGridView_scrollarea {
    width: auto !important;
}

.et2_nextmatch.print > div {
    height: auto !important;
}

.et2_nextmatch.print.landscape {
    /* This is fairly arbitrary, but makes it fit in Chrome and Firefox*/
    max-width: 752pt !important;
}

.et2_nextmatch.print.portrait {
    /* This is fairly arbitrary, but makes it fit in Chrome and Firefox*/
    max-width: 552pt !important;
}

/**
 * Diff widget
 */


et2-diff thead,
et2-diff .author,
et2-diff .d2h-file-header,
et2-diff .d2h-file-info,
et2-diff .d2h-info {
    display: none;
}

et2-diff .d2h-file-diff {
    white-space: normal;
}

et2-diff .d2h-file-diff {
    overflow-x: hidden;
}

et2-diff .d2h-code-wrapper {
    position: relative;
}

et2-diff .d2h-del, et2-diff.d2h-del.d2h-change, et2-diff .d2h-file-diff .d2h-del.d2h-change {
	background-color: var(--sl-color-red-100, #ffeef0);
}

et2-diff .d2h-code-line del, et2-diff .d2h-code-side-line del {
	background-color: var(--sl-color-red-300, #fdb8c0);
}

et2-diff .d2h-ins, et2-diff.d2h-ins.d2h-change, et2-diff .d2h-file-diff .d2h-ins.d2h-change {
	background-color: var(--sl-color-green-100, #e6ffed);
}

et2-diff .d2h-code-line ins, et2-diff .d2h-code-side-line ins {
	background-color: var(--sl-color-green-300, #acf2bd);
}

/** Display a loading icon **/
.loading {
    background-position: center;
    background-repeat: no-repeat;
    background-image: url('images/ajax-loader.gif');
}

/**
 * File upload
 */
div.et2_file {
    display: inline-block;
    position: relative;
    vertical-align: top;
    margin-top: 0;
}

.et2_file .progress_dropDown_fileList {
    background: white;
    position: absolute;
    border: 1px solid gray;
    border-top: 0;
    margin-top: 6px !important;
    margin-left: 0 !important;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
    max-height: 300px;
    z-index: 201 !important;
    box-shadow: 6px 6px 9px gray;
}

.et2_file .progress_dropDown_fileList > li {
    border-bottom: 1px solid lightgray;
}

.et2_file .totalProgress_loader {
    background-repeat: no-repeat;
    background-image: url('images/ajax-loader.gif');
}

.et2_file .progress {
    width: 300px;
    max-height: 12em;
    overflow: auto;
    margin-left: 20px;
    padding: 8px;
}

.et2_file .progress span.progressBar {
    height: 5px;
    width: 150px;
    max-width: 150px;
    display: inline;
    border: none;
}

/* Remove icon displayed when hovering */
.et2_file .progress li div.remove {
    display: inline;
    cursor: pointer;
    margin: 0px;
    width: 16px;
    height: 16px;
    padding: 0;
    border-radius: 0;
}

.et2_file .progress li:hover div.remove {
    width: 16px;
    height: 16px;
    float: right;
    display: block;
    background-image: url("../../../node_modules/bootstrap-icons/icons/x-lg.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 16px;
}

.et2_file .progress p {
    background-color: green;
    height: 5px;
    margin: 0px;
    width: 0px;
}

/* Hide progress bar when completed */
.et2_file .progress li.success > span.progressBar {
    display: none;
}

/* Customize file upload styling */
span.et2_file_span {
    display: inline-block;
    background-position: 2px;
    background-image: url(../../../node_modules/bootstrap-icons/icons/paperclip.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    cursor: pointer;
    height: 15px;
    width: 100%;
    text-align: left;
    text-indent: 22px;
    white-space: nowrap;
    margin-top: 0;
}

div.et2_file input.et2_file_upload {
    display: none;
}

/**
 * Autocomplete - used in link widget
 * Restricting result size
 */
.ui-autocomplete {
    max-height: 25ex;
    overflow-y: auto;
    /* prevent horizontal scrollbar */
    overflow-x: hidden;
}

/**
 * Autocomplete in dialogs - fix so they go over/out of the dialog
 */
.ui-dialog * ul.ui-autocomplete {
	position: fixed;
}

/**
 * Link wiget(s)
 */
et2-link-string et2-link::part(base) {
	display: inline;
}

et2-link-string > et2-link::part(icon), et2-link-string > et2-link::part(remark) {
	display: none;
}

et2-link-list et2-link::part(title), et2-link-list et2-link::part(remark) {
    white-space: nowrap;
}

/* Link entry - x button*/
div.et2_link_entry {
	width: 99%;
	white-space: nowrap;
}

div.et2_link_entry:after {
	display: inline-block;
	content: ".";
	height: 0;
	visibility: hidden;
	margin: -20px;
}

/* Special layout for inside nm grid */
/* Hide links with no value entirely for better spacing*/
.et2_nextmatch et2-link[entryid=""] {
    display: none;
}

/* Icons in app selection */
div.et2_link_entry span[role="combobox"] {
    width: 100px;
    height: 3ex;
    border: 1px solid #e6e6e6;
    position: relative;
    top: 5px;
    background: transparent;
}

div.et2_link_entry span[role="combobox"] .ui-selectmenu-text, .et2_link_entry_app_option div span {
    background: transparent;
    background-size: contain;
    background-repeat: no-repeat;
    padding: 0px 5px;
    right: auto;
    height: 100%;
}

div.et2_link_entry.app_icons:not(.no_app) input {
    width: calc(100% - 58px);
}

.et2_link_entry_app_option.ui-state-focus {
    border: none;
    transition: width 0s;
}

.et2_link_entry_app_option {
    line-height: 34px;
}

.et2_link_entry_app_option > div {
    padding-left: 34px;
    font-weight: normal;
}

div.et2_link_entry input.ui-autocomplete-input {
    padding-bottom: 1px;
    width: 100%;
}

.et2_link_entry.no_app input.ui-autocomplete-input {
    width: calc(100% - 22px);
    padding-right: 16px
}

.et2_link_entry.no_app select {
    display: none;
}

.et2_link_entry .ui-icon-close {
    display: inline-block;
    background-color: inherit;
    border: none;
    position: relative;
    top: 3px;
    left: -18px;
    cursor: pointer;
    margin-top: -3px;
}

/* Link to */
.et2_link_to {
    overflow-x: visible;
}

.et2_link_to > div {
    display: inline-block;
    margin-right: 5px;
    vertical-align: top;
}

.et2_link_to.et2_toolbar {
    margin-top: 10px !important;
	border-bottom: none;
}

.et2_link_to.et2_toolbar div.et2_link_entry input.ui-autocomplete-input {
    height: 22px;
    border-radius: 3px;
    width: 40%;
}

.et2_link_to.et2_toolbar .div_link {
    width: 80%;
    vertical-align: top;
}

.et2_link_to.et2_toolbar .div_link select {
    margin-right: 4px;
}

.et2_link_to button {
    display: inline;
}

.et2_link_to span.status {
    background-repeat: no-repeat;
    background-position: 3px center;
    width: 22px;
    height: 22px;
    display: inline-block;
}

.et2_link_to span.status.success {
    background-image: url(../../../node_modules/bootstrap-icons/icons/check-lg.svg);
}

.et2_link_to span.status.error {
    background-image: url(../../../node_modules/bootstrap-icons/icons/exclamation-circle.svg);
}

.et2_link_to .progress {
    max-height: 12em;
    overflow-y: auto;
    padding: 8px;
}

.et2_link_to .progress > .success input {
    width: 100%;
    margin-right: -20px;
    /* Leave room for remove icon */
}

.et2_link_to .progress li {
    list-style: none;
    padding-bottom: 1px;
    padding-top: 0px;
}

.et2_link_to .progress li.success span.ui-icon-comment {
    display: none;
    float: right;
    cursor: pointer;
    margin-right: 5px;
}

.et2_link_to .progress li:hover.success span.ui-icon-comment {
    display: inline;
}

.et2_link_to .et2_button_icon {
    float: left;
    width: 22px;
}

.et2_link_to button.et2_vfs_btn {
    width: 24px;
    height: 24px;
    background-position: center;
    background-size: 16px;
    padding: 0 !important;
    vertical-align: bottom;
    margin: 0;
    margin-top: 1px;
    z-index: 999;
}

.et2_link_to.et2_toolbar div.et2_file {
    width: 22px;
}

.et2_link_to.et2_toolbar span.et2_file_span {
    width: 22px;
    height: 22px;
    background-position: center;
}

.et2_link_to.et2_toolbar div.et2_file {
    vertical-align: bottom;
    padding-right: 2px;
}

.et2_link_to.et2_toolbar span.et2_file_span {
    padding-right: 0;
}

.et2_link, et2-link, et2-link-string {
    cursor: pointer;
    color: #003075;
    text-decoration: none;
}

.et2_link:hover, et2-link:hover {
    text-decoration: underline;
}

ul.et2_link_string {
	list-style-type: none;
	display: inline;
	padding: 0px;
}

.et2_link_string li {
	display: inline;
}

et2-link-string et2-link::part(base) {
	margin-right: -0.5ex;
}

.et2_link_string li:not(:last-child):after {
	content: '\002C\00A0';
}

.et2_link_list {
	border-collapse: collapse;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    white-space: normal;
}

.et2_link_list tr {
    cursor: pointer;
}

.et2_link_list td.remark, et2-link-list .remark {
    font-style: italic;
}

.et2_link_list td div.delete, .et2_vfs td div.delete {
    visibility: hidden;
    background-image: url("../../../node_modules/bootstrap-icons/icons/x-lg.svg");
    background-position: center;
    background-repeat: no-repeat;
    padding: 0px;
    width: 16px;
    height: 16px;
}

et2-link-list et2-link {
	color: initial;
	width: 30%;
}

et2-link-list et2-link:hover {
	text-decoration: initial;
}

et2-link-list > et2-link::part(icon) {
	width: 1rem;
}

.et2_link_list .icon img,
.et2_vfs .icon img {
	width: 16px;
	height: 16px;
	display: inline-block;
}

div.et2_vfsPath {
	position: relative;
	flex: 20 1 auto;

}

div.et2_vfsPath ul {
    position: absolute;
    top: 0px;
    left: 0px;
    padding: 0px;
    margin: 0px;
    margin-right: 4px;
    display: flex;
    justify-content: flex-start;
    flex-flow: row nowrap;
    /* This hides the higher level directories if overflow */
    direction: rtl;
    height: 32px;
    overflow-y: hidden;
    overflow-x: auto;
    max-width: 92%;
    margin-right: 7%;
    padding-top: 9px;
}

div.et2_vfsPath ul::-webkit-scrollbar {
    background: transparent;
    overflow-y: hidden;
    width: 1px;
}

div.et2_vfsPath ul::-webkit-scrollbar-thumb {
    background: transparent;
    width: 1px;
    border-radius: 0px;
    height: 1px;
}

div.et2_vfsPath li {
    direction: ltr;
    display: inline-block;
    padding-right: 5px;
    flex: none;
    color: #26537C;
    border-radius: 5px 0px 0px 5px;
}

div.et2_vfsPath ul.scrollable li {
    cursor: url(../../../node_modules/bootstrap-icons/icons/arrows.svg) 20 1, pointer;
}

li.vfsPath.et2_clickable:first-child {
    font-weight: bold;
}

li.vfsPath.et2_clickable:last-child:before {
    content: '/';
    width: 5px;
    padding-left: 10px;
    padding-right: 2px;
}

li.vfsPath.et2_clickable:last-child:after {
    display: none !important;
}

li.vfsPath.et2_clickable:not(:first-child):after {
    content: '/';
    width: 8px;
    height: 8px;
    margin-left: 5px;
    display: inline-block;
    font-size: 8pt;
}

.et2_vfsPath input.et2_textbox.et2_vfs {
	background-image: url(../../../node_modules/bootstrap-icons/icons/pencil-square.svg);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center;
	background-position-x: 98%;
	width: calc(100% - 1ex);
}

div.et2_vfsPath li:hover {
    text-decoration: underline;
}

div.et2_vfsPath li img {
    height: 12px;
    float: left;
    margin: 0px;
    margin-left: 3px;
    margin-right: 5px;
}

.et2_link_list tr:hover div.delete, .et2_vfs tr:hover div.delete {
    visibility: visible;
}

/* Category indents in select options */
sl-option.cat_level1::part(label) {
	padding-left: var(--sl-spacing-medium, 1em);
}

sl-option.cat_level2::part(label) {
	padding-left: calc(2 * var(--sl-spacing-medium, 1em));
}

sl-option.cat_level3::part(label) {
	padding-left: calc(3 * var(--sl-spacing-medium, 1em));
}

.egw_tooltip {
	position: fixed;
	border: 1px solid #897f51;
	background-color: #FDF9DB;
	max-width: 300px;
	color: black;
	z-index: 10002;
	-webkit-box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.75);
	-moz-box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.75);
	box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.75);
	white-space: pre-wrap;
}

/**
 * New et2-tabbox widget
 */
et2-tab-panel {
    padding-top: 1em;
}

/**
 * Tabs widget
 */
.et2_tabflag {
    display: inline-block;
    margin-right: 5px;
    padding: 5px;
    min-width: 60px;
    cursor: pointer;
    border: 1px solid silver;
    background-color: #E0E0E0;
    background-position: center;
    background-repeat: repeat-x;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}

.et2_tabflag a:link, .et2_tabflag a:visited, .et2_tabflag a:hover {
    color: inherit;
    text-decoration: none;
}

.et2_tabflag:hover {
    color: #050505;
    border: 1px solid gray;
    background-color: #D0D0EE;
}

.et2_tabflag:active {
    background-color: #D0D0E0;
}

.et2_tabs {
    border-width: 0px 1px 1px 1px;
    border-style: solid;
    border-color: silver;
    padding: 5px;
    overflow-y: auto;
}

.et2_tabcntr {
    height: inherit;
}

.et2_tabflag.active {
    border-bottom: 1px solid white;
    background-color: white;
    background-image: none;
}

.et2_tabheader {
    background-image: url(images/tab_header_bg.png);
    background-position: bottom;
    background-repeat: repeat-x;
    white-space: nowrap;
}

.et2_tabbox.vertical .et2_tabflag {
    display: block;
    padding: 0;
}

.et2_tabbox.vertical .et2_tabflag .et2_tabcntr {
    display: none;
}

.et2_tabbox.vertical .et2_tabflag.active .et2_tabcntr {
    display: block;

}

.et2_tabbox.vertical .et2_tabflag div.et2_tabtitle {
    background-color: #C4C4C4;
    padding: 6px 0 6px 0;
}

.et2_tabbox.vertical .et2_tabflag div.et2_tabtitle:before {
    content: "+";
    color: white;
    font-size: 12pt;
    font-weight: bold;
    padding: 3px;
    float: right;
    background-color: #636363;
    border-radius: 3px;
    margin-top: -6px;
}

.et2_tabbox.vertical .et2_tabflag.active div.et2_tabtitle:before {
    content: "\2212";
}

/**
 * Tag list
 */
.ms-ctn,
.ms-res-ctn {
    /* It doesn't really work smaller than this */
    min-width: 150px;
    border: solid 1px #bbbbbb;
}

.ms-ctn .loading {
    position: relative;
    margin: 0px auto -16px auto;
    top: 5px;
    background-image: url('images/ajax-loader.gif');
}

.et2_taglist .ms-input-readonly {
    display: none;
}

.et2_taglist div.ms-sel-ctn .ms-close-btn {
    width: 10px;
    height: 10px;
    background-position: 0px -10px;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 2px -16px 0 10px;
}

.et2_taglist div.ms-sel-ctn .ms-edit-btn,
.et2_taglist div.ms-sel-ctn .ms-check-btn {
    width: 10px;
    height: 10px;
    background-position: 0px -10px;
    background-size: cover;
    background-repeat: no-repeat;
    margin: 2px 6px 0 2px;
}

.et2_taglist div.ms-sel-ctn span.ms-check-btn {
    margin: 2px 0px 0 6px;
}

.et2_taglist .ms-res-ctn {
    position: absolute;
    background: #FFF;
    overflow-y: auto;
    z-index: 9999;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #CCC;
    left: -1px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    padding: 1px 0px;
}

.et2_taglist div.ms-sel-ctn {
    padding-right: 0px;
    overflow-x: hidden;
}

.et2_taglist div.ms-sel-ctn .ms-sel-item {
    margin: 0px 5px 3px 0px;
    padding: 3px 20px 3px 5px;
    border: 1px solid #aaa;
    border-radius: 3px;
    background-color: #e4e4e4;
    background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
    background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
    background-clip: padding-box;
    box-shadow: 0 0 2px white inset, 0 1px 0 rgba(0, 0, 0, 0.05);
    color: #333;
    line-height: 13px;
    font-size: 12px;
    cursor: default;
    word-break: break-word;
    white-space: normal;
    max-width: calc(100% - 30px);
}

.et2_taglist.ui-state-hover,
.et2_taglist.ui-state-active {
    font-weight: inherit;
    border: inherit;
    background: inherit;
}

.et2_taglist div.ms-ctn {
    background-color: white;
    padding-right: 0;
}

.et2_taglist div.ms-ctn input {
    padding: 3px 0px;
    min-width: 20px;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.et2_taglist .ms-res-ctn .ms-res-item {
    line-height: 13px;
    padding: 3px 6px;
}

.et2_taglist_ro ul {
    margin: 0px;
    padding: 0px;
}

.et2_taglist .mailinglist {
    width: 100%;
    background-image: url(../../../node_modules/bootstrap-icons/icons/envelope.svg);
    padding-right: 20px;
    background-position: right;
    background-repeat: no-repeat;
    font-weight: bold;
}

.et2_taglist .ms-res-item[data-json*='more_results']:after {
    content: '…';
    display: block;
    font-size: 200%;
    padding: 5px;
    padding-left: 3ex;
    margin-top: -1ex;
}

/* min-height to fix calculations done while hidden */
.et2_taglist, .et2_taglist > div.ms-ctn {
    min-height: 23px;
}

.et2_taglist .et2_taglist_tags_icon {
    height: 16px;
    width: 16px;
    display: inline-block;
    padding-right: 3px;
    background-repeat: no-repeat;
    background-size: 16px;
    vertical-align: text-top;
}

.et2_taglist .dropdown-menu .et2_taglist_tags_icon {
    height: 32px;
    width: 32px;
    background-size: 32px;
    vertical-align: middle;
}

.et2_taglist .et2_taglist_tags_icon_wrapper {
    display: inline;
}

.et2_taglist_thumbnail {
    overflow-y: hidden;
}

.et2_taglist_thumbnail .ms-ctn.form-control {
    max-height: 220px;
    overflow-y: auto;
}

.et2_taglist_thumbnail .et2_taglist_thumbnail_img,
table.egwGridView_grid .et2_taglist_thumbnail .et2_taglist_thumbnail_img {
    height: 70px;
}

table.egwGridView_grid img.et2_avatar {
    height: auto;
}

/**
 * VFS widget(s)
 */
ul.et2_vfs {
    padding-left: 0px;
    margin: 1px;
}

.et2_vfs li.vfsFilename {
    overflow-wrap: anywhere;
    display: inline;
}

.et2_vfs li.vfsFilename:not(:last-child):after {
    padding: 0.25ex;
}

.et2_vfs table {
    width: 100%;
    max-height: 6em;
    overflow: auto;
}

.et2_vfs td.icon {
    width: 16px;
    max-width: 16px;
}

button.et2_vfs_btn {
    margin: 0;
    text-align: left;
    height: 24px !important;
    padding-left: 30px !important;
    background-repeat: no-repeat;
    background-position: 4px center;
    background-size: 20px auto;
}

img.vfsMimeIcon, #api\.vfsSelectUI img.vfsMimeIcon {
    max-height: 16px;
    height: auto;
}

img.vfsMimeIcon[src*="/etemplate/thumbnail.php"] {
    max-height: none;
}

/**
* Validation
*/
.et2_required:not(.hasValue), .et2_required:not(.hasValue)::part(base), .et2_required:not(.hasValue)::part(control),
    /* most inputs */
[required]:not(.hasValue)::part(base),
    /* selects */
[required]:not(.hasValue)::part(control) {
    background-color: #ffffd0;
	--sl-input-background-color: #ffffd0;
}

td.et2_required {
    background-color: transparent;
}

.invalid {
    border: 1px solid #a6261d;
    background-color: #faecec;
}

.error {
    -moz-border-radius: 0 4px 4px 0;
    -moz-box-shadow: 0 0 6px #DDDDDD;
    background-color: #FFFE36;
    border: 1px solid var(--error-color, #E1E16D);
    color: #000000;
    font-size: 12px;
    min-height: 15px;
    padding: 4px 10px;
}

.error p {
    margin: 0;
}

/**
 * hrule widget
 */
hr {
    border-style: none;
    border-top: 1px solid silver;
    height: 1px;
    margin: 10px 0px 10px 0px;
}

/**
 * grid widget
 */
table.et2_grid {
    border-collapse: collapse;
    /* table-layout: fixed; check with infolog.edit before switching that on again! */
}

.et2_grid td {
    /*	border: 1px dashed silver;*/
}

.et2_grid td[align="right"] {
    padding-right: 8px;
}

table.egwGridView_grid img {
    /* Keep images in a grid from growing if they're in a box */
    flex-grow: 0;
}

/**
 * Sortable grid
 */
table.et2_grid tbody.ui-sortable:not(.ui-sortable-disabled) > tr:not(.th) {
    cursor: ns-resize;
}

.et2_scrollable_tbody {
    display: flex;
    flex-flow: column;
    height: 100%;
    width: 100%;
}

.et2_scrollable_tbody thead {
    flex: 0 0 auto;
    width: calc(100% - 0.9em);
    display: table;
    table-layout: fixed;
}

.et2_scrollable_tbody tbody > tr {
    width: 100%;
    display: table;
    table-layout: fixed;
}

.et2_scrollable_tbody tbody {
    flex: 1 1 auto;
    display: block;
    overflow-y: scroll;
}

/**
 * irame & loader
 */
.et2_iframe.loading {
    position: absolute;
    width: 100%;
    height: 100%;
}

/**
 * Message styles
 */
/* Style used for a generic message (such as success messages or validation errors) */
div.message, egw-validation-feedback[type] {
    display: block;
    border: 1px solid;
    border-color: var(--primary-color, gray);
    background-color: white;
    padding: 5px 1ex;
    margin: 0px;
    clear: left;
    max-width: 500px;
    font-size: 12px;
}

div.message.floating, egw-validation-feedback[type] {
    position: absolute;
    margin: 0px;
    z-index: 1;
    top: 100%;
    left: 0px;
}

egw-validation-feedback[type] {
    top: initial;
    margin-top: calc(-0.2 * var(--sl-input-height-medium));
	width: fit-content;
	white-space: nowrap;
}

.message.validation_error, egw-validation-feedback[type="error"] {
    color: var(--error-color);
    border-color: var(--error-color);
    background-repeat: no-repeat;
}

.message.success {
    font-style: normal;
    background-color: #e5f3d0;
    color: #98a930;
    border-color: #9ea930;
    background-image: url(../../../node_modules/bootstrap-icons/icons/check-lg.svg);
    background-repeat: no-repeat;
    background-size: contain;
    padding-left: 20px;
    white-space: nowrap;
}

.message.hint {
    font-style: normal;
    background-color: #d9e2ed;
    border-color: #56729a;
    color: #56729a;
    background-image: url(../../../node_modules/bootstrap-icons/icons/info-circle.svg);
    background-repeat: no-repeat;
    padding-left: 20px;
}

/**
 * Nextmatch widget
 */
.et2_nextmatch {
    /*	background-color: silver;*/
}


/* Allow space for category color indicators, preserving column calculations */
.egwGridView_outer thead tr > th:first-child {
    border-left: 6px solid transparent;
}

.egwGridView_scrollarea tr.row_category > td:first-child, .select-cat li {
    border-left: 6px solid transparent;
}

.et2_nextmatch .egwGridView_outer .egwGridView_scrollarea tbody tr.row_category td:first-child > div {
    margin-left: -6px;
    margin-right: 2px;
    padding-left: 4px;
}

/* Left & right headers*/
.et2_nextmatch > div > .header {
    margin-top: -20px;
    border: none;
}

.nextmatch_header_row {
    width: 100%;
    padding-top: 0.2em;
    padding-bottom: 0.5em;
    position: relative;
    display: flex;
    gap: 1ex;
}

.nextmatch_header .header_count {
    padding: 0px 10px;
    border: 1px solid rgb(212, 212, 216);   /* --sl-input-border-color */
    text-align: center;
    border-radius: 3px;
    position: relative;
    order: 99;
    display: flex;
    align-items: center;
}

.nextmatch_header .header_count span {
    position: relative;
    font-size: 12px;
    color: gray;
    display: contents;
}

.nextmatch_header_row .filtersContainer {
    flex: 5 1 auto;
}

.nextmatch_header_row .search > * {
    width: 12em;
}

.nextmatch_header_row > .filtersContainer > et2-select, .nextmatch_header_row > .filtersContainer > et2-select-cat {
    /* Make all filters the same size.  Otherwise they'll flex for different sized values */
    max-width: 33%;
    width: calc(33% - 4px);
}

.nextmatch_header_row > .header_row_right {
    order: 10;
}

.nextmatch_header_row > .header_row_right > * {
}

.et2_nextmatch .nextmatch_header {
    border: none;
    background-image: none;
    background-color: transparent;
}

.et2_nextmatch .nextmatch_header_row > div, .et2_nextmatch .nextmatch_header_row et2-template::part(base) {
    display: inline-flex;
    flex-direction: row;
    gap: 1ex;
}

/* Favorites */
.nextmatch_header div[id$=favorite_wrapper] {
    position: relative;
    order: 99;
}

#nm_favorites_popup_filters .filter_id,
#nm_favorites_popup_filters .filter_value {
    width: 45%;
    display: inline-block;
}

.nextmatch_header ul.favorites {
    min-width: 30ex;
    border: 1px solid silver;
    box-shadow: 6px 6px 9px gray;
}

.ui-fav-sortable-placeholder {
    height: 24px;
    border: 1px dashed silver;
    border-radius: 2px;
    margin: 0px;
    padding: 2px 5px;
}

.nextmatch_header .favorites li .ui-menu .ui-menu-item a {
    text-indent: -22px;
    margin-left: 21px;
}

.nextmatch_header .favorites.ui-menu li.ui-menu-item a.ui-state-hover {
    margin-left: 20px;
}

.favorites li span.ui-state-active {
    border: none;
}

.favorites input,
.favorites img {
    margin-right: 1ex;
}

.favorites li.ui-menu-item img {
	width: 16px;
	height: 16px;
	margin-top: -3px;
	margin-left: 2px;
	vertical-align: middle;
}

.favorites div.ui-icon-trash {
    position: relative;
    float: right;
    display: none;
}

.favorites li:hover div.ui-icon {
    display: inline-block;
}

.favorites .sideboxstar, .favorites div.ui-icon-heart {
    height: 9px;
    display: inline-block;
    padding: 0px 4px;
    margin: -2px 5px;
    background-image: url(../../../node_modules/bootstrap-icons/icons/star.svg);
    background-size: 9px 9px;
}

.sidebox-favorites ul.favorites {
    width: 99%;
    padding: 0px;
    border: none;
    background: white;
}

.sidebox-favorites .ui-menu .ui-menu-item a {
    line-height: inherit;
    padding: 2px 0px;
}

.sidebox-favorites .ui-menu .ui-menu-item a:hover {
    text-decoration: underline;
}

.sidebox-favorites .favorites div.ui-icon-heart {
    position: relative;
    vertical-align: middle;
    display: inline-block;
    margin: -1px 1px 0px 1px;
    height: 12px;
    width: 6px;
}

.sidebox-favorites .favorites div.ui-icon-trash {
    margin-top: -5px;
    margin-right: 4px;

    width: 14px;
    height: 14px;
    background-repeat: no-repeat;
}

ul[id$='favorites_popup_state'] span.filter_value {
    position: absolute;
    left: 50%;
    white-space: nowrap;
}

.nextmatch_sortheader {
    color: #003075;
    cursor: pointer;
    padding-right: 10px;
    margin-right: 10px;
    background-repeat: no-repeat;
    background-position: right center;
}

.nextmatch_sortheader:hover {
    text-decoration: underline;
}

.nextmatch_sortheader.asc {
    font-weight: bold;
    background-image: url(../../../node_modules/bootstrap-icons/icons/caret-up-fill.svg);
}

.nextmatch_sortheader.desc {
    font-weight: bold;
    background-image: url(../../../node_modules/bootstrap-icons/icons/caret-down-fill.svg);
}

.nextmatch_resize_helper {
    border-right: 1px dotted gray;
    min-height: 100%;
    background-color: gray;
    opacity: 0.5;
}

@media print {
    /** Keeps rows from breaking */
    .et2_nextmatch .egwGridView_grid > tbody > tr {
        display: block;
    }

    .et2_nextmatch .egwGridView_spacer {
        display: none;
    }

    .et2_nextmatch .nextmatch_header {
        display: none !important;
    }

    .egwGridView_outer > thead {
        border-bottom: 1px solid;
    }

    .egwGridView_outer > thead select {
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
    }

    .egwGridView_grid > tbody > tr {
        page-break-inside: avoid;
        -webkit-region-break-inside: avoid;
    }

    .et2_nextmatch > div {
        width: auto !important;
        height: auto !important;
    }

    .et2_nextmatch table.egwGridView_outer thead tr th div.innerContainer {
        max-height: inherit;
    }

    #cke_1_top.cke_top {
        display: none;
        border: none;
    }

    .et2_split, .et2_split > .splitter-pane {
        height: auto !important;
        width: auto !important;
    }

    /** Show tab labels full width, with a little extra space */
    .et2_tabbox .et2_tabflag {
        width: 100%;
        padding-top: 1em;
        margin-bottom: 0.5em;
        font-size: 150%;
    }

    .et2_tabs {
        overflow: visible;
    }
}

/**
 * Grid / nextmatch Hierarchy
 */
/* Make sure arrow & cell content don't overlap */
.et2_nextmatch .egwGridView_grid span.arrow {
    margin: 6px -12px 4px 4px;
    float: left;
    position: relative;
}

/* Indent the sub-grid */
.egwGridView_grid .egwGridView_grid {
    margin-left: 10px;
    border-left: 1px solid silver;
}

/** Initial height used for calculating average heights, before content is loaded */
.egwGridView_grid > tbody > tr > td > .loading {
    min-height: 1.6em;
}

/**
 * This class' margin-right is used to line up columns at each indent level
 * Classes level_# are created programmatically with margin-right * depth
 * Margin-right = -(indent + border)
 */
.indentation {
    margin-right: -11px;
}

/* End of hierarchy */
.et2_nextmatch .egwGridView_grid tr.focused {
    background: rgba(153, 204, 255, 0.4) !important;
}

.et2_nextmatch .egwGridView_grid tr.focused.selected {
    background: rgba(153, 204, 255, 0.7) !important;
}

/* Nextmatch tiled view */
.et2_nextmatch .egwGridView_grid tr.tile {
    display: inline-block;
    width: 240px;
    float: left;
    padding: 2px;
}

.et2_nextmatch .egwGridView_grid tr.tile > td > div > *:first-child {
    text-align: center;
}

/* Mangled link-to widget inside a nextmatch - used for DnD uploads */
.et2_nextmatch * .et2_link_to {
    position: fixed;
    left: 0px;
    background-color: white;
    border: 1px gray;
    padding: 5px;
}

.et2_clickable {
    cursor: pointer;
}

/**
 * et2_portlet
 */
.et2_portlet .ui-widget-header {
    margin: 0em;
    padding-bottom: 4px;
    padding-left: 0.2em;
}

.et2_portlet .ui-widget-header span.ui-icon {
    display: inline-block;
    float: right;
}

.et2_portlet .ui-widget-header span.ui-icon.ui-icon-gear {
    display: inline-block;
    float: left;
}

/**
 * et2_progress
 */
div.et2_progress {
    display: inline-block;
    border: 1px solid black;
    background-color: white;
    width: 30px;
    padding: 1px;
    text-align: left;
}

div.et2_progress > div {
    background-color: #D00000;
    height: 100%;
    min-height: 5px;
}

/**
 * For resizing (nextmatch columns)
 */
table.egwGridView_outer.egwResizing .fixedWidth {
    opacity: 0.5;
}

table.egwGridView_outer thead tr th.noResize:hover {
    background-image: none;
    background-color: inherit;
}

.egwResizeOverlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index: 99999;
    cursor: ew-resize;
}

.egwResizeHelper {
    position: absolute;
    display: block;
    z-index: 99998;
    opacity: 0.5;
    background-color: #829cbc;
    cursor: ew-resize;
}

/**
 * Indent grid sublevels
 */
.et2_nextmatch .subentry.level_1 div.et2_vbox {
    margin-left: 2.5em;
}

.et2_nextmatch .subentry.level_2 div.et2_vbox {
    margin-left: 5em;
}

.et2_nextmatch .subentry.level_3 div.et2_vbox {
    margin-left: 7.5em;
}

/**
 * New entry (via push)
 */
.et2_nextmatch .new_entry {
    animation-name: new_entry_pulse, new_entry_clear;
    animation-duration: 5s;
    animation-delay: 0s, 180s;
    animation-fill-mode: forwards;
}

@keyframes new_entry_pulse {
    0% {
        background-color: rgba(255, 255, 185, 0);
    }
    15% {
        background-color: rgba(255, 255, 185, 1);
    }
    100% {
        background-color: rgba(255, 255, 185, 0.3);
    }
}

@keyframes new_entry_clear {
    100% {
        background-color: inherit;
    }
}

/**
 * itempicker widget
 */
.et2_itempicker {
    display: block;
    position: relative;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 256px;
}

.et2_itempicker_left {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 50px;
    overflow: hidden;
}

.et2_itempicker_right {
    display: block;
    position: absolute;
    margin: 0;
    top: 0;
    left: 49px;
    right: 0;
    bottom: 0;
    border: 1px solid #b6b6b6;
    background-color: #f9f9f9;
}

.et2_itempicker_right_container {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
}

.et2_itempicker_app_select {
    list-style-type: none;
    padding: 0;
}

.et2_itempicker_app_select li {
    display: block;
    margin: 0;
    padding: 6px;
}

.et2_itempicker_app_select li.selected {
    border: 1px solid #b6b6b6;
    border-right: 1px solid transparent;
    background-color: #f9f9f9;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.et2_itempicker_search {
    display: inline-block;
    margin: 1em;
    margin-bottom: 0;
    margin-right: 0;
    width: 67%;
    padding: 0.2em;
}

.et2_itempicker_clear {
    position: relative;
    top: 3px;
    left: -20px;
}

.et2_itempicker_button_action {
    position: absolute;
    margin: 1em;
    top: 0;
    right: 0;
}

.et2_itempicker_itemlist {
    display: block;
    border: 1px solid #b6b6b6;
    margin: 1em;
    margin-bottom: 0;
    padding: 0;
    height: 67%;
    background-color: #ffffff;
    overflow: auto;
}

.et2_itempicker_itemlist ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.et2_itempicker_itemlist li {
    display: block;
    margin: 0;
    padding: 4px;
    color: #284d8a;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.et2_itempicker_itemlist li.row_on {
    background-color: #f2f9fe;
}

.et2_itempicker_itemlist li.selected {
    color: #ffffff;
    background-color: #3875d7;
}


.et2_prompt #message {
    white-space: pre-wrap;
    padding-bottom: 10px;
}

.et2_prompt .dialog_icon {
    margin-right: 2ex;
    vertical-align: middle;
    align-self: center;
}

.et2_prompt #value {
    width: 100%;
}

.long_task .message {
	white-space: break-spaces;
    height: inherit;
    display: list-item;
    border: none;
    color: initial;
    margin: 0px;
    padding: 0px 0px 0px 2em;
    background-repeat: no-repeat;
    background-size: 1em;
    background-image: url(../../../node_modules/bootstrap-icons/icons/check-lg.svg);
}

.long_task .message.error {
	color: darkgray;
    background-image: none;
}

/**
* et2_toolbar
*/
.et2_toolbar {
    border: none;
    background: none;

	border-bottom-width: var(--sl-panel-border-width);
	border-color: var(--sl-panel-border-color);
	border-bottom-style: solid;
}

.et2_toolbar *[class ^="et2_toolbar_draggable"] {cursor: pointer !important;}

.et2_toolbar et2-button.et2_toolbar_onlyCaption,
.et2_toolbar .et2_toolbar_actionlist et2-button.et2_toolbar_onlyCaption::part(prefix) {
    width: auto;
}

/* Hide label visually */
.et2_toolbar et2-button:not(.et2_toolbar_onlyCaption):not(.et2_toolbar_hasCaption)::part(label) {
	position: absolute;
	top: 100%;
}

.et2_toolbar et2-button:not(:hover)::part(base) {
	border-color: transparent;
}

.et2_toolbar *:not(.ui-toolbar-menulist) > et2-button:hover::part(base) {
	background-color: var(--sl-input-background-color);
}

.et2_toolbar *:not(.ui-toolbar-menulist) > et2-switch-icon {
	font-size: 20px;
	border-radius: var(--sl-border-radius-medium);
	border-color: transparent;
	border-width: var(--sl-input-border-width);
	border-style: solid;
	padding: 0px var(--sl-spacing-medium);
}

.et2_toolbar *:not(.ui-toolbar-menulist) > et2-switch:hover {
	border-color: var(--sl-input-border-color-hover);
	border-width: var(--sl-input-border-width);
	border-style: solid;
}

.et2_toolbar et2-switch-icon::part(form-control-label) {
	position: absolute;
	top: 100%;
	visibility: hidden;
}

.et2_toolbar et2-switch-icon::part(switch-label) {
	top: calc(-0.3 * var(--sl-spacing-medium));
}

et2-switch-icon:hover:not([disabled]) {
	border-color: var(--sl-input-border-color-hover);
	color: var(--sl-input-color-hover);
}


.et2_toolbar et2-button:not(.et2_toolbar_hasCaption)::part(prefix) {
	padding: 0;
}


div.et2_toolbar.ui-widget-header {
    background: none;
}
.et2_toolbar_more summary.ui-toolbar-menulistHeader.list_header-short {
    background-image: url(../../../node_modules/bootstrap-icons/icons/three-dots-vertical.svg);
    background-size: 16px;
    height: 32px;
    width: 20px;
    margin-top: 0px;
    background-repeat: no-repeat;
    background-position: center;
    cursor: pointer;
}

.et2_toolbar_more summary.ui-toolbar-menulistHeader.list_header-short {
    padding: 0px !important;
    width: 40px;
    height: 32px;
    margin-top: 0px;
}

.et2_toolbar_more summary.ui-toolbar-menulistHeader.list_header-short::marker {
    top: 0px;
    left: auto;
    content: '';
}

.et2_toolbar details.et2_toolbar_more.admin .ui-toolbar-menulistHeader.list_header-short {
    background-position: left;
}
.et2_toolbar .et2_toolbar_more summary .toolbar-admin-pref {
    background-image: url(../../../node_modules/bootstrap-icons/icons/gear.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    width: 20px;
    height: 100%;
    display: inline-block;
    background-position: center;
    float: right;
    cursor: pointer;
}

.et2_toolbar .et2_toolbar_more .ui-toolbar-menulistHeader {
    border: 1px solid silver;
    border-radius: 3px;
    background-color: #fafafa;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
    "Segoe UI Symbol";
    font-size: 9pt;
    font-weight: normal;
    height: 17px;
    margin-top: 1px;
    padding-left: 5px;
    padding-right: 5px;
    align-items: end;
    padding-top: 5px;
}
.et2_toolbar .et2_toolbar_more .ui-toolbar-menulistHeader.list_header-short {
    border: none;
    background-color: transparent;
}
.et2_toolbar details[open].et2_toolbar_more .ui-toolbar-menulistHeader.list_header-short {
    background-image: url(../../../node_modules/bootstrap-icons/icons/caret-down-fill.svg);
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}
.et2_toolbar details[open].et2_toolbar_more.admin .ui-toolbar-menulistHeader.list_header-short {
    background-position: left;
}

.et2_toolbar .et2_toolbar_actionlist span[data-group] {
    display: flex;
}

.et2_toolbar .et2_toolbar_actionlist span[data-group]:not(:first-child) > button.et2_button:first-child {
    margin-left: 7px;
}

.et2_toolbar et2-button {
	--et2-button-image-padding-left: 0px;
}

.et2_toolbar *:not(.ui-toolbar-menulist) > et2-button::part(base) {
	padding-inline-start: 0px;
	justify-content: center;
}

.et2_toolbar .et2_toolbar_actionlist button.et2_button_with_image, .nextmatch_header_row .et2_button {
	width: 24px;
	height: 24px;
	background-position: center;
	background-size: 16px 16px;
	padding-left: 0;
	background-color: #fafafa;
}

.et2_toolbar .et2_toolbar_actionlist > span > * {
	margin-right: 1ex;
	min-width: 35px;
}

/* Make toolbar switches clickable everywhere, not just the top half */
.et2_toolbar .et2_toolbar_actionlist et2-switch::part(base) {
	height: 100%;
}

.et2_toolbar .ui-toolbar-menulist > *:hover {
	outline: none;
	background-color: var(--sl-color-primary-600);
	color: var(--sl-color-neutral-0);
}

.et2_toolbar .ui-toolbar-menulist > *:hover::part(prefix) {
	filter: invert(1) brightness(5);
}

.et2_toolbar .ui-toolbar-menulist > *:hover::part(label) {
	color: var(--sl-color-neutral-0);
}
.et2_toolbar summary::-webkit-details-marker {display: none;}
.nextmatch_header_row et2-button::part(container) {
	height: 18px;
}

.et2_toolbar .ui-toolbar-menulist et2-switch-icon::part(switch-label),
.et2_toolbar .ui-toolbar-menulist et2-switch-icon::part(switch) {
	width: 100%;
}

.et2_toolbar .ui-toolbar-menulist et2-switch-icon::part(control) {
	width: 100%;
	justify-content: space-evenly;
}
et2-button.transparent-button {
	border: none;
	background: transparent;
}

et2-button.transparent-button::part(container) {
    width: auto;
    height: auto;
    background: none;
}
.et2_toolbar .et2_toolbar_actionlist button.et2_button_with_image.et2_toolbar_hasCaption, .nextmatch_header_row .et2_button_text {
    width: auto;
    background-position: 6px center;
    padding-left: 26px;
    padding-right: 5px;
    color: #5B5B5B;
    z-index: 1000;
}

.et2_toolbar .et2_toolbar_actionlist button.et2_button_with_image.et2_toolbar_onlyCaption {
    vertical-align: top;
    width: auto;
    padding-left: 3px;
    background-image: none;
}

.nextmatch_header_row button,
.et2_toolbar div.et2_progress,
.nextmatch_header_row div.et2_progress {
	border-radius: var(--sl-border-radius-medium, 3px);
    background-color: #fafafa;
    border: 1px solid silver;
	overflow: hidden;
}

.et2_toolbar div.et2_progress, .nextmatch_header_row div.et2_progress {
    padding: 0;
}

.et2_toolbar .et2_progress > div, .nextmatch_header_row .et2_progress > div {
    border-radius: 3px;
}

/**
 * Fileupload in toolbar or NM header
 */
.et2_toolbar div.et2_file {
    width: 145px;
    margin-top: 1px;
    padding-right: 4px;
}

.et2_toolbar div.et2_file span, .nextmatch_header_row div.et2_file span,
.et2_toolbar div.et2_file input, .nextmatch_header_row div.et2_file input {
    height: 16px;
    top: 0;
    margin: 0;
    border-radius: 3px;
    background-color: #fafafa;
    border: 1px solid silver;
    text-indent: 0;
    background-position: center;
}

/**
 * Textbox in toolbar or NM header
 */
.et2_toolbar input.et2_textbox, .nextmatch_header_row input.et2_textbox {
    height: 26px;
    border-radius: 3px;
    background-color: #fafafa;
    border: 1px solid silver;
    padding: 2px 5px 2px 2px;
}

/**
 * Daterange selection in NM header
 */
.nextmatch_header_row span.et2_date[name$=date] {
    min-width: 14ex;
    padding: 0;
}

.nextmatch_header_row span.et2_date[name$=date] > input.et2_date {
    margin: 1px 4px 1px 0;
    height: 22px;
    min-width: 14ex;
    padding: 0;
    background-color: #fafafa;
    border: 1px solid silver;
    border-radius: 3px;
    padding-left: 5px;
}

.nextmatch_header_row > div {
}

.et2_toolbar select {
    height: 24px;
    margin: 1px 4px 1px 0;
    background-color: #fafafa;
    border: 1px solid silver;
    border-radius: 3px;
    padding-left: 5px;
}

.et2_toolbar et2-button.toolbar_toggled::part(base), .et2_searchbox button.et2_button.toolbar_toggled {
	box-shadow: inset 1px 1px 1px 1px gray !important;
}

.et2_toolbar et2-button.toolbar_toggle:not(.toolbar_toggled) img {
	filter: brightness(0) contrast(0.3) opacity(0.7);
}

.ui-toolbar-menulist et2-button.toolbar_toggled::part(base) {
    margin: 0;
    padding-left: 12px;
}

.et2_toolbar_more .et2_toolbar-dropdown {
    max-width: initial;
    width: 100%;
}

.et2_toolbar-dropdown {
    display: inline-block;
    height: auto;
    text-align: left;
    font-weight: normal !important;
    font-size: 9pt !important;
}


.et2_toolbar-dropdown img {
    padding-left: 7px;
    background-repeat: no-repeat;
    background-position: 5% center;
    background-size: 16px;
}

.et2_toolbar-dropdown button:hover {
    color: transparent !important;
    border: none !important;
    background-color: transparent !important;
    vertical-align: bottom !important;
}

.et2_toolbar-dropdown button {
    height: 100% !important;
    border: none !important;
    background: #E0E0E0 !important;
    background-color: #E0E0E0 !important;
    border-radius: 0 !important;
    color: #101010 !important;
    font-size: 9pt !important;
    font-weight: normal !important;
    vertical-align: bottom !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 19px;
}

.et2_toolbar-dropdown ul > li {
    width: 100%

}

.et2_toolbar-dropdown-menulist button {
    height: 100% !important;
    border: none;
    background: #E0E0E0 !important;
    background-color: #E0E0E0 !important;
}

.et2_toolbar-dropdown-menulist button:nth-child(2) {
    float: right;
    padding: 0;
}

.et2_toolbar-dropdown ul {
    z-index: 1000 !important;
    position: absolute;
}

.et2_toolbar-dropdown ul > li {

}

.et2_toolbar-dropdown-menulist ul {
    position: relative !important;
}

.et2_toolbar div.ui-toolbar-menulist button.et2_button_with_image {
    background-size: 16px 16px;
    background-color: #ffffff;
    vertical-align: middle;
    height: 28px;
}

.et2_toolbar div.ui-toolbar-menulist span.slideSwitch_container {
    width: 100%;
}

.ui-toolbar-menulist {
    position: absolute;
    height: inherit;
    z-index: 999 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin-top: 3px !important;
    min-width: 150px;
    padding-top: 3px;
    padding-top: 1px;
    padding-bottom: 1px;
    -moz-user-select: none;
    background: white;
    right: 0;
    font-size: 12px;
    font-weight: 400;
    box-shadow: 0 2px 8px hsl(240 3.8% 46.1% / 12%);
    border: 1px solid hsl(240deg 6% 90%);
    border-radius: 3px;
    overscroll-behavior: none;
}
.ui-toolbar-menulist > * {
    border: none !important;
    display: block;
    max-width: none;
}
.et2_toolbar_actionlist et2-button {
    width: 1em;
    overflow: hidden;
}
.et2_toolbar_actionlist et2-button.et2_toolbar_hasCaption {
    width:auto;
}
.ui-toolbar-menulist et2-button::part(label) {
    font-size: 12px;
}

.ui-toolbar-menulist et2-button::part(base), .ui-toolbar-menulist et2-switch-icon::part(switch-label) {
    border: none;
    background-color: transparent;
    line-height: var(--sl-line-height-normal);
    padding: var(--sl-spacing-2x-small) var(--sl-spacing-2x-small);
    margin: 2px 8px 2px;
}

.ui-toolbar-menulist et2-switch-icon::part(form-control-label) {
    visibility: visible;
    top: 10%;
    left: 100%;
}

.ui-toolbar-menulist et2-switch-icon::part(control) {
    font-size: 20px; /*increase font size so bi icons are also big*/
}
.ui-toolbar-menulist et2-dropdown-button::part(base)
{
    border: none;
    border-radius: 0;
}
.ui-toolbar-menulist > button {
    margin: 0 !important;
    text-align: left;
    border-radius: 0 !important;
    width: 100% !important;
    white-space: nowrap;
    display: block;
}

.ui-toolbar-menulistHeader {
    font-size: xx-small;
    height: 100%;
    margin-top: 1px;
}

.et2_toolbar_more {
    padding-bottom: 3px;
}

div.et2_toolbar_more .ui-accordion-header-active {
    font-weight: normal;
    color: black;
    outline: none;
}

div.et2_toolbar_more h.ui-accordion-header {
    padding: 4px 30px 3px 25px !important;
    margin: 1px;
}
.et2_toolbar_actionlist .et2_button, .et2_toolbar_actionlist .et2_dropdown {
    border-radius: 3px;
    margin: 1px 4px 1px 0;
}

.et2_toolbar_actionlist {
    float: left;
    white-space: nowrap;
    display: flex;
}

.et2_dropZone {
    border: 2px dashed #d3d3d3 !important;
    padding: 0px !important;
    background: #effaff !important;
    border-radius: 3px !important;
    padding-bottom: 2px !important;
}

.et2_label > input.et2_checkbox {
    margin-right: 5px;
}

/*slide switch representing checkbox*/
span.et2_checkbox_slideSwitch {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    border: 1px solid silver;
    cursor: pointer;
}

span.et2_checkbox_slideSwitch > span.slideSwitch_container {
    height: 16px;
    background-color: #FFF;
    margin: 0px;
    min-width: 44px;
    display: block;
    position: relative;
    border-radius: 2px;
    padding: 3px 0px 3px 0px;
    font-size: 12px;
}

span.et2_checkbox_slideSwitch > span.slideSwitch_container > span {
    background-size: contain;
    background-repeat: no-repeat;
}

span.et2_checkbox_slideSwitch > span.slideSwitch_container > span:first-child {
    width: 50%;
    display: inline-block;
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
    position: absolute;
    left: 0;

    font-weight: bold;
    color: #C0C0C0;
    top: 4px;
}

span.et2_checkbox_slideSwitch.switchOn > span.slideSwitch_container > span:first-child {
    color: #FAFAFA;
    z-index: 1;
}

span.et2_checkbox_slideSwitch.switchOn > span.slideSwitch_container > span:nth-child(2) {
    color: #C0C0C0;
    z-index: 0;
}

span.et2_checkbox_slideSwitch > span.slideSwitch_container > span:nth-child(2) {
    width: 50%;
    display: inline-block;
    text-align: center;
    text-align: -webkit-center;
    text-align: -moz-center;
    position: absolute;
    z-index: 1;
    left: 50%;
    font-weight: bold;
    color: #FAFAFA;
    top: 4px;
}

span.et2_checkbox_slideSwitch > span.slideSwitch_container a {
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 0;
    display: block;
    width: 50%;
    height: 100%;
    padding-bottom: 0px;
    background-color: #7B7B7B;
    border-radius: 3px;
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

span.et2_checkbox_slideSwitch > input {
	opacity: 0;
	position: absolute;
	z-index: 7;
	width: 100%;
	height: 100%;
	cursor: pointer;
}

span.et2_checkbox_slideSwitch.switchOn > span.slideSwitch_container a {
	right: 50%;
}

.et2SlideSwitch .label > * {
	background-size: contain;
	height: 75%;
	width: 50%;
	background-repeat: no-repeat;
	background-position: center;
	height: 28px;
	top: 0;
	color: transparent;
}

.et2SlideSwitch[checked] .label .on, .et2SlideSwitch:not([checked]) .label .off {
	filter: invert(1);
}

/* Slide switch in a toolbar */
.et2_toolbar_actionlist span.et2_checkbox_slideSwitch {
	vertical-align: bottom;
	margin: 1px;
	margin-right: 3px;
	border-radius: 3px;
	cursor: pointer;
}

.et2_toolbar_more span.et2_checkbox_slideSwitch {
    text-align: left;
    color: black;
    font-size: 12px;
    font-weight: normal;
    width: 100%;
}

.et2_toolbar_more span.et2_checkbox_slideSwitch > span.slideSwitch_container {
    width: 100%;
    float: left;
}

.et2_toolbar_more span.et2_checkbox_slideSwitch > input {
    display: none;
}
input.et2_radiobox:checked {
    background-color: dimgrey;
    appearance: none;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    border: 2px solid white;
    box-shadow: 0 0 0 1px dimgrey;
    transition: 1s easeout;
}

.et2_radiobox {
    margin-right: 10px;
}

.et2_radiobox[disabled] {
    opacity: 0.5;
}

.overlayContainer {
    position: absolute;
    right: -2px;
    bottom: -2px;
    vertical-align: bottom;
    text-align: right;
}

/**
 * Do not wrap content of a single widget incl. a label or children of a hbox.
 * Taking into eg. select-account widget rendered as ul and prefixed with a label
 * and maintaining some space between widgets.
 */
.et2_nowrap {
    white-space: nowrap;
}

ul.et2_nowrap, div.et2_nowrap {
    display: inline-block;
}

.et2_nowrap > * {
    padding-left: 5px;
}

.et2_nowrap > *:first-child {
    padding-left: 0;
}

.et2_nowrap > label > * {
    padding-left: 5px;
}

/**
 * Some general styles usable for all apps (and widgets)
 */
.et2_fullWidth, .et2_fullWidth input, .et2_fullWidth select, et2_fullWidth.et2_file
.et2_fullWidth textarea, .et2_fullWidth input.et2_link_entry {
    width: 100%;
}

/* position icons behind input */
.et2_fullWidth, .et2_fullWidth span.et2_url_span {
    position: relative;
}

span.et2_url_span input.et2_fullWidth {
    width: calc(100% - 18px);
}

.et2_fullWidth a.et2_url {
    position: absolute;
    height: 16px;
    right: -16px;
    top: 0px;
}

.et2_fullWidth input.et2_date_duration {
    float: left;
}

.et2_fullWidth select.et2_date_duration {
    width: 75%;
    float: right;
}

/*et2_image_widget*/
div.et2_image_tooltipPopup {
    background: white;
    color: black;
    border: 1px solid gray;
    padding: 0;
    opacity: 1;
    max-width: 600px;
    max-height: 480px;
    box-shadow: 5px 5px 11px gray;
    overflow: auto;
}

/*egw_action_ddHelper*/
div.et2_egw_action_ddHelper {
    z-index: -100;
    position: relative;
	max-width: fit-content;
}

/* The last div which shows Ctrl tip to user*/
div.et2_egw_action_ddHelper_tip {
    position: relative;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    float: left;
    background-color: rgba(0, 0, 0, 0.70);
    box-shadow: 6px 6px 8px gray;
    border: 1px solid black;
    border-top: none;
    color: white;
}

div.et2_egw_action_ddHelper table.et2_egw_action_ddHelper_row {
    background-color: rgba(255, 194, 0, 0.70);
    box-shadow: 6px 6px 8px gray;
    border: 1px solid black;
	max-width: 400px;
}

div.et2_egw_action_ddHelper et2-avatar, div.et2_egw_action_ddHelper et2-lavatar {
	flex-grow: 0;
	--size: 2em;
}
table.et2_egw_action_ddHelper_row tr {
    background: none;
    max-height: 20px;
}

/* Apply to all displayed rows in order to get same result*/
table.et2_egw_action_ddHelper_row > *, table.et2_egw_action_ddHelper_row .innerContainer {
    white-space: nowrap !important;
	max-height: 2em;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 400px;
}

table.et2_egw_action_ddHelper_row img {
    width: 15px !important;
    height: 15px !important;
}

/* Last row of items which shows the number of more items*/
tr.et2_egw_action_ddHelper_moreRow {

}

/* The big total item counter*/
span.et2_egw_action_ddHelper_itemsCnt {
    background: transparent;
    position: absolute;
    left: 20px;
    top: 8%;
    font-size: 367%;
    color: rgba(255, 255, 255, 1);
    text-align: center;
    font-weight: bold;
}


/**
 * Etemplate exposé CSS
 */
.blueimp-gallery > .slides > .slide-prev, .blueimp-gallery > .slides > .slide.active, .blueimp-gallery > .slides > .slide-next {
    visibility: visible;
}
/* Paginating with nextmatch */
.blueimp-gallery-controls > .indicator.paginating {
    border-bottom: 2px solid rgba(255, 255, 255, 0.5);
    border-top: 2px solid rgba(255, 255, 255, 0.5);
    left: 0px;
    right: auto;
    white-space: nowrap;
    bottom: 0;
}

/*Carousel thumbnails*/
div.blueimp-gallery > .indicator > li {
    display: inline-block;
    width: initial;
    height: 100px;
    margin: 0;
    opacity: 1;
    cursor: pointer;
    border-radius: 0;
    border: 0;
}

div.blueimp-gallery > .indicator > li > img {
    display: inline-block;
    width: auto;
    height: 100px;
    margin: 0;
    cursor: pointer;
    z-index: -1;
    position: relative;
}

/*Make indicator visible all the time to be able accurately estimate
  current active slide position in thumbnail bar*/
.blueimp-gallery > .indicator {
    opacity: 0; /* Hide it through opacity*/
    white-space: nowrap;
    display: inline-block; /* Very important to keep gallery indicator always with display inline-block*/
}

/*Thumbnail border on hover*/
.blueimp-gallery > .indicator > li:hover {
    -webkit-box-shadow: inset 0px 0px 0px 4px rgba(255, 255, 255, 1);
    -moz-box-shadow: inset 0px 0px 0px 4px rgba(255, 255, 255, 1);
    box-shadow: inset 0px 0px 0px 4px rgba(255, 255, 255, 1);
    background-color: transparent;
}

div.blueimp-gallery > .indicator > li::after {
    display: none;
    content: initial;
}

/*Active thumbnail border*/
div.blueimp-gallery > .indicator > .active {
    -webkit-box-shadow: inset 0px 0px 0px 4px #0c5da5;
    -moz-box-shadow: inset 0px 0px 0px 4px #0c5da5;
    box-shadow: inset 0px 0px 0px 4px #0c5da5;
    background-color: transparent;
}

/*Slideshow Play/Pause button*/
body:last-child .blueimp-gallery > .play-pause, .blueimp-gallery > .play-pause {
    position: absolute;
    right: 50px;
    top: 20px;
    background-size: 44px 24px;
    width: 24px;
    height: 24px;
}

div.blueimp-gallery-playing > .play-pause {
    background-position: -21px 0;
}

/*fullScreen button*/
.blueimp-gallery > .fullscreen {
    position: absolute;
    right: 85px;
    top: 20px;
    background-size: 24px;
    width: 24px;
    height: 24px;
    display: none;
}

/* download button*/
.blueimp-gallery > .download {
    position: absolute;
    right: 120px;
    top: 20px;
    background: url(../../../node_modules/bootstrap-icons/icons/floppy.svg) 0 0 no-repeat;
    background-size: 24px;
    height: 24px;
    width: 24px;
    filter: invert(1) brightness(1.5);
    display: none;
}

.blueimp-gallery > .download:hover {
    filter: invert(1) brightness(2);
}

.blueimp-gallery.blueimp-gallery-controls > .download, .blueimp-gallery.blueimp-gallery-controls > .fullscreen {
    display: initial;
}

/*close button*/
.blueimp-gallery > .close {
    font-size: 40px;
}

/*Give room to Carousel indicator when the gallery controls is on*/
.blueimp-gallery-controls > .slides {
    height: 85%;
}

/*indicator bar with controls*/
.blueimp-gallery-controls > .indicator {
    white-space: nowrap;
    opacity: 1; /* When the controls panel is on then we need to show back the indicators*/
}

/*Generic class for text overflow ellipsis*/
.et2_ellipsis {
    text-overflow: ellipsis;
    overflow: hidden;
}

.et2_details {
    width: 100%;
    color: black;
    background-color: transparent;
}

.et2_details .et2_details_wrapper {
    display: none;
}

.et2_details .et2_details_toggle {
    background-color: #636363;
    border-radius: 3px;
    float: right;
    margin: 5px 8px 0px 0px;
}

.et2_details .et2_details_toggle:after {
    content: "+";
    color: white;
    font-size: 12pt;
    font-weight: bold;
    padding: 5px;
}

.et2_details.et2_details_expanded .et2_details_wrapper {
    display: block;
}

.et2_details.et2_details_expanded .et2_details_toggle:after {
    content: "\2212";
}

.et2_details .et2_details_title {
    cursor: pointer;
    margin-top: 12px;
    display: inline-block;
}

.et2_details.et2_details_expanded .et2_details_title {
    display: none;
}

td.avatar {
    border: none;
}

.avatar {
    box-shadow: 0px 0px 0px 1px #c0c0c07a;
    border-radius: 50%;
    overflow: hidden;
    width: 40px;
    height: 40px;
    background-image: url(images/photo.png);
    background-size: 35px 35px;
    background-repeat: no-repeat;
    background-position: center;
    bottom: 25%;
    top: 25%;
    flex-grow: 0;
    margin: 0;
}

.avatar img {
    padding-top: 0 !important;
    width: 40px;
    border: none;
    box-shadow: none;
}

et2-avatar, et2-lavatar {
	--size: 2.7em;
}

.et2_searchbox {
    position: relative;
    padding: 0;
    z-index: 10;
}

.et2_searchbox .flex.overlay input {
    position: absolute;
}

.et2_searchbox .flex input {
    height: 18px;
    width: 100%;
    border-color: silver;
    border-radius: 3px;
    padding-right: 20px;
}

.et2_searchbox button.et2_button.toolbar_toggled {
    background-color: rgba(70, 155, 221, 0.16);
    box-shadow: inset 1px 1px 1px 0px #656769 !important;
}

.et2_searchbox span.ui-icon.clear {
    display: inline-block;
    background-position: -95px -126px;
    position: absolute;
    float: right;
    right: 8px;
    top: 3px;
}

.et2_searchbox .flex {
    width: 120px;
    position: relative;
    display: inline-block;
    padding-right: 28px;
    float: right;
}

.et2_searchbox .flex.overlay {
    width: 120px;
    position: absolute;
}

.et2_searchbox .flex.overlay span.ui-icon.clear {
    right: 0;
}

.et2_searchbox .hide {
    display: none !important;
}


/*Dialog headers styling*/
.popupMainDiv table.et2_grid > tbody > tr > td,
tr.dialogHeader td, tr.dialogHeader2 td, tr.dialogHeader3 td, tr.dialogHeader4 td,
tr.dialogOperators td, .dialogFooterToolbar {
    padding: 5px 0px 5px 0px;
}

table.et2_grid > tbody > tr > td {
    padding-right: 5px;
}
.popupMainDiv table.et2_grid > tbody > tr > td{
    padding-top: 2px;
    padding-bottom: 3px;
}

table.et2_grid > tbody > tr > td:last-child {
    padding-right: 0px;
}
table.et2_grid > tbody > tr > td.iphoto:last-child {
    padding: 0px;
    font-size: 22px;
    vertical-align: middle;
}
table.et2_grid > tbody > tr > td:last-child et2-image.iphoto{
    width: auto;
    flex-direction: column;
    align-items: center;
}

.dialogFooterToolbar, .dialogFooterToolbar td {
    padding-top: 10px !important;
}

.dialogFooterToolbar et2-button::part(base):not(:hover),
et2-dialog et2-button[variant='default'][slot='footer']::part(base):not(:hover) {
    background: hsl(240 4.8% 95.9%);
}

.dialogHeader {
    vertical-align: middle;
    border-bottom: 1px solid #E6E6E6;
    height: 50px;
}

tr.dialogHeader2 td {
    padding-top: 10px !important;
}

/*readonly widget style*/
.et2_button_ro, .et2_file_span.et2_button.et2_file_ro {
    opacity: 0.5;
    background-color: initial !important;
    box-shadow: none !important;
    cursor: default !important;
}

.et2_avatar {
    overflow: hidden;
    width: 40px;
    height: 40px;
    background-image: url(images/photo.png);
    background-size: 35px 35px;
    background-repeat: no-repeat;
    background-position: center;
    bottom: 25%;
    top: 25%;
}

.tox-tbtn.tox-tbtn--select.tox-tbtn--bespoke:nth-child(2) {
    width: 60px;
}

div.eml {
    position: absolute;
    height: 100%;
    width: 100%;
    display: block;
    background: white;
    opacity: 0.9;
    top: 0;
    left: 0;
}

div.eml div.emlEdit {
    background-image: url(../../../node_modules/bootstrap-icons/icons/pencil-square.svg);
    background-position: center;
    width: 100%;
    height: 50%;
    display: inline-block;
    background-size: 30%;
    background-repeat: no-repeat;
    opacity: 0.5;
}

div.eml div.emlDelete {
    background-image: url(../../../node_modules/bootstrap-icons/icons/trash3.svg);
    background-position: center;
    width: 100%;
    height: 50%;
    display: inline-block;
    background-size: 30%;
    background-repeat: no-repeat;
    opacity: 0.5;
}

div.eml div.emlDelete:hover, div.eml div.emlEdit:hover {
    opacity: 1;
    filter: contrast(9);
}

.vfs-select-toggle {
    display: none;
}

.vfs-select-app {
    display: inline-block;
    padding: 5px;
}

.vfs-select-container .selectFiles {
    height: 250px;
    overflow-x: hidden;
    overflow-y: auto;
}

.vfs-select-container div.et2_file span {
    width: 22px !important;
    height: 22px !important;
    padding: 0;
    background-position-x: 3px !important;
    background-image: url(../../../node_modules/bootstrap-icons/icons/plus-circle.svg);
    overflow: hidden !important;
    text-indent: 100px !important;
}

.vfs-select-container div.et2_file {
    width: 86px;
}
.vfs-select-container div.et2_file et2-button.et2_file_span.et2_file_ro {
    min-width: initial;
    max-width: -webkit-fill-available;
    max-width: -moz-available;
}

.vfs-select-container div.et2_file .progress {
    width: 252px;
    max-height: 12em;
    overflow: auto;
    padding: 0px;
    float: right !important;
    margin-left: 0;
}

#api\.vfsSelectUI_app {
    width: 177px
}

#api\.vfsSelectUI_name {
    padding-right: 0;
    margin-right: 0;
}

#api\.vfsSelectUI_search.et2_searchbox .flex {
    width: 142px;
    padding-right: 0px;
}

#api\.vfsSelectUI_search.et2_searchbox .flex input {
    padding-right: 0px;
}

#api\.vfsSelectUI_path {
    width: 100%;
}

#api\.vfsSelectUI_path .et2_textbox.et2_vfs {
    padding-right: 0px;
    margin-right: 0px;
}

tr.disableIfNoEPL {
    box-shadow: inset 1px 1px 1px 1px #b9b9b9bf;
}

.disableIfNoEPL td {
    opacity: 0.6;
}

.disableIfNoEPL:after {
    content: 'EPL ONLY';
    color: #ffffff;
    position: absolute;
    opacity: 0.5;
    height: 10px;
    background: rgb(6, 32, 56);
    font-weight: bold;
    padding: 2px;
    line-height: 8px;
    font-size: 7pt;
    text-align: center;
    right: 0;
    margin-top: 2px;
    margin-right: 1px;
    border-radius: 1px;
}

.egw_fw_ui_sidemenu_listitem.disableIfNoEPL > * {
    opacity: 0.5;
    pointer-events: none;
}

.egw_fw_ui_sidemenu_entry_content hr {
    /* HR in sidebox */
    margin: 5px 0px 0px 0px;
    border: none !important;
    height: 0px !important;
}

.inactive_blur > * {
    opacity: 0.4;
    filter: blur(2px);
    pointer-events: none;
}

.et2_editable {
    cursor: url(../../../node_modules/bootstrap-icons/icons/copy.svg), pointer;
}

.dragover {
    position: relative;
}

.dragover::after {
    content: ' ';
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #ffffff;
    opacity: 0.9;
    font-size: 20pt;
    font-weight: bold;
    text-align: center;
    background-image: url(../../../node_modules/bootstrap-icons/icons/paperclip.svg);
    background-position: center;
    background-size: 20%;
    background-repeat: no-repeat;
    border: 2px dashed silver;
    z-index: 1;
}

.colselection {
    max-height: 600px;
}

.colselection .dialogFooterToolbar {
    display: flex;
    flex-direction: row;
}

.et2_countdown {
    margin-left: 10px;
    background: #f1f1f1;
}

.et2_countdown > span {
    margin-right: 10px;
}

span.et2_countdown_seconds {
    margin-right: 0px;
}

/*et2_audio widget*/
.et2_audio.et2_audio_autohide {
    width: 35px;
    height: 35px;
    overflow: hidden;
    border: 1px solid #c0c0c0;
    border-radius: 6px;
    transition: width 1s;
    transition-delay: 1s;
}

.et2_audio.et2_audio_autohide audio {
    margin-left: -7px;
    height: 35px;
}

.et2_audio.et2_audio_autohide:hover {
    width: 280px;
}

.et2_audio audio {
    outline: none;
}


/** Hide flatpickr calendar when initially created */
body .flatpickr-calendar {
	display: none;
	box-shadow: 0 2px 8px hsl(240 3.8% 46.1% / 12%);
}

.flatpickr-calendar.open {
	/* egw tooltips are z-index: 10002, calendar needs to stay below that */
    z-index: 10000;
}

/** Holidays & birthdays **/
div.flatpickr-calendar .calHoliday /*, div.flatpickr-calendar .calBirthday*/
{
    background-color: rgba(103, 159, 210, 0.5);
}

/** Sizing for inline flatpickr, used in calendar sidebox **/
div.flatpickr-calendar.inline {
    --dayWidth: calc((width - 80) / 7);
    --width: calc(var(--dayWidth) * 7);
}

div.flatpickr-calendar.inline .dayContainer {
    width: var(--width);
    min-width: var(--width);
    max-width: var(--width);
}

div.flatpickr-calendar .flatpickr-months .flatpickr-month {
    flex: 1 1 auto;
    padding-top: 4px;
    padding-bottom: 0px;
    height: 30px;
}

div.flatpickr-calendar .flatpickr-months {
    background-color: #eceef1;
    gap: 4px;
}

div.flatpickr-calendar .flatpickr-current-month {
    left: 0ex;
    right: 0ex;
    width: initial;
    padding-top: 0px;
}

div.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
div.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
    position: relative;
    padding: 3px 6px 0px 6px;
    height: 26px;
}

div.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
    width: 75%;
    padding-left: 0;
}

div.flatpickr-calendar.inline .flatpickr-days {
    width: var(--width) !important;
}

div.flatpickr-calendar.inline .flatpickr-day {
    max-width: var(--dayWidth);
    height: var(--dayWidth);
    line-height: var(--dayWidth);
    cursor: pointer;
}

div.flatpickr-calendar.inline .flatpickr-day:not(.today) {
    border: none;
}

/* put bottom buttons in a row */
div.flatpickr-calendar .shortcut-buttons-flatpickr-buttons {
    display: flex;
}

button.shortcut-buttons-flatpickr-button:hover {
    background-color: #eceef1;
}

button.shortcut-buttons-flatpickr-button {
    background-color: white;
    width: 100%;
    height: 3em;
    border: 1px solid #eceef1;
    border-top: none;
    font-weight: 700;
}

.standartTreeImage img {
	width: 16px;
}

.selectedTreeRow {
    background-color: rgba(102, 153, 204, 0.7);
    color: #1e1e1e;
}

.selectedTreeRow_lor {
    background-color: hsl(200deg 98% 39%);
}

.standartTreeRow_lor {
    background-color: white;
}

/* Let Vfs file select dialog be over tinymce dialog */
.tox-tinymce-aux {
    z-index: 790 !important;
}

/* Fix tinymce toolbar z-index is way higher (safari only) */
.tox .tox-editor-container .tox-editor-header {
	z-index: auto;
}

/* Minimum height for editor */
.tox.tox-tinymce {
	min-height: 8em;
}

/* Right-align "As PDF" checkbox in merge dialog */
et2-vfs-select-dialog.egw_app_merge_document et2-checkbox {
	order: 10;
	margin-left: auto;
}

et2-vfs-mime {
    position: relative;
    font-size: 22px !important;
}
et2-vfs-mime img {
    display: inline-block;
}
et2-vfs-mime img.overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    height: 16px;
    width: 16px;
    z-index: 1;
}