/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
p.image-attachment .attachment-links a:before,
.quota-widget:before,
.table-widget table.options-table td:not(:first-child) span:before,
table.table th.checkbox-cell:before,
a.button.icon:before,
button.btn:before,
.floating-action-buttons a.button:before,
.ui-dialog .ui-dialog-titlebar-close:before,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before,
.ui-datepicker .ui-datepicker-prev:before,
.ui-datepicker .ui-datepicker-next:before,
.pgpkeyimport div.key label.keyid + a:before,
.pgpkeyimport li.uid:before,
.menu a:before,
.popover .menu li a[aria-haspopup]:after,
.searchbar form:before,
.searchbar a:before,
.ui.alert > i.icon:before,
.listing td.action a:before,
.listing.iconized li a:before,
.listing.iconized li > i:before,
.listing.iconized tr td:before,
.listing.iconized.selectable li a:before,
ul.treelist li div.treetoggle:before,
.folderlist li a:before,
.messagelist tr.thread td.threads div:before,
.messagelist td.subject span.msgicon.status:before,
.messagelist td.subject span.msgicon.status.replied.forwarded:after,
.messagelist span.attachment span,
.messagelist span.flagged:before,
.messagelist tr.flaggedroot:not(:hover) span.unflagged:before,
.messagelist tr:hover span.unflagged:before,
.contactlist td.contact:before,
.contactlist td.contactgroup:before,
.contactlist li a:before,
.attachmentslist li:before,
.attachmentslist li a.cancelupload:before,
.attachmentslist li a.delete:before,
.keylist li:before,
#identities-table td.mail:before,
#responses-table td.name:before,
#filterslist td.name:before,
#filtersetslist td.name:before,
.propform td.rowbuttons a:before,
fieldset.advanced > legend:after,
.input-group .icon:before,
.multi-input a.icon.reset:before,
.tagedit-list li.tagedit-listelement-old a:before,
div.tox .tox-dialog__header .tox-button:before,
div.tox .tox-dialog__footer .tox-button:before,
.html-editor .editor-toolbar .mce-i-html:before,
.googie_list li .googie_list_revert:before,
.googie_list li .googie_add_to_dict:before,
body.status-flagged #message-header > .subject:before,
#message-header > .subject a.extwin:before,
#message-header .header-links a:before,
.message-part blockquote span.blockquote-link:after,
.message-htmlpart blockquote span.blockquote-link:after {
  font-size: 1.25em;display: block;float: left;margin: 0 0.25rem 0 0;width: 1.18em;height: 1em;font-family: 'Icons';font-style: normal;font-weight: 900;text-decoration: inherit;text-align: center;speak: none;font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;-webkit-font-smoothing: antialiased;
}
/*** Fonts ***/
@font-face {
  font-family: 'Icons';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/fa-solid-900.woff2") format('woff2'), url("../fonts/fa-solid-900.woff") format('woff');
}
@font-face {
  font-family: 'Icons';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/fa-regular-400.woff2") format('woff2'), url("../fonts/fa-regular-400.woff") format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url('../fonts/roboto-v29-regular.woff2') format('woff2'), url('../fonts/roboto-v29-regular.woff') format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: local('Roboto Italic'), local('Roboto-Italic'), url('../fonts/roboto-v29-italic.woff2') format('woff2'), url('../fonts/roboto-v29-italic.woff') format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto-v29-regular-700.woff2') format('woff2'), url('../fonts/roboto-v29-regular-700.woff') format('woff');
}
@font-face {
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url('../fonts/roboto-v29-italic-700.woff2') format('woff2'), url('../fonts/roboto-v29-italic-700.woff') format('woff');
}
/* Reset some Bootstrap style */
body,
button,
input,
optgroup,
select,
textarea,
.popover {
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, Roboto, sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
button,
input,
select,
textarea {
  line-height: initial;
}
input {
  vertical-align: middle;
}
a {
  color: #1fa37a;
}
a:hover {
  color: #1a8967;
}
a.disabled {
  pointer-events: none;
}
a.disabled:not(.btn) {
  opacity: 0.5;
}
/* Scrollbar styles */
html:not(.touch) ::-webkit-scrollbar {
  width: 6px;
}
html {
  scrollbar-color: #d4d4d8 transparent;
}
html:not(.touch) ::-webkit-scrollbar-track {
  background-color: transparent;
}
html:not(.touch) ::-webkit-scrollbar-thumb {
  background-color: #d4d4d8;
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Responsive design - Layout ***/
/*
- Large screen (width > 1200px)
   -----------------------------------------------------------------------------------------------------
   |  menu  |        sidebar        |         list          |                 content                  |
   -----------------------------------------------------------------------------------------------------
- Normal screen (1200px => width => 768px) - typical: 768x1024 (iPad Mini/Air)
   -------------------------------------------------------------------
   |menu|    sidebar/list     |               content                |
   -------------------------------------------------------------------
- Small (480px < width < 768px)
   ------------------------------------------
   |menu|     sidebar/list/content          |
   ------------------------------------------
- Phone (width <= 480px) - typical: 320x480 (iPhone 5), 375x667 (iPhone 6-7), 360x564 (Galaxy S6)
   ------------------------
   | sidebar/list/content |
   ------------------------
*/
html {
  height: 100%;
  font-size: 14px;
}
body {
  min-width: 240px;
  height: 100%;
  color: #242424;
  overflow: hidden;
}
html.iframe body {
  overflow: auto;
}
#layout {
  overflow: hidden;
  display: flex;
  height: 100%;
  width: 100%;
}
#layout > div > .scroller {
  flex: 1;
  position: relative;
}
#layout > div > .header,
#layout > div > .footer {
  font-size: 1rem;
  font-weight: bold;
  line-height: 58px;
  height: 58px;
  min-height: 58px;
  padding: 0 0.25em;
  margin: 0;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  display: flex;
  justify-content: center;
}
#layout > div > .header {
  border-bottom: 1px solid #e0e0e0;
  color: #242424;
  background-color: #ffffff;
}
#layout > div > .header .header-title {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  text-align: center;
  margin: 0 -20rem;
}
#layout > div > .header a.button {
  color: #242424;
}
#layout > div > .header a.toolbar-list-button,
#layout > div > .header a.toolbar-menu-button {
  order: 99;
}
#layout > div > .footer {
  border-top: 1px solid #e0e0e0;
  background-color: #ffffff;
}
#layout > div > .footer.small {
  height: 35px;
  min-height: 35px;
  line-height: 35px;
}
#layout > div > .footer:empty {
  display: none;
}
#layout-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 2;
  max-width: 30%;
  min-width: 220px;
  border-right: 1px solid #e0e0e0;
  background-color: #ffffff;
}
#layout-sidebar.sidebar-right {
  order: 2;
  border-right: 0;
  border-left: 1px solid #e0e0e0;
  flex: 3;
}
#layout-list {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 3;
  max-width: 30%;
  min-width: 300px;
  border-right: 1px solid #e0e0e0;
  background-color: #ffffff;
}
#layout-content {
  display: flex;
  flex: 6;
  flex-direction: column;
  background-color: #ffffff;
  width: 100%;
}
html.iframe #layout-content {
  height: 100%;
}
#layout-content > .formcontent,
#layout-content > .content {
  height: 100%;
  width: 100%;
  overflow: auto;
  flex: 1;
}
#layout-content .iframe-wrapper {
  width: 100%;
  flex: 1;
}
#layout-content .iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
#layout-content.only > .scroller {
  overflow: auto;
}
#layout-menu.popover {
  left: 0 !important;
}
#layout-menu .popover-header {
  height: 58px;
  line-height: 58px;
  border: 0;
  border-radius: 0;
  text-align: center;
}
#layout-menu .popover-header img {
  max-height: 58px;
  max-width: 78px;
  padding: 0.25rem;
}
@media screen and (min-width: 481px) and (max-width: 1024px) {
  #layout-menu .popover-header img {
    max-width: 35.1px;
  }
}
@media screen and (min-width: 481px) {
  #layout-menu .popover-header {
    padding: 0 !important;
    background-color: #f5f5f5 !important;
  }
  #layout-menu .popover-header a {
    display: none !important;
  }
}
html.layout-phone #layout-menu .popover-header {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
}
html.layout-phone #layout-menu .popover-header img {
  max-width: 222px;
}
html.layout-phone #layout-menu .popover-header a {
  width: auto;
  flex: 1;
}
html.layout-phone #layout-menu .popover-header a:before {
  height: 58px;
  float: right;
}
html.layout-phone #layout-menu .popover-header a .inner {
  display: none;
}
.column-resizer {
  cursor: col-resize;
  z-index: 1;
  position: absolute;
  top: 0;
  right: -3px;
  width: 6px;
  height: 100%;
}
.column-resizer.inverted {
  right: auto;
  left: -3px;
}
.column-resizer.active {
  width: 10000px;
  right: -5000px;
}
.column-resizer.active.inverted {
  right: auto;
  left: -5000px;
}
@media screen and (max-width: 1200px) {
  #layout-sidebar,
  #layout-list {
    min-width: 260px;
    flex: 3;
  }
  #layout-list > .header > a.button {
    padding: 0 0.25rem;
    margin: 0 0.25rem;
  }
}
@media screen and (max-width: 1024px) {
  .column-resizer {
    display: none;
  }
  #layout-sidebar,
  #layout-list {
    width: auto !important;
    flex: 3 !important;
  }
}
@media screen and (max-width: 768px) {
  #layout-sidebar,
  #layout-list {
    max-width: none;
    border: 0 !important;
  }
  #layout > div > .header {
    background-color: #ffffff;
  }
  #layout > div > .header a.button {
    margin: 0 0.3rem !important;
    padding: 0 !important;
  }
  #layout > div > .header a.button:before {
    font-size: 1.75rem;
    height: 58px;
    margin: 0;
  }
  #layout > div > .header a.button.filter:before {
    font-size: 1.6rem;
  }
  #layout > div > .header a.button .inner {
    display: none;
  }
  #layout > div > .footer {
    background-color: #ffffff;
  }
  a.toolbar-list-button {
    display: none;
  }
}
@media screen and (max-width: 320px) {
  #layout-sidebar,
  #layout-list {
    min-width: 240px;
  }
}
@media screen and (min-width: 481px) {
  a.task-menu-button {
    display: none;
  }
  #layout-menu {
    background-color: #f5f5f5;
    width: 42px;
  }
}
@media screen and (min-width: 769px) {
  .floating-action-buttons,
  #layout-content > .header > .header-title,
  #layout > div > .header > .buttons,
  a.toolbar-menu-button {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  #layout-menu {
    width: 78px;
  }
}
@media screen and (min-width: 1201px) {
  #layout-list > .header > .header-title:not(.all-sizes),
  a.toolbar-list-button,
  a.back-list-button,
  a.back-sidebar-button {
    display: none;
  }
}
html.layout-phone .hidden-phone {
  display: none !important;
}
html.layout-phone .hidden-small,
html.layout-small .hidden-small {
  display: none !important;
}
html.layout-small .hidden-lbs {
  display: none !important;
}
html.layout-large .hidden-lbs,
html.layout-normal .hidden-lbs,
html.layout-large .hidden-big,
html.layout-normal .hidden-big {
  display: none !important;
}
html.layout-large .hidden-large {
  display: none !important;
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Common UI elements ***/
.rcmaddcontact,
.hidden,
.voice {
  display: none !important;
}
font.bold {
  font-weight: bold;
}
#rcmdraglayer {
  min-width: 260px;
  width: 260px;
  background-color: #242424;
  color: #fafafa;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.15);
  border-radius: 0.3rem;
  z-index: 250;
  opacity: 0.92;
  padding: 0.5rem;
  white-space: nowrap;
}
#rcmdraglayer div {
  line-height: 1.6em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.frame-content {
  padding: 1rem;
}
.frame-content h2 {
  font-weight: bold;
  font-size: 1.5em;
}
.frame-content h3 {
  font-weight: bold;
  font-size: 1.25em;
}
.listbox .scroller {
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.listbox .navlist {
  height: 0;
  flex: initial !important;
}
.listbox .navlist .listing tr:last-child td,
.listbox .navlist .listing li:last-child {
  border-bottom: 0;
}
.popup .listbox {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.popup .listbox .scroller {
  flex: 1;
}
.popup .listbox .footer {
  border-top: 1px solid #e0e0e0;
  background-color: #f5f5f5;
}
.contact-header {
  display: flex;
  margin-bottom: 1rem;
}
.contact-header .contact-photo {
  min-width: 112px;
}
.contact-header .contact-head {
  margin-left: 1rem;
  margin-top: 0 !important;
}
.contact-header .contact-head legend {
  display: none;
}
p.image-attachment {
  position: relative;
  border: 1px solid #e0e0e0;
  border-radius: 0.3rem;
  background-color: #ffffff;
  float: left;
  margin: 0.5rem;
  min-width: 47%;
  min-height: 250px;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  p.image-attachment {
    float: none;
    margin: 0.5rem 0 0.5rem 0;
  }
}
p.image-attachment .image-link {
  align-self: center;
  text-align: center;
  margin: 1.6rem 0.5rem;
}
p.image-attachment span {
  color: #616161;
  padding: 0 0.5rem;
  font-size: 90%;
  white-space: nowrap;
  position: absolute;
  line-height: 1.5rem;
}
p.image-attachment .image-filename {
  overflow: hidden;
  text-overflow: ellipsis;
  left: 0;
  top: 0;
  right: 0;
  padding-right: 4rem;
}
p.image-attachment .image-filesize {
  right: 0;
  top: 0;
}
p.image-attachment .attachment-links {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
p.image-attachment .attachment-links a {
  text-decoration: none;
  display: inline-block;
  padding: 0 0.5rem;
  line-height: 1.5rem;
}
p.image-attachment .attachment-links a:before {
  display: inline-block;
}
p.image-attachment .attachment-links a.open:before {
  content: "\f360";
}
p.image-attachment .attachment-links a.download:before {
  content: "\f019";
}
fieldset.image-attachment {
  margin-top: 0.5rem;
}
fieldset.image-attachment legend {
  color: #616161;
  font-size: 0.9rem;
  border-top: 1px solid #e1e1e1;
  margin: 0;
}
fieldset.image-attachment img {
  max-width: 100%;
}
#folder-selector {
  overflow-y: auto;
}
.noselect {
  user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}
.iframe-loader {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.iframe-loader .spinner-border {
  width: 7rem;
  height: 7rem;
  color: #e0e0e0;
  border: 1rem solid;
  border-color: currentColor #1fa37a currentColor currentColor;
}
.footer.toolbar + .iframe-loader {
  top: 58px;
  bottom: 58px;
}
.ios-scroll {
  padding: 0;
  -webkit-overflow-scrolling: touch !important;
  overflow: scroll !important;
}
.ios-scroll.iframe-wrapper {
  margin-top: 1px;
}
.webkit-scroller::-webkit-scrollbar {
  -webkit-appearance: none;
}
.webkit-scroller::-webkit-scrollbar:vertical {
  width: 0.5rem;
}
.webkit-scroller::-webkit-scrollbar:horizontal {
  height: 0.5rem;
}
.webkit-scroller::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 0.25rem;
  border: 2px solid #fff;
}
.quota-widget {
  width: 100%;
  max-width: 15em;
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  color: #616161;
}
.quota-widget:before {
  content: "\f0a0";
  line-height: 1;
}
.quota-widget .count {
  font-size: 80%;
  order: 2;
}
.quota-widget .bar {
  flex: 1;
  height: 0.5rem;
  margin: 0 1rem;
  background-color: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 0.25rem;
  overflow: hidden;
}
.quota-widget .value {
  display: block;
  background-color: #1fa37a;
  height: 1rem;
  opacity: 0.75;
}
.quota-widget .value.warning {
  background-color: #c4314b;
}
.image-tools {
  position: absolute;
  top: 5rem;
  left: 0;
  height: 58px;
  overflow: hidden;
  transform: translateX(-87%);
  transition: transform 0.3s ease-in-out;
  background-color: rgba(9, 9, 11, 0.6);
  border-radius: 0 0.3rem 0.3rem 0;
}
.image-tools .menu {
  float: left;
}
.image-tools a.button.icon.tools {
  padding: 0 0.25rem;
  display: inline-block;
  height: 58px;
}
.image-tools a.button.icon.tools span.inner {
  display: none;
}
.image-tools a.button.icon.tools:before {
  line-height: 58px;
  margin: 0;
}
.image-tools.open {
  transform: translateX(0);
}
.image-tools.open a.button.icon.tools:before {
  content: "\f053";
}
.image-tools a {
  color: #fafafa !important;
}
.image-tools a:focus,
.image-tools a:hover {
  background-color: #1fa37a !important;
  outline: 0;
}
.quota-info {
  width: 100%;
  display: table !important;
}
.quota-info td,
.quota-info th {
  text-align: center;
  white-space: nowrap;
}
.quota-info th {
  border-top: 0;
}
.quota-info .root {
  line-height: 1;
  font-style: italic;
  color: #616161;
  background-color: #f5f5f5;
}
.quota-info th:first-child,
.quota-info .name {
  text-align: left;
}
.nav-tabs {
  flex-wrap: nowrap;
}
.nav-tabs .nav-item {
  white-space: nowrap;
  overflow: hidden;
}
.nav-tabs .nav-link {
  overflow: hidden;
  text-overflow: ellipsis;
}
.props-table td.title {
  width: 7em;
}
.table-widget {
  display: flex;
  flex-direction: column;
  margin-bottom: 0.5rem;
  border: 1px solid #e0e0e0;
}
.table-widget > .content {
  overflow-x: auto;
  flex-grow: 1;
  height: 18.5em;
}
.table-widget > .content table th {
  border-top: 0;
}
.table-widget > .footer {
  height: 3.5rem;
  border-top: 1px solid #e0e0e0;
  text-align: left;
}
.table-widget > .footer a {
  padding: 0.2rem 0.45rem !important;
  height: calc(3.5rem - 1px) !important;
}
.table-widget table {
  margin: 0;
  max-height: 18.5em;
}
.table-widget table.options-table td,
.table-widget table.options-table th {
  text-align: center;
  vertical-align: middle;
}
.table-widget table.options-table td:first-child,
.table-widget table.options-table th:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left;
}
.table-widget table.options-table tr:last-child td {
  border-bottom: 1px solid #e0e0e0;
}
.table-widget table.options-table tr.selected td {
  background-color: #e9f6f2;
  color: #242424;
  outline: 0;
}
.table-widget table.options-table td:not(:first-child) span {
  display: inline-block;
  line-height: 1.25;
}
.table-widget table.options-table td.enabled span:before {
  content: "\f00c";
}
.table-widget table.options-table td.partial span:before {
  opacity: 0.3;
  content: "\f00c";
}
table.compact-table {
  margin: 0;
  width: 100%;
}
table.compact-table *:not(.invalid-feedback) {
  font-size: inherit;
}
table.compact-table td {
  padding: 0.25rem;
  border: 0;
}
table.compact-table td:first-child {
  padding-left: 0;
}
table.compact-table td:last-child {
  padding-right: 0;
}
table.table .checkbox-cell {
  width: 3rem;
  white-space: nowrap;
  overflow: hidden;
  text-align: center;
  padding: 0.5rem;
}
html.touch table.table .checkbox-cell {
  padding: 0.5rem 0.3rem;
}
table.table th.checkbox-cell {
  padding: 0.75rem 0;
  max-width: 1rem;
}
table.table th.checkbox-cell:before {
  cursor: pointer;
  margin: 0 1rem;
  line-height: 1;
}
table.table th.checkbox-cell.subscription:before {
  content: "\f143";
}
table.table th.checkbox-cell.alarm:before {
  content: "\f0f3";
  font-weight: 400;
}
table.table th.checkbox-cell.read:before {
  content: "\f06e";
}
table.table th.checkbox-cell.write:before {
  content: "\f303";
}
table.table .buttons-cell {
  width: 1%;
  white-space: nowrap;
  text-align: center;
}
table.table .buttons-cell a.button:before {
  line-height: 1;
  float: none;
  display: inline-block;
}
@media screen and (min-width: 480px) {
  table.table .buttons-cell a.button .inner {
    display: inline;
  }
}
table.table label {
  margin: 0;
  display: inline;
}
fieldset.tab-pane table.table thead th {
  border: 0;
}
table.table tr.deleted td {
  color: #616161 !important;
}
/* Bootstrap's .table style overwrites */
.table thead th {
  border-width: 1px;
  white-space: nowrap;
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Buttons ***/
.button.disabled {
  opacity: 0.5;
}
a.button {
  text-decoration: none !important;
}
/* font-icons */
a.button.icon.sidebar-menu:before,
button.btn.sidebar-menu:before,
a.button.icon.toolbar-menu-button:before,
button.btn.toolbar-menu-button:before,
a.button.icon.toolbar-list-button:before,
button.btn.toolbar-list-button:before {
  content: "\f142";
  width: 1em;
}
a.button.icon.task-menu-button:before,
button.btn.task-menu-button:before {
  content: "\f0c9";
}
a.button.icon.back-sidebar-button:before,
button.btn.back-sidebar-button:before,
a.button.icon.back-content-button:before,
button.btn.back-content-button:before,
a.button.icon.back-list-button:before,
button.btn.back-list-button:before {
  content: "\f053";
}
a.button.icon.refresh:before,
button.btn.refresh:before {
  content: "\f021";
}
a.button.icon.generate:before,
button.btn.generate:before,
a.button.icon.yes:before,
button.btn.yes:before,
a.button.icon.submit:before,
button.btn.submit:before,
a.button.icon.continue:before,
button.btn.continue:before,
a.button.icon.save:before,
button.btn.save:before {
  content: "\f00c";
}
a.button.icon.create:before,
button.btn.create:before {
  content: "\f0fe";
}
a.button.icon.edit:before,
button.btn.edit:before {
  content: "\f303";
}
a.button.icon.qrcode:before,
button.btn.qrcode:before {
  content: "\f029";
}
a.button.icon.search:before,
button.btn.search:before {
  content: "\f002";
}
a.button.icon.filter:before,
button.btn.filter:before {
  content: "\f0b0";
  font-size: 1.2em;
}
a.button.icon.import:before,
button.btn.import:before {
  content: "\f093";
}
a.button.icon.export:before,
button.btn.export:before {
  content: "\f019";
}
a.button.icon.discard:before,
button.btn.discard:before,
a.button.icon.delete:before,
button.btn.delete:before {
  content: "\f2ed";
  font-weight: 400;
}
a.button.icon.next:before,
button.btn.next:before {
  content: "\f061";
}
a.button.icon.restore:before,
button.btn.restore:before {
  content: "\f0e2";
}
a.button.icon.send:before,
button.btn.send:before,
a.button.icon.bounce:before,
button.btn.bounce:before {
  content: "\f1d8";
}
a.button.icon.attach:before,
button.btn.attach:before {
  content: "\f0c6";
}
a.button.icon.attach.vcard:before,
button.btn.attach.vcard:before {
  content: "\f007";
}
a.button.icon.no:before,
button.btn.no:before,
a.button.icon.close:before,
button.btn.close:before,
a.button.icon.cancel:before,
button.btn.cancel:before {
  content: "\f00d";
}
a.button.icon.back:before,
button.btn.back:before {
  content: "\f053";
}
a.button.icon.remove:before,
button.btn.remove:before {
  content: "\f00d";
}
a.button.icon.unlock:before,
button.btn.unlock:before {
  content: "\f09c";
}
a.button.icon.help:before,
button.btn.help:before {
  content: "\f1cd";
  font-weight: 400;
}
a.button.icon.folders:before,
button.btn.folders:before {
  content: "\f07c";
}
a.button.icon.options:before,
button.btn.options:before {
  content: "\f1de";
}
a.button.icon.tools:before,
button.btn.tools:before,
a.button.icon.settings:before,
button.btn.settings:before {
  content: "\f013";
}
a.button.icon.properties:before,
button.btn.properties:before {
  content: "\f05a";
}
a.button.icon.selection:before,
button.btn.selection:before {
  content: "\f14a";
  font-weight: 400;
}
a.button.icon.insert.recipient:before,
button.btn.insert.recipient:before {
  content: "\f234";
}
a.button.icon.encrypt:before,
button.btn.encrypt:before {
  content: "\f023";
}
a.button.icon.sign:before,
button.btn.sign:before {
  content: "\f5b7";
}
a.button.icon.sso:before,
button.btn.sso:before {
  content: "\f2f6";
}
a.button.icon.extwin:before,
button.btn.extwin:before {
  content: "\f360";
}
a.btn:before,
button.btn:before {
  display: inline !important;
  float: none !important;
  vertical-align: middle;
  margin-right: 0.4rem !important;
}
a.btn.oauth.google:before,
button.btn.oauth.google:before,
a.btn.oauth.outlook:before,
button.btn.oauth.outlook:before {
  content: " ";
  display: inline-block !important;
  height: 1.5rem;
  width: 1.5rem;
  margin-right: 0.8rem !important;
  background-size: 100% auto;
}
a.btn.oauth.google:before,
button.btn.oauth.google:before {
  background: url('../images/google-icon.svg') top left no-repeat;
}
a.btn.oauth.outlook:before,
button.btn.oauth.outlook:before {
  background: url('../images/microsoft-icon.svg') top left no-repeat;
}
a.button.icon.dropdown:before {
  content: "\f0d7";
  font-size: 1em;
}
a.button.icon > span.inner {
  display: none;
}
html.touch .btn:focus {
  box-shadow: none !important;
}
.floating-action-buttons {
  position: absolute;
  right: 0;
  bottom: 0;
}
.footer:not(:empty) + .floating-action-buttons {
  bottom: 35px;
}
.floating-action-buttons a.button {
  display: block;
  float: left;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #1fa37a;
  color: white;
  opacity: 0.95;
  box-shadow: 0 0 5px 5px #8be9cc;
  margin: 0 1rem 1rem 0;
}
.floating-action-buttons a.button:before {
  content: "\f067";
  width: 4rem;
  height: 4rem;
  line-height: 4rem;
}
.floating-action-buttons a.button.compose:before {
  content: "\f304";
}
.floating-action-buttons a.button .inner {
  display: none;
}
/*** Bootstrap button style overrides ***/
.btn:focus {
  box-shadow: 0 0 0 0.2rem rgba(31, 163, 122, 0.3);
}
.btn-link {
  color: #1fa37a;
}
.btn-secondary {
  color: #242424;
  background: #f5f5f5;
  border-color: #f5f5f5;
}
.btn-secondary:focus {
  background: #e8e8e8;
  border-color: #e3e3e3;
  box-shadow: 0 0 0 0.2rem rgba(245, 245, 245, 0.5);
}
.btn-secondary:hover {
  background: #e8e8e8;
  border-color: #e3e3e3;
}
.btn-secondary.disabled,
.btn-secondary:disabled {
  background: #f5f5f5;
  border-color: #f5f5f5;
}
.btn-secondary:not(:disabled):not(.disabled):active,
.btn-secondary:not(:disabled):not(.disabled).active {
  background: #dcdcdc;
  border-color: #d6d6d6;
}
.btn-secondary:not(:disabled):not(.disabled):active:focus,
.btn-secondary:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 245, 245, 0.53);
}
.btn-primary {
  color: #fafafa;
  background: #1fa37a;
  border-color: #1fa37a;
}
.btn-primary:focus {
  background: #1b8e6a;
  border-color: #198564;
  box-shadow: 0 0 0 0.2rem rgba(31, 163, 122, 0.5);
}
.btn-primary:hover {
  background: #1b8e6a;
  border-color: #198564;
}
.btn-primary.disabled,
.btn-primary:disabled {
  background: #1fa37a;
  border-color: #1fa37a;
}
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:not(:disabled):not(.disabled).active {
  background: #17785a;
  border-color: #157054;
}
.btn-primary:not(:disabled):not(.disabled):active:focus,
.btn-primary:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(31, 163, 122, 0.53);
}
.btn-danger {
  color: #fafafa;
  background: #c4314b;
  border-color: #c4314b;
}
.btn-danger:focus {
  background: #b02c43;
  border-color: #a72a40;
  box-shadow: 0 0 0 0.2rem rgba(196, 49, 75, 0.5);
}
.btn-danger:hover {
  background: #b02c43;
  border-color: #a72a40;
}
.btn-danger.disabled,
.btn-danger:disabled {
  background: #c4314b;
  border-color: #c4314b;
}
.btn-danger:not(:disabled):not(.disabled):active,
.btn-danger:not(:disabled):not(.disabled).active {
  background: #9b273b;
  border-color: #932538;
}
.btn-danger:not(:disabled):not(.disabled):active:focus,
.btn-danger:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(196, 49, 75, 0.53);
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** jQuery-UI widgets' style overrides ***/
.ui-widget-overlay {
  background-color: rgba(9, 9, 11, 0.5);
  opacity: 1 !important;
}
.ui-widget-overlay.datepicker {
  z-index: 119;
}
.ui-widget {
  border: 1px solid #e0e0e0;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  border-radius: 0.3rem;
}
.ui-menu {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 400px;
  border-radius: 0.3rem;
  z-index: 240;
  position: absolute;
}
.ui-menu .ui-state-active {
  border: 0 !important;
  background-color: #f5f5f5 !important;
}
.ui-menu .ui-menu-item {
  white-space: nowrap;
  cursor: default;
}
.ui-menu .ui-menu-item-wrapper {
  margin: 0 !important;
}
.ui-dialog {
  border-radius: 0;
  box-shadow: none;
}
.ui-dialog.no-titlebar .ui-dialog-titlebar {
  display: none;
}
.ui-dialog .ui-dialog-titlebar {
  height: 58px;
  border-bottom: 1px solid #e0e0e0;
}
.ui-dialog .ui-dialog-titlebar button:before {
  margin: 0;
}
.ui-dialog .ui-dialog-title {
  line-height: 58px;
  font-size: 1.25rem;
  padding: 0 3rem 0 1rem;
  color: #242424;
}
.ui-dialog .ui-dialog-titlebar-close {
  border: 0;
  color: #242424;
  background: transparent;
  right: 0;
  top: 0;
  position: absolute;
  padding: 0.25rem 0.5rem;
  margin: 15px 0.5rem;
}
.ui-dialog .ui-dialog-titlebar-close:before {
  content: "\f00d";
  line-height: 1.5rem;
  margin: 0 !important;
}
.ui-dialog .ui-dialog-content > .popupmenu {
  display: block !important;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  display: flex;
  justify-content: flex-end;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 5rem;
  margin: 9px 4px;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:last-child,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:last-child {
  margin-right: 0;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
  padding-right: 0;
  padding-left: 0;
  text-decoration: none;
  color: #242424;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:focus {
  background-color: rgba(31, 163, 122, 0.5);
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options {
  order: -1;
  padding: 0.375rem 0.25rem;
  margin-right: 0.3rem;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before {
  content: "\f013";
  width: 100%;
  height: 1.25em;
}
.ui-dialog iframe,
.ui-dialog .ui-dialog-content.iframe {
  padding: 0;
  width: 100% !important;
  height: 100%;
  border: 0;
  overflow: hidden;
}
.ui-dialog,
.ui-dialog-content {
  box-sizing: initial;
}
.ui-widget-content .ui-icon.ui-resizable-se {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20fill%3D%22%23888%22%20d%3D%22M6.7%2016L16%206.7V5.3L5.3%2016zM9.7%2016L16%209.7V8.3L8.3%2016zM12.7%2016l3.3-3.3v-1.4L11.3%2016zM15.7%2016l.3-.3v-1.4L14.3%2016z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
}
/* FIXME: why do I need !important here? */
@media screen and (max-width: 480px) {
  .ui-dialog {
    width: 100% !important;
    height: 100% !important;
    display: flex;
    flex-direction: column;
    border: 0;
    top: 0 !important;
  }
  .ui-dialog .ui-resizable-handle,
  .ui-dialog .ui-dialog-titlebar-close {
    display: none !important;
  }
  .ui-dialog .ui-dialog-titlebar {
    height: 58px;
    text-align: center;
    background-color: #ffffff;
  }
  .ui-dialog .ui-dialog-title {
    line-height: 58px;
    font-size: 1rem;
    padding: 0 1rem;
  }
  .ui-dialog .ui-dialog-content {
    flex: 1;
  }
  .ui-dialog .ui-dialog-content:not(.iframe) {
    padding: 1rem;
  }
  .ui-dialog .ui-dialog-buttonpane {
    padding: 0 !important;
    text-align: center !important;
    border-top: 1px solid #e0e0e0;
    height: 58px !important;
    background-color: #ffffff;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    justify-content: space-around;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
    margin: 0 !important;
    padding: 0.45rem;
    border: 0 !important;
    height: 58px;
    box-shadow: none;
    font-size: 90%;
    line-height: 1.5;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:before {
    display: block !important;
    float: none;
    width: auto;
    height: 1.75rem;
    line-height: 1.75;
    margin: 0 !important;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:active {
    box-shadow: none;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-primary,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary {
    color: #242424;
    background: transparent;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-danger {
    color: #c4314b;
    background: transparent;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.disabled,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:disabled {
    opacity: 0.5;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.cancel {
    order: 100;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
    color: #242424;
    margin: 0;
    padding: 0.45rem;
    font-size: 90%;
  }
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before {
    display: block !important;
    height: 1.75rem;
    line-height: 1.75;
    margin: 0;
  }
}
/* Slider widget */
.ui-slider {
  box-shadow: none;
}
.ui-slider .ui-slider-range {
  border-radius: 0.3rem;
  background: #76e5c3;
}
.ui-slider .ui-slider-handle {
  border-radius: 0.3rem;
}
.ui-slider .ui-slider-handle.ui-state-active {
  background: #1fa37a;
  border-color: #105640;
}
/* Datepicker widget */
.ui-datepicker {
  margin: calc(50vh - 10em) calc(50vw - 10em) !important;
  top: 0 !important;
  left: 0 !important;
  box-shadow: none;
  user-select: none;
}
.ui-datepicker:not(.ui-datepicker-inline) {
  z-index: 120 !important;
}
.ui-datepicker .ui-datepicker-header,
.ui-datepicker .ui-datepicker-title {
  line-height: 4rem;
  height: 4rem;
  padding: 0;
}
.ui-datepicker .ui-datepicker-header {
  border-bottom: 1px solid #e0e0e0;
}
.ui-datepicker .ui-datepicker-header a {
  height: 4rem;
}
.ui-datepicker .ui-datepicker-header select {
  display: inline-block;
}
.ui-datepicker .ui-icon {
  background-image: none !important;
  background-position: none !important;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  cursor: pointer;
  width: auto;
  color: #242424;
  text-decoration: none;
}
.ui-datepicker .ui-datepicker-prev:before,
.ui-datepicker .ui-datepicker-next:before {
  content: "\f053";
  margin: 0 0.25em;
  height: auto;
  width: 1em;
}
.ui-datepicker .ui-datepicker-prev:before {
  content: "\f053";
}
.ui-datepicker .ui-datepicker-next:before {
  content: "\f054";
}
.ui-datepicker td a {
  padding: 0;
  line-height: 1.8em;
  border-radius: 0.3rem;
}
.ui-datepicker .ui-state-default,
.ui-datepicker.ui-widget-content .ui-state-default {
  border: 0;
  background: transparent;
  color: #242424;
}
.ui-datepicker .ui-datepicker-days-cell-over a,
.ui-datepicker .ui-datepicker-days-cell-over a.ui-state-default,
.ui-datepicker .ui-state-highlight,
.ui-datepicker.ui-widget-content .ui-state-highlight {
  background: #f5f5f5;
  color: #242424;
}
.ui-datepicker a.ui-state-active {
  background: #1fa37a !important;
  color: #fafafa !important;
  font-weight: bold;
}
.ui-datepicker html.touch td a {
  font-size: 1.2em;
  line-height: 2.2em;
}
.input-group > .form-control.hasDatepicker {
  position: initial;
}
.minicolors-panel {
  border: 1px solid #e0e0e0;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  border-radius: 0.3rem;
  height: 152px;
  padding: 1px;
}
.input-group .minicolors-input {
  width: 100%;
  min-width: 130px;
  border-left: 0;
  border-right: 0;
}
@media screen and (max-width: 320px) {
  .ui-widget-content {
    border-radius: 0;
  }
  .ui-menu {
    border-radius: 0.3rem;
    left: 15px !important;
    right: 15px;
    width: auto;
  }
  .ui-dialog .ui-dialog-content:not(.iframe) {
    padding: 0.65rem;
  }
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Dialogs and popovers ***/
.popupmenu {
  display: none;
  padding: 0;
  min-width: 180px;
  height: 100%;
}
.popupmenu li > a {
  width: 100%;
}
.popupmenu.propform {
  overflow: hidden;
  padding: 0.25rem;
}
.popupmenu.simplelist {
  min-width: 80px;
}
.popup.justified {
  display: flex;
  justify-content: space-around;
}
.popover-body {
  padding: 0;
  overflow-x: hidden;
}
.popover-body > .popupmenu {
  display: block !important;
}
.popover {
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.1);
  border-color: #e0e0e0;
  padding: 0;
  z-index: 1300;
}
.popover .popover-header {
  display: none;
}
@media screen and (min-width: 769px) {
  .popover .listing li:first-child {
    border-radius: 0.25rem 0.25rem 0 0;
  }
  .popover .listing li:last-child {
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
  }
  .popover .listing ul.rounded-0 > li {
    border-radius: 0;
  }
}
html.layout-small .popover:not(.select-menu),
html.layout-phone .popover:not(.select-menu) {
  margin: 0 !important;
  padding: 0;
  right: 0;
  left: initial !important;
  bottom: 0;
  top: 0;
  width: 272px;
  transform: none !important;
  border-radius: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  box-shadow: none;
}
html.layout-small .popover:not(.select-menu) div.arrow,
html.layout-phone .popover:not(.select-menu) div.arrow {
  display: none;
}
html.layout-small .popover:not(.select-menu) .listing li:last-child,
html.layout-phone .popover:not(.select-menu) .listing li:last-child {
  border-bottom: 1px solid #e0e0e0;
}
html.layout-small .popover-overlay,
html.layout-phone .popover-overlay {
  z-index: 1299;
  background-color: rgba(9, 9, 11, 0.5);
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}
html.layout-small .popover-header,
html.layout-phone .popover-header {
  display: block;
  border-radius: 0;
  border: 0;
  padding: 0 0.5em;
  height: 58px;
  min-height: 58px;
  line-height: 58px;
  font-size: 16px;
  color: #242424;
  background-color: #ffffff;
}
html.layout-small .popover-header:before,
html.layout-phone .popover-header:before {
  display: none;
}
html.layout-small .popover-header a,
html.layout-phone .popover-header a {
  display: inline-block;
  width: 100%;
  color: #242424;
}
html.layout-small .popover-body > *,
html.layout-phone .popover-body > * {
  max-height: 100% !important;
}
html.touch .popover .listing li a {
  line-height: 47px;
  font-size: 16px;
  padding: 0 0.5em;
}
html.touch .popover .listing li a:before {
  float: left;
}
.select-menu {
  max-width: initial;
  margin: 0;
  height: auto;
  z-index: 1301;
}
.select-menu .popover-header {
  border-radius: 0.25rem 0.25rem 0 0 !important;
}
.select-menu .listing li a {
  padding-left: 0.25rem;
  outline: 0;
}
.select-menu .listing li:last-child {
  border-bottom-right-radius: 0.25rem;
  border-bottom-left-radius: 0.25rem;
}
.select-menu.inline .listing li {
  padding-right: 0.5rem;
}
.select-menu.inline .listing li:first-child {
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
}
/** PGP Key search/import dialog **/
.pgpkeyimport div.key {
  position: relative;
  padding: 0.5rem 0;
}
.pgpkeyimport div.key.revoked,
.pgpkeyimport div.key.disabled {
  color: #616161;
}
.pgpkeyimport div.key label {
  display: inline-block;
  margin-right: 0.5em;
  margin-bottom: 0;
}
.pgpkeyimport div.key label:after {
  content: ":";
}
.pgpkeyimport div.key label.keyid {
  display: none;
}
.pgpkeyimport div.key label + a,
.pgpkeyimport div.key label + span {
  line-height: 2.6rem;
  margin-right: 1em;
  white-space: nowrap;
  text-decoration: none;
}
.pgpkeyimport div.key label.keyid + a {
  font-weight: bold;
}
.pgpkeyimport div.key label.keyid + a:before {
  content: "\f084";
}
.pgpkeyimport ul.uids {
  margin: 0;
  padding: 0;
}
.pgpkeyimport li.uid {
  border: 0;
  padding: 0.25rem 0 0 1.5em;
  line-height: 1.5rem !important;
  list-style-type: none;
}
.pgpkeyimport li.uid:before {
  content: "\f007";
  opacity: 0.25;
  font-size: 1em;
  line-height: 1.25;
}
.pgpkeyimport button.importkey {
  position: absolute;
  top: 0.5rem;
  right: 0;
}
.pgpkeyimport button:disabled {
  display: none;
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Toolbar widget ***/
.menu {
  margin: 0;
  text-align: center;
  white-space: nowrap;
}
.menu a {
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none;
}
.menu a:before {
  content: "\00a0";
}
.menu a:hover,
.menu a:focus {
  outline: 0;
}
.menu a:not(.disabled):focus,
.menu a:not(.disabled):hover {
  background-color: #f5f5f5;
}
.menu.toolbar li {
  display: inline-block;
  height: 58px;
}
.menu.toolbar a {
  color: #242424;
  display: block;
  float: left;
  border: 0 !important;
  height: 58px;
  min-width: 3.2rem;
  max-width: 6rem;
  width: auto;
  padding: 0.45rem;
  line-height: 1.5;
  cursor: pointer;
  font-size: 1rem;
  text-align: center;
}
.menu.toolbar a:before {
  height: 1.75rem !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
}
.menu.toolbar a.selected {
  color: #13a10e;
}
.menu.toolbar > .spacer {
  width: 1em;
}
.menu.toolbar .dropbutton:not(.disabled):hover {
  background-color: #f5f5f5;
}
.menu.toolbar .dropbutton a.dropdown {
  padding: 0 0.3rem;
}
.menu.toolbar .dropbutton a.dropdown:before {
  line-height: 58px;
}
.menu.toolbar .dropbutton a.dropdown:hover {
  background-color: #e8e8e8;
}
.menu span.inner {
  font-size: 90%;
  font-weight: normal;
}
.menu .dropbutton {
  display: inline-block;
}
.menu .dropbutton a.dropdown {
  font-size: 75%;
  min-width: 0;
}
html.ie11 .menu .dropbutton a.dropdown:before {
  font-size: 80%;
}
.menu .dropbutton a.dropdown span.inner {
  display: none;
}
.menu .dropbutton a:first-child {
  padding-right: 0;
}
.menu.pagenav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 !important;
  font-size: 100%;
}
.menu.pagenav a {
  flex-grow: 1;
  display: inline-block;
  min-width: 2rem !important;
  height: 35px;
  color: #242424;
}
.menu.pagenav a:before {
  margin: 0;
  display: inline;
  float: none;
  line-height: 35px;
}
.menu.pagenav .pagenav-text {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #616161;
  flex-grow: 4;
  font-size: 80%;
}
.menu.pagenav input {
  width: 3rem;
  max-width: 5rem;
  font-size: 90%;
  text-align: center;
  max-height: 1.6rem;
  margin: 0 0.2rem;
}
html.layout-phone .menu.pagenav input {
  display: none;
}
.menu.pagenav span.inner {
  display: none;
}
.menu.pagenav.pagenav-list {
  cursor: pointer;
  background-color: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
}
.menu.pagenav.pagenav-list a {
  flex-grow: unset;
}
.menu.pagenav.pagenav-list .pagenav-text {
  text-align: left;
  font-size: 100%;
}
.menu.pagenav.pagenav-list + .navlist {
  background-color: #fbfbfb;
}
.menu.pagenav.pagenav-list.expanded + .navlist {
  border-bottom: 1px solid #e0e0e0;
}
.menu.content-frame-navigation.hide-nav-buttons a.next,
.menu.content-frame-navigation.hide-nav-buttons a.prev {
  display: none;
}
.menu .listselectors {
  max-width: 100%;
  display: flex;
  justify-content: space-around;
}
.menu .buttons {
  display: block;
}
.menu .buttons button {
  display: block;
  float: left;
  cursor: pointer;
  color: #242424;
  background-color: transparent;
  border: 0;
  padding: 0;
  height: 58px;
  line-height: 58px;
  width: 2.5em;
}
.menu .buttons button:before {
  font-size: 1.75rem;
}
.popover .menu li {
  display: block;
  height: auto;
  text-align: left;
}
.popover .menu li.spacer {
  display: none;
}
.popover .menu li:last-child {
  border: 0;
}
.popover .menu li.separator {
  line-height: 1.5rem !important;
  font-size: 0.75rem !important;
  padding: 0 0.5rem;
  color: #616161;
  background-color: #f5f5f5;
}
.popover .menu li.separator label {
  margin: 0;
}
.popover .menu li a {
  height: unset;
  max-width: 100%;
  width: 100%;
  line-height: 35px;
  display: block;
  padding: 0 0.5rem;
  text-align: left;
}
.popover .menu li a:before {
  line-height: inherit;
  height: inherit !important;
  margin-right: 0.5rem !important;
  float: left !important;
  width: 1.18em !important;
  min-width: 1.18em;
}
.popover .menu li a:not(.disabled):hover {
  color: #242424;
  background-color: #f5f5f5;
}
.popover .menu li a[aria-haspopup] {
  display: flex;
}
.popover .menu li a[aria-haspopup]:after {
  color: #616161;
  font-size: 0.9em;
  margin: 0 0 0 0.2em;
  min-width: 1.18em;
  content: "\f054";
}
html.layout-small .popover .menu li a[aria-haspopup]:after {
  margin: 0 0.2em;
}
.popover .menu li a[aria-haspopup].dropdown:after {
  color: #242424;
  margin: 0 0.6em !important;
}
.popover .menu li a[aria-haspopup]:hover:after {
  color: #242424;
}
.popover .menu li a[aria-haspopup] > span {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.popover .menu li span.inner {
  font-size: 100%;
}
.popover .menu .dropbutton {
  display: flex;
}
.popover .menu .dropbutton a:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.popover .menu .dropbutton:not(.disabled):hover {
  background-color: #f5f5f5;
}
.popover .menu .dropbutton a.dropdown {
  width: 3.5rem;
  padding: 0 0.5em;
  background-color: #f5f5f5;
}
.popover .menu .dropbutton a.dropdown:hover {
  background-color: #f5f5f5;
}
.popover .menu .dropbutton a.dropdown:before,
.popover .menu .dropbutton a.dropdown span.inner {
  display: none;
}
.popover .menu.no-icon a:before {
  display: none;
}
@media screen and (min-width: 769px) {
  .content-frame-navigation {
    display: none !important;
  }
  .header a.button.icon:not(.disabled):focus,
  .header a.button.icon:not(.disabled):hover {
    background-color: #f5f5f5;
    outline: 0;
  }
  .header a.button.icon:before {
    margin: 0;
  }
}
@media screen and (max-width: 768px) {
  .menu.footer {
    justify-content: space-around !important;
  }
  .menu.footer > * {
    flex-grow: 1;
  }
  .menu.footer .buttons {
    display: flex;
    justify-content: space-evenly;
  }
  .menu.footer .listselectors > * {
    flex-grow: 1;
  }
  .menu.listing a {
    color: #242424;
  }
}
a.toolbar-button {
  cursor: pointer;
}
@media screen and (min-width: 1201px) {
  a.toolbar-button {
    line-height: 1.5;
    padding: 0.45rem;
  }
  a.toolbar-button:before {
    float: none !important;
    height: 1.75rem !important;
    line-height: 1.5;
    width: auto !important;
  }
  a.toolbar-button span.inner {
    display: inline !important;
    font-weight: normal;
    font-size: 90%;
  }
}
/*** Menu button icons ***/
.menu a.mail:before {
  content: "\f0e0";
}
.menu a.contacts:before {
  content: "\f0c0";
}
.menu a.options:before {
  content: "\f1de";
}
.menu a.settings:before {
  content: "\f013";
}
.menu a.theme.light:before {
  content: "\f185";
}
.menu a.theme.dark:before {
  content: "\f186";
}
.menu a.help:before {
  content: "\f1cd";
}
.menu a.logout:before {
  content: "\f011";
}
.menu a.about:before {
  content: "\f128";
}
.menu a.refresh:before {
  content: "\f021";
}
.menu a.compose:before {
  content: "\f044";
}
.menu a.calendar:before {
  content: "\f073";
}
.menu a.tasklist:before {
  content: "\f0ae";
}
.menu a.files:before {
  content: "\f07b";
}
.menu a.notes:before {
  content: "\f249";
}
.menu a.chat:before {
  content: "\f086";
}
.menu a.actions:before {
  content: "\f013";
}
.menu a.addressbook:before {
  content: "\f007";
}
.menu a.archive:before {
  content: "\f187";
}
.menu a.assigngroup:before {
  content: "\f234";
}
.menu a.attach:before,
.menu a.vcard:before {
  content: "\f0c6";
}
.menu a.next:before {
  content: "\f061";
}
.menu a.prev:before,
.menu a.back:before {
  content: "\f060";
}
.menu a.check:before {
  content: "\00a0";
}
.menu a.check.selected:before {
  content: "\f00c";
}
.menu a.closewin:before {
  content: "\f410";
}
.menu a.collapse:before {
  content: "\f107";
}
.menu a.copy:before {
  content: "\f0c5";
}
.menu a.create:before {
  content: "\f0fe";
}
.menu a.delete:before {
  content: "\f2ed";
}
.menu a.download:before,
.menu a.download.eml:before,
.menu a.download.maildir:before,
.menu a.download.mbox:before {
  content: "\f019";
}
.menu a.dropdown:before {
  content: "\f0d7";
}
.menu a.edit:before {
  content: "\f303";
}
.menu a.encrypt:before,
.menu a.enigma:before {
  content: "\f023";
}
.menu a.encrypt.sign:before {
  content: "\f023";
}
.menu a.expand:before {
  content: "\f105";
}
.menu a.expand.all:before {
  content: "\f103";
}
.menu a.expand.none:before {
  content: "\f102";
}
.menu a.export:before,
.menu a.export.all:before,
.menu a.export.selection:before {
  content: "\f019";
}
.menu a.expunge:before {
  content: "\f78c";
}
.menu a.extwin:before {
  content: "\f360";
}
.menu a.filterlink:before {
  content: "\f0b0";
}
.menu a.firstpage:before {
  content: "\f100";
}
.menu a.nextpage:before {
  content: "\f105";
}
.menu a.prevpage:before {
  content: "\f104";
}
.menu a.lastpage:before {
  content: "\f101";
}
.menu a.flag:before,
.menu a.select.flagged:before {
  content: "\f024";
  font-weight: 900;
}
.menu a.unflag:before {
  content: "\f024";
  font-weight: 400;
}
.menu a.undo:before {
  content: "\f01e";
}
.menu a.folders:before {
  content: "\f07b";
}
.menu a.forward:before,
.menu a.forward.attachment:before,
.menu a.forward.bounce:before,
.menu a.forward.inline:before {
  content: "\f064";
}
.menu a.import:before,
.menu a.upload:before {
  content: "\f093";
}
.menu a.insertresponse:before {
  content: "\f075";
}
.menu a.junk:before {
  content: "\f7e4";
}
.menu a.notjunk:before {
  content: "\f01c";
}
.menu a.markmessage:before {
  content: "\f02b";
}
.menu a.more:before {
  content: "\f141";
}
.menu a.move:before {
  content: "\f07c";
}
.menu a.print:before {
  content: "\f02f";
}
.menu a.properties:before {
  content: "\f15b";
}
.menu a.purge:before {
  content: "\f12d";
}
.menu a.qrcode:before {
  content: "\f029";
}
.menu a.read:before {
  content: "\f2b6";
  font-weight: 400;
}
.menu a.unread:before,
.menu a.expand.unread:before,
.menu a.select.unread:before {
  content: "\f0e0";
  font-weight: 900;
}
.menu a.recipient:before {
  content: "\f0e0";
  font-weight: 400;
}
.menu a.refresh:before {
  content: "\f021";
}
.menu a.remove:before {
  content: "\f12d";
}
.menu a.removegroup:before {
  content: "\f235";
}
.menu a.rename:before {
  content: "\f303";
}
.menu a.reply:before {
  content: "\f3e5";
}
.menu a.reply-all:before,
.menu a.reply.all:before,
.menu a.reply.list:before {
  content: "\f122";
}
.menu a.responses:before {
  content: "\f075";
}
.menu a.rotate:before {
  content: "\f2f9";
}
.menu a.save:before {
  content: "\f0c7";
  font-weight: 400;
}
.menu a.search:before {
  content: "\f002";
}
.menu a.search.delete:before {
  content: "\f2ed";
}
.menu a.select:before {
  content: "\f245";
}
.menu a.select.all:before {
  content: "\f069";
}
.menu a.select.invert:before {
  content: "\f14a";
}
.menu a.select.none:before {
  content: "\f00d";
  font-weight: 900;
}
.menu a.select.page:before {
  content: "\f0c9";
  font-weight: 900;
}
.menu a.selection:before {
  content: "\f14a" !important;
  font-weight: 400 !important;
}
.menu a.send:before {
  content: "\f1d8";
}
.menu a.showurl:before {
  content: "\f0c1";
}
.menu a.signature:before {
  content: "\f5b7";
}
.menu a.source:before {
  content: "\f1c9";
}
.menu a.spellcheck:before {
  content: "\f891";
}
.menu a.status:before {
  content: "\f0eb";
  font-weight: 400;
}
.menu a.submit:before {
  content: "\f00c";
}
.menu a.info:before {
  content: "\f05a";
}
.menu a.threads:before {
  content: "\f086";
}
.menu a.zoomin:before {
  content: "\f00e";
}
.menu a.zoomout:before {
  content: "\f010";
}
/*** Searchbar and searchoptions widgets ***/
.searchbar {
  height: 36px;
  min-height: 36px;
  line-height: 36px;
  background-color: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
}
.searchbar form {
  flex: 1;
  display: flex;
}
.searchbar form:before {
  content: "\f002";
  height: 36px;
  color: #616161;
  margin: 0 0 0 0.75rem;
}
.searchbar input {
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0.5rem;
  line-height: normal;
  outline: 0;
}
.searchbar input::-ms-clear {
  display: none;
}
.searchbar a {
  color: #242424;
}
.searchbar a:before {
  width: 2rem;
  height: 36px;
  margin: 0;
}
.searchbar a.options:before {
  content: "\f107";
}
.searchbar a.reset:before {
  content: "\f00d";
  font-size: 1rem;
}
.searchbar a.unread:before {
  content: "\f0e0";
  font-weight: 900;
}
.searchbar a.reset,
.searchbar a.search {
  display: none;
}
.searchbar a.selected {
  color: #13a10e;
}
.searchbar span.inner {
  display: none;
}
.searchbar.active a.reset {
  display: inline;
}
.searchbar.open a.options:before {
  content: "\f106";
}
.searchoptions button.search {
  width: 100%;
}
.searchoptions ul.proplist + div {
  margin-top: 1rem;
}
.searchoptions .input-group:not(:last-child) {
  margin-bottom: 0.5rem;
}
.searchoptions .input-group .input-group-prepend {
  width: 30%;
}
.searchoptions .input-group label {
  width: 100%;
}
.searchoptions .formbuttons {
  display: block !important;
}
/*** Taskmenu ***/
#taskmenu a {
  display: block;
  float: none;
}
@media screen and (max-width: 480px) {
  #taskmenu {
    z-index: 30001;
    overflow-x: hidden;
  }
  #taskmenu a {
    max-width: unset;
    padding: 0 0.5em;
    margin-top: 1px;
    text-align: left;
    line-height: 47px;
    height: 47px;
    border-bottom: 1px solid #e0e0e0 !important;
    color: #242424;
    font-size: 1.2rem;
  }
  #taskmenu a:before {
    float: left !important;
    width: 1.2em !important;
    margin-right: 0.5rem !important;
  }
  #taskmenu span.inner {
    font-size: 100%;
  }
}
@media screen and (min-width: 481px) {
  #taskmenu a {
    color: #616161;
    padding: 0.45rem 0;
    min-width: unset;
  }
  #taskmenu a.selected {
    color: #1fa37a;
    background: #e9f6f2;
  }
  #taskmenu a.selected:hover {
    color: #1a8967;
    background: #e0e0e0;
  }
  #taskmenu a:hover {
    color: #242424;
    background: #e0e0e0;
  }
  #taskmenu .special-buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #f5f5f5;
  }
  #taskmenu .action-buttons a {
    color: #fafafa;
    background: #1fa37a;
  }
  #taskmenu .action-buttons a:hover {
    color: #fafafa;
    background: #1a8967;
  }
  #taskmenu a.logout {
    color: #616161 !important;
  }
  #taskmenu a.logout:hover {
    color: #c4314b !important;
  }
}
@media screen and (min-width: 481px) and (max-width: 1024px) {
  #taskmenu a {
    width: 42px;
    height: 42px;
    font-size: 1.2rem;
    padding: 0;
  }
  #taskmenu a:before {
    line-height: 42px;
  }
  #taskmenu span.inner {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  #taskmenu a {
    width: 78px;
    font-size: 1rem;
  }
  #taskmenu a:before {
    float: none;
  }
  #taskmenu a:focus {
    background-color: #e9f6f2;
  }
  #taskmenu span.inner {
    padding: 0 0.1em;
  }
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** UI Messages ***/
.ui.alert {
  margin: 0;
  margin-bottom: 0.2rem;
  opacity: 0.95;
  width: 100%;
  padding: 0.75em;
  color: #242424;
  border: 1px solid #e0e0e0;
  background-color: #ffffff;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .ui.alert {
    border: 0;
  }
}
.ui.alert span {
  margin: auto 0;
}
.ui.alert > i.icon {
  line-height: 1;
  color: #646464;
  margin: auto 0;
}
.ui.alert > i.icon:before {
  content: "\f05a";
  margin-right: 0.6rem;
}
.ui.alert .btn {
  margin-left: 0.5rem;
}
.ui.alert.loading {
  color: #3f3f46;
}
.ui.alert.loading > i.icon:before {
  content: "\f1ce";
  -webkit-animation: spinner-border 1.5s infinite linear;
  animation: spinner-border 1.5s infinite linear;
  width: 1em;
}
.ui.alert.alert-success > i.icon:before {
  content: "\f058";
  color: #13a10e;
}
.ui.alert.alert-warning > i.icon:before {
  content: "\f071";
  color: #eaa300;
}
.ui.alert.alert-danger > i.icon:before {
  content: "\f06a";
  color: #c4314b;
}
.ui.alert.vcardattachment > i.icon:before {
  content: "\f2bb";
}
.ui.alert.enigmaattachment > i.icon:before {
  content: "\f084";
}
.ui.alert.signed > i.icon:before,
.ui.alert.encrypted > i.icon:before {
  content: "\f023";
}
.ui.alert.chat > i.icon:before {
  content: "\f075";
}
.ui.alert .boxbuttons {
  white-space: nowrap;
}
.ui.alert .boxbuttons .btn {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px;
}
@media screen and (max-width: 480px) {
  .ui.alert .boxbuttons {
    display: flex;
    flex-direction: column;
  }
  .ui.alert .boxbuttons .btn {
    max-width: 160px;
  }
  .ui.alert .boxbuttons .btn:not(:first-child) {
    margin-top: 0.25rem;
  }
}
.ui.alert.aligned-buttons {
  display: flex;
}
.ui.alert.aligned-buttons span {
  flex: 1;
}
.ui.alert a:not(.btn) {
  color: #1fa37a;
  font-weight: 500;
}
.ui.alert h3 {
  font-weight: bold;
  font-size: 1.2rem;
}
.ui.alert p {
  margin: 1rem 0;
}
.ui.alert.boxerror,
.ui.alert.boxconfirmation,
.ui.alert.boxinformation,
.ui.alert.boxwarning {
  padding: 0.5em;
  border-radius: 0;
}
.ui.alert.boxerror i.icon,
.ui.alert.boxconfirmation i.icon,
.ui.alert.boxinformation i.icon,
.ui.alert.boxwarning i.icon {
  font-size: 1.5em !important;
}
.ui.alert.boxerror {
  background-color: #faeff1;
}
.ui.alert.boxinformation {
  background-color: #edf8f4;
}
.ui.alert.boxconfirmation {
  background-color: #ecf7ec;
}
.ui.alert.boxwarning {
  background-color: #fdf8eb;
}
.ui.alert + table {
  margin-top: 1em;
}
#messagestack {
  position: absolute;
  bottom: 0.5em;
  right: 0.7em;
  z-index: 105;
  width: 320px;
  height: auto;
  max-height: 85%;
}
@media screen and (max-width: 480px) {
  #messagestack {
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
  }
}
#messagestack div {
  background-color: #242424;
  color: #fafafa;
}
@media screen and (max-width: 480px) {
  #messagestack div {
    margin: 0;
    border-radius: 0;
    min-height: 4.2rem;
  }
}
#messagestack div.voice {
  position: absolute;
  top: -1000px;
}
#messagestack div i.icon {
  font-size: 1.5em !important;
}
#messagestack div > i.icon:before {
  color: #fafafa;
}
#messagestack div:last-child {
  margin-bottom: 0;
}
#messagestack .loading {
  background-color: #3f3f46;
}
#messagestack .alert-info.information {
  background-color: #1fa37a;
}
#messagestack .alert-success {
  background-color: #13a10e;
}
#messagestack .alert-warning {
  background-color: #eaa300;
  color: #242424;
}
#messagestack .alert-warning > i.icon:before {
  color: #242424;
}
#messagestack .alert-danger {
  background-color: #c4314b;
}
#messagestack a {
  color: inherit !important;
  text-decoration: underline;
  cursor: pointer;
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** List and treelist widgets ***/
.listing tbody td,
.listing li {
  border-bottom: 1px solid #e0e0e0;
  cursor: default;
  font-weight: normal;
  line-height: 35px;
}
.listing tbody td,
.listing li a {
  padding: 0 0.5rem;
  white-space: nowrap;
  vertical-align: middle;
  color: #242424;
}
.listing tbody td {
  overflow: hidden;
  text-overflow: ellipsis;
  outline: none;
}
.listing tbody td a {
  color: #242424;
}
.listing li a {
  display: block;
  text-decoration: none;
  cursor: default;
  width: 100%;
}
.listing li.selected,
.listing tr.selected td {
  color: #242424;
  background-color: #e9f6f2;
}
.listing td.selection {
  padding: 0 0 0 0.5em;
  width: 2em;
  text-align: center;
}
.listing td.selection > input {
  vertical-align: middle;
}
.listing:not(.withselection) td.selection {
  display: none;
}
.listing td.name {
  overflow: hidden;
  text-overflow: ellipsis;
}
.listing td.action {
  padding: 0 0.5em;
  width: 2em;
  text-align: center;
}
.listing td.action:empty {
  width: 0;
}
.listing td.action a {
  display: block;
  overflow: hidden;
  text-decoration: none;
}
.listing td.action a:before {
  margin: 0;
  font-size: 1rem;
}
.listing td.action a.pushgroup:before {
  content: "\f054";
}
.listing li.droptarget > a,
.listing tr.droptarget > td {
  background-color: #f5f5f5;
}
.listing li.disabled,
.listing tr.disabled td {
  color: #616161;
}
.listing li > a.virtual,
.listing li.virtual > a {
  opacity: 0.4;
}
.listing span.secondary {
  color: #616161;
}
html:not(.touch) .listing li > a,
html:not(.touch) .listing tbody tr > td:first-child,
html:not(.touch) .listing:not(.withselection) tbody tr > td.selection + td {
  border-left: 2px solid transparent;
}
html:not(.touch) .listing li > a:focus,
html:not(.touch) .listing.focus tbody tr.focused > td:first-child,
html:not(.touch) .listing.focus:not(.withselection) tbody tr.focused > td.selection + td {
  border-left: 2px solid #1fa37a;
  outline: 0;
}
table.listing {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: unset;
}
ul.listing {
  margin: 0;
  padding: 0;
}
ul.listing > ul {
  padding: 0;
}
ul.listing li {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
  list-style: none;
}
ul.listing li ul {
  border-top: 1px solid #e0e0e0;
  padding-left: 1.5em;
}
ul.listing li ul li:last-child {
  border-bottom: none;
}
ul.listing li .custom-switch {
  position: absolute;
  padding: 0;
  top: 0;
  right: 0;
  height: 35px;
  vertical-align: middle;
}
ul.listing li .custom-switch .custom-control-label:before,
ul.listing li .custom-switch .custom-control-label:after {
  margin-top: 0.4rem;
}
html.touch ul.listing li .custom-switch .custom-control-label:before,
html.touch ul.listing li .custom-switch .custom-control-label:after {
  margin-top: 0.75rem;
}
html.touch ul.listing li .custom-switch {
  height: 47px;
}
ul.listing.simplelist li {
  padding: 0 0.5rem;
}
.listing-info {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  text-align: center;
  font-weight: bold;
  color: #616161;
}
html.touch .listing:not(.toolbar) li,
html.touch .listing tbody td {
  line-height: 47px;
  font-size: 1.2rem;
}
html.touch li input[type=checkbox] {
  height: 47px;
}
html.touch td.selection {
  padding: 0;
  width: 3em;
}
@media screen and (max-width: 1200px) {
  .listing.selection-large-only li.selected {
    color: #242424;
    background-color: transparent;
  }
}
/* icons */
.listing.iconized li a:before {
  height: 2em;
  margin-right: 0.5rem;
}
.listing.iconized li.preferences > a:before {
  content: "\f1de";
}
.listing.iconized li.folders > a:before {
  content: "\f07b";
}
.listing.iconized li.responses > a:before {
  content: "\f075";
}
.listing.iconized li.identities > a:before {
  content: "\f2c2";
}
.listing.iconized li.password > a:before {
  content: "\f023";
}
.listing.iconized li.addressbook a:before {
  content: "\f2b9";
  font-weight: 400;
}
.listing.iconized li.contactgroup a:before {
  content: "\f0c0";
  font-weight: 900;
}
.listing.iconized li.contactsearch a:before {
  content: "\f002";
}
.listing.iconized li.filter > a:before {
  content: "\f0b0";
}
.listing.iconized li.vacation > a:before {
  content: "\f017";
  font-weight: 400;
}
.listing.iconized li.forward > a:before {
  content: "\f14d";
}
.listing.iconized li.enigma.keys > a:before {
  content: "\f084";
}
.listing.iconized li.info > a:before,
.listing.iconized li.userinfo > a:before {
  content: "\f05a";
}
.listing.iconized li.twofactorauth > a:before {
  content: "\f2f6";
}
.listing.iconized li a.help:before {
  content: "\f1cd";
}
.listing.iconized li a.about:before {
  content: "\f059";
  font-weight: 400;
}
.listing.iconized li a.license:before {
  content: "\f3ed";
}
.listing.iconized li > i:before {
  content: "\f007";
  margin-left: 0.5rem;
}
.listing.iconized li.group > i:before {
  content: "\f0c0";
}
html.ie11 .listing.iconized li a:before {
  font-size: 1.25rem;
}
.listing.iconized tr td:before {
  margin-right: 0.5rem;
}
.listing.iconized tr.contact.person td.name:before {
  content: "\f007";
}
.listing.iconized tr.contact.group td.name:before {
  content: "\f0c0";
}
.listing.iconized tr.general > td.section:before {
  content: "\f108";
}
.listing.iconized tr.mailbox > td.section:before {
  content: "\f0e0";
  font-weight: 400;
}
.listing.iconized tr.mailview > td.section:before {
  content: "\f01c";
}
.listing.iconized tr.compose > td.section:before {
  content: "\f1d8";
}
.listing.iconized tr.addressbook > td.section:before {
  content: "\f0c0";
}
.listing.iconized tr.folders > td.section:before {
  content: "\f07b";
  font-weight: 400;
}
.listing.iconized tr.server > td.section:before {
  content: "\f233";
}
.listing.iconized tr.encryption > td.section:before {
  content: "\f023";
}
.listing.iconized tr.calendar > td.section:before {
  content: "\f133";
}
.listing.iconized tr.chat > td.section:before {
  content: "\f086";
}
/* selectable list: e.g. spellcheck language selection */
.listing.iconized.selectable li a:before {
  content: "";
}
.listing.iconized.selectable li a.selected:before {
  content: "\f00c";
}
.popupmenu .listing li > a {
  border-left: 0;
}
.popupmenu .listing li > a:not(.disabled):hover {
  color: #242424;
  background-color: #f5f5f5;
}
.popupmenu .listing li.selected {
  color: #242424;
  background-color: #f5f5f5;
}
.popupmenu .listing td {
  overflow: hidden;
  text-overflow: ellipsis;
}
ul.treelist li div.treetoggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  cursor: pointer;
  background-color: transparent;
}
ul.treelist li div.treetoggle:before {
  content: "\f105";
  margin-left: 0.25em;
  font-size: 1em;
}
ul.treelist li div.treetoggle.expanded:before {
  content: "\f107";
}
ul.treelist li > a {
  overflow: hidden;
  text-overflow: ellipsis;
  padding-left: 1.5em;
}
ul.treelist li.selected {
  color: inherit;
  background-color: transparent;
}
ul.treelist li.selected > div > a,
ul.treelist li.selected > a {
  color: #242424;
  background-color: #e9f6f2;
}
ul.treelist li ul {
  padding: 0;
}
ul.treelist li ul li {
  padding-left: 0;
}
ul.treelist li ul li a {
  padding-left: 3em;
}
ul.treelist li ul li div.treetoggle {
  left: 1.5em;
}
ul.treelist li ul li li a {
  padding-left: 4.5em;
}
ul.treelist li ul li li div.treetoggle {
  left: 3em;
}
ul.treelist li ul li li li a {
  padding-left: 6em;
}
ul.treelist li ul li li li div.treetoggle {
  left: 4.5em;
}
ul.treelist li ul li li li li a {
  padding-left: 7.5em;
}
ul.treelist li ul li li li li div.treetoggle {
  left: 6em;
}
ul.treelist li ul li li li li li a {
  padding-left: 9em;
}
ul.treelist li ul li li li li li div.treetoggle {
  left: 7.5em;
}
ul.treelist.notree div.treetoggle {
  display: none;
}
ul.treelist.notree li > a {
  padding-left: 0.5em;
}
/*** Folders list widget ***/
.folderlist li.mailbox.unread > a {
  padding-right: 2.8em;
  font-weight: bold;
}
.folderlist li.mailbox .unreadcount {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 2em;
  line-height: 1.4rem;
  margin: 7.7px;
  padding: 0 0.3em;
  border-radius: 0.4em;
  background: #1fa37a;
  color: #fafafa;
  text-align: center;
  font-weight: bold;
}
html.touch .folderlist li.mailbox .unreadcount {
  line-height: 2rem;
  margin: 9.5px;
}
.folderlist li.mailbox.recent > a {
  color: #1fa37a;
}
.folderlist li.mailbox.recent > a > .unreadcount {
  background: #1fa37a;
  color: #fafafa;
}
.folderlist li.mailbox.root {
  display: none !important;
}
.folderlist li a:before {
  content: "\f07b";
  font-weight: 400;
  margin-right: 0.5rem;
}
.folderlist li.inbox > a:before {
  content: "\f01c";
  font-weight: 900;
}
.folderlist li.trash a:before {
  content: "\f2ed";
  font-weight: 900;
}
.folderlist li.trash.empty > a:before {
  content: "\f2ed";
  font-weight: 400;
}
.folderlist li.drafts a:before {
  content: "\f303";
  font-weight: 900;
}
.folderlist li.sent a:before {
  content: "\f1d8";
  font-weight: 900;
}
.folderlist li.junk a:before {
  content: "\f7e4";
  font-weight: 900;
}
.folderlist li.archive > a:before {
  content: "\f187";
  font-weight: 900;
}
.folderlist li.ns-shared > a:before {
  content: "\f1e0";
  font-weight: 900;
}
.folderlist li.ns-other > a:before {
  content: "\f500";
  font-weight: 900;
}
.folderlist.menu a:before {
  margin-left: 0.5em;
}
/*** Messages list widget ***/
.messagelist > thead,
.messagelist .branch,
table.fixedcopy {
  display: none;
}
.messagelist td {
  border-left: 0;
  width: 2em;
  vertical-align: top;
  font-size: 1rem !important;
}
.messagelist td.subject {
  width: 100%;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
}
.messagelist td.subject a {
  text-decoration: none;
  cursor: default;
}
.messagelist td.subject span {
  line-height: 2em;
}
.messagelist td.subject span.size,
.messagelist td.subject span.date {
  font-size: 90%;
  color: #616161;
}
.messagelist td.subject span.fromto {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  font-size: 90%;
  color: #616161;
  padding-left: 1.5em;
  padding-right: 0.5rem;
}
.messagelist td.subject span.subject {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  user-select: none;
}
.messagelist td.threads {
  padding: 0 0 0 0.25rem;
  width: 1.5em;
}
.messagelist td.flags {
  width: 2.5em;
}
.messagelist td.flags > span {
  height: 1.7em;
  line-height: 1.7em;
  display: block;
}
.messagelist td.flags > span.flag {
  cursor: pointer;
}
.messagelist tr.flagged td,
.messagelist tr.flagged td.subject span.subject a,
.messagelist tr.flagged td.subject span.date,
.messagelist tr.flagged td.subject span.fromto {
  color: #c4314b;
}
.messagelist tr.deleted td,
.messagelist tr.deleted td.subject span.subject a,
.messagelist tr.deleted td.subject span.date,
.messagelist tr.deleted td.subject span.fromto {
  color: #616161;
}
.messagelist tr.unread td.subject span.subject {
  font-weight: bold;
}
.messagelist tr.unroot td.subject a {
  text-decoration: underline;
}
.messagelist tr.thread td.threads div:before {
  content: "\f105";
  cursor: pointer;
  width: 1em;
}
.messagelist tr.thread.expanded td.threads div:before {
  content: "\f107";
}
.messagelist td.subject span.msgicon.status:before {
  content: "\f111";
  cursor: pointer;
  font-size: 0.4rem;
  width: 1.1rem;
  height: 2rem;
}
.messagelist td.subject span.msgicon.status.unread:before {
  content: "\f111";
  color: #1fa37a;
  font-size: 0.5rem;
}
.messagelist td.subject span.msgicon.status.unreadchildren:before {
  content: "\f111";
  font-weight: 400;
  font-size: 0.5rem;
}
.messagelist td.subject span.msgicon.status.replied:before {
  content: "\f3e5";
  font-weight: 900;
  font-size: 1rem;
}
.messagelist td.subject span.msgicon.status.forwarded:before {
  content: "\f064";
  font-weight: 900;
  font-size: 1rem;
}
.messagelist td.subject span.msgicon.status.replied.forwarded:before {
  content: "\f3e5";
  font-weight: 900;
  font-size: 1rem;
}
.messagelist td.subject span.msgicon.status.replied.forwarded:after {
  content: "\f064";
  font-weight: 900;
  font-size: 1rem;
  opacity: 0.5;
  margin: 0 -0.1em 0 -1.25em;
}
.messagelist tr.deleted td.subject span.msgicon.status:before {
  content: "\f05e" !important;
  font-weight: 900 !important;
  font-size: 1rem;
}
.messagelist tr.deleted td.subject span.msgicon.status:after {
  display: none !important;
}
.messagelist span.attachment span {
  color: #616161;
}
.messagelist span.attachment span:before {
  margin: 0;
  content: "\f0c6";
}
.messagelist span.attachment span.report:before {
  content: "\f15c";
  font-weight: 400;
}
.messagelist span.attachment span.encrypted:before {
  content: "\f023";
}
.messagelist span.attachment span.vcard:before {
  content: "\f007";
  font-weight: 400;
}
.messagelist span.flagged:before {
  content: "\f024";
}
.messagelist tr.flaggedroot:not(:hover) span.unflagged:before {
  content: "\f024";
  color: #616161;
}
.messagelist tr:hover span.unflagged:before {
  content: "\f024";
  font-weight: 400;
}
.messagelist span.size {
  display: none;
}
.messagelist tr:hover span.date {
  display: none;
}
.messagelist tr:hover span.size {
  display: inline;
}
.messagelist.sort-size span.date {
  display: none;
}
.messagelist.sort-size span.size {
  display: inline;
}
.messagelist.sort-size tr:hover span.date {
  display: inline;
}
.messagelist.sort-size tr:hover span.size {
  display: none;
}
html.layout-phone .messagelist tr,
html.touch .messagelist tr {
  position: relative;
  display: flex;
}
html.layout-phone .messagelist td.selection,
html.touch .messagelist td.selection,
html.layout-phone .messagelist td.threads,
html.touch .messagelist td.threads {
  line-height: 3.8em;
}
html.layout-phone .messagelist td.flags,
html.touch .messagelist td.flags {
  position: absolute;
  top: 0.25rem;
  right: 0;
  bottom: 0;
  background-color: transparent;
}
html.layout-phone .messagelist td.flags .flag,
html.touch .messagelist td.flags .flag {
  visibility: hidden;
}
html.layout-phone .messagelist td.subject,
html.touch .messagelist td.subject {
  padding-right: 0.5em;
}
html.layout-phone .messagelist td.subject .subject,
html.touch .messagelist td.subject .subject {
  padding-right: 1.5rem;
}
/* Contacts list */
.contactlist .contact.readonly td {
  font-style: italic;
}
.contactlist td.contact:before {
  content: "\f007";
}
.contactlist td.contactgroup:before {
  content: "\f0c0";
}
.contactlist span.email {
  display: inline;
  color: #616161;
  font-style: italic;
  margin-left: 0.5em;
}
.contactlist li a:before {
  margin-right: 0.5rem;
}
.contactlist li a.addressbook::before {
  content: "\f2b9";
  font-weight: 400;
}
.contactlist li a.contactgroup::before {
  content: "\f0c0";
  font-weight: 900;
}
/* Attachments list */
.attachmentslist {
  padding: 0;
  margin: 0;
  background-color: #ffffff;
  border: 1px solid #e0e0e0;
}
.attachmentslist:empty {
  padding: 0;
  border: 0;
}
.attachmentslist li {
  list-style: none;
  display: inline-flex;
  white-space: nowrap;
  line-height: 2rem;
  padding: 0 0.25em;
  max-width: 100%;
}
.attachmentslist li:before {
  content: "\f15b";
  font-weight: 400;
  height: 2rem;
  margin: 0;
}
.attachmentslist li.txt:before,
.attachmentslist li.text:before {
  content: "\f15c";
  font-weight: 400;
}
.attachmentslist li.pdf:before {
  content: "\f1c1";
  font-weight: 400;
}
.attachmentslist li.odt:before,
.attachmentslist li.doc:before,
.attachmentslist li.docx:before,
.attachmentslist li.msword:before {
  content: "\f1c2";
  font-weight: 400;
}
.attachmentslist li.ods:before,
.attachmentslist li.xls:before,
.attachmentslist li.xlsx:before,
.attachmentslist li.msexcel:before {
  content: "\f1c3";
  font-weight: 400;
}
.attachmentslist li.rar:before,
.attachmentslist li.zip:before,
.attachmentslist li.gz:before {
  content: "\f1c6";
  font-weight: 400;
}
.attachmentslist li.image:before,
.attachmentslist li.jpg:before,
.attachmentslist li.jpeg:before,
.attachmentslist li.png:before {
  content: "\f1c5";
  font-weight: 400;
}
.attachmentslist li.mp3:before,
.attachmentslist li.audio:before {
  content: "\f1c7";
  font-weight: 400;
}
.attachmentslist li.m4p:before,
.attachmentslist li.video:before {
  content: "\f1c8";
  font-weight: 400;
}
.attachmentslist li.vcard:before {
  content: "\f2bb";
  font-weight: 400;
}
.attachmentslist li.html:before {
  content: "\f1c9";
  font-weight: 400;
}
.attachmentslist li.odp:before,
.attachmentslist li.otp:before,
.attachmentslist li.ppt:before,
.attachmentslist li.pptx:before,
.attachmentslist li.ppsx:before,
.attachmentslist li.vnd.mspowerpoint:before {
  content: "\f1c4";
  font-weight: 400;
}
.attachmentslist li a {
  text-decoration: none;
  line-height: 2rem;
  height: 2rem;
}
.attachmentslist li a.cancelupload:before,
.attachmentslist li a.delete:before {
  content: "\f2ed";
  line-height: 2rem;
  height: 2rem;
  margin: 0;
}
.attachmentslist li a.dropdown:before {
  margin: 0;
}
.attachmentslist li.uploading:before {
  -webkit-animation: spinner-border 1.5s infinite linear;
  animation: spinner-border 1.5s infinite linear;
  content: "\f1ce";
  font-weight: 900;
}
.attachmentslist li a.filename {
  display: flex;
  overflow: hidden;
  padding: 0 0.2em;
}
.attachmentslist li .attachment-name {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #242424;
}
.attachmentslist li .attachment-size {
  color: #616161;
  padding-left: 0.25em;
}
.keylist {
  padding: 0;
  list-style: none;
}
.keylist li {
  line-height: 2;
}
.keylist li:before {
  content: "\f084";
  line-height: 1.5;
}
#identities-table td.mail:before {
  content: "\f2c2";
}
#responses-table td.name:before {
  content: "\f075";
}
#filterslist td.name:before {
  content: "\f0b0";
}
#filtersetslist td.name:before {
  content: "\f15c";
}
#subscription-table li.mailbox a {
  padding-right: 2.5rem;
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Common form elements ***/
#uploadform {
  display: none;
}
form.smart-upload,
input.smart-upload {
  visibility: hidden;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.propform:not(.popupmenu) {
  width: 100%;
}
.propform .form-check td:not(.title) > label {
  display: block;
  margin: 0;
  line-height: 2rem;
}
.propform .form-check td:not(.title) > label label {
  margin-right: 0.5rem;
}
.propform td.datetime {
  display: flex;
}
.propform td.datetime input:first-child {
  margin-right: 0.5rem;
}
.propform td.datetime input:last-child {
  width: 75%;
}
.propform td.rowbuttons {
  width: 1%;
  white-space: nowrap;
  vertical-align: top;
}
.propform td.rowbuttons span {
  display: none;
}
.propform td.rowbuttons a {
  padding: 0;
  line-height: 2.3rem;
  height: 2.3rem;
  font-size: 1rem;
}
.propform td.rowbuttons a:before {
  content: "\f067";
  vertical-align: unset;
}
@media screen and (min-width: 577px) {
  .propform td.rowbuttons a:before {
    margin: 0 !important;
  }
}
.propform td.rowbuttons a.delete:before {
  content: "\f2ed";
}
.propform td.rowbuttons a.advanced:before {
  content: "\f013";
}
.propform td.rowbuttons a:not(:last-child) {
  margin-right: 0.25rem;
}
.propform td.rowactions {
  width: 1%;
  vertical-align: top;
}
.propform td.rowactions .form-control {
  width: auto;
}
.propform td.rowtargets {
  vertical-align: top;
}
.propform td.rowtargets .composite input,
.propform td.rowtargets .composite textarea,
.propform td.rowtargets .composite select,
.propform td.rowtargets .composite .multi-input,
.propform td.rowtargets .composite .input-group {
  margin-bottom: 0.5rem;
}
.propform td.rowtargets .composite .input-group input,
.propform td.rowtargets .composite .input-group textarea,
.propform td.rowtargets .composite .input-group select,
.propform td.rowtargets .composite .input-group .multi-input {
  margin-bottom: 0;
}
.propform td.rowtargets .composite br {
  display: block;
}
.propform td.rowtargets .input-group {
  margin-bottom: 0.25rem;
}
.propform td.rowtargets .input-group *:first-child.input-group-prepend {
  text-align: left;
  min-width: 7.5em;
}
.propform td.rowtargets .input-group *:first-child.input-group-prepend > * {
  width: 100%;
}
.propform td.rowtargets > .advanced {
  margin-top: 0.25rem;
}
.propform td.title {
  padding-top: 0;
  padding-bottom: 0;
}
.propform td > .flexbox {
  display: flex;
}
.propform td > .flexbox > .multi-input {
  width: 100%;
  margin-left: 0.25rem;
}
.propform.grouped.readonly legend {
  margin: 0;
}
.propform.grouped.readonly .row.input-group {
  margin-bottom: 0 !important;
}
.propform.grouped.readonly label {
  min-width: 7rem;
  background-color: transparent;
  border: 0;
  border-radius: 0;
}
.propform.grouped .row.input-group {
  margin-bottom: 0.5rem;
  flex-wrap: nowrap;
}
.propform.grouped .row.input-group > *:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 8rem;
}
.propform.grouped .row.input-group > *:first-child:not(select) {
  padding: 0;
}
@media screen and (max-width: 480px) {
  .propform.grouped .row.input-group > *:first-child {
    min-width: 6rem;
    width: 6rem;
    flex-grow: unset;
  }
}
.propform.grouped .row.input-group > *:first-child label {
  width: 100%;
}
.propform.grouped .row.input-group > *:nth-child(2) {
  flex-grow: 30;
}
.propform.grouped .row.input-group:last-child {
  margin-bottom: 1rem;
}
.propform.grouped .row.input-group select {
  text-align: left;
}
.propform.grouped .row.input-group.composite select {
  height: auto;
}
.propform.grouped .row.input-group .content {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-radius: 0;
  border-left-color: transparent;
}
.propform.grouped .row.input-group .content input {
  border-radius: 0;
  border-color: transparent;
}
.propform.grouped .row.input-group .content .ff_street {
  width: 100%;
}
.propform.grouped .row.input-group .content .ff_locality {
  width: 75%;
}
.propform.grouped .row.input-group .content .ff_zipcode {
  width: 25%;
}
.propform.grouped .row.input-group .content .ff_country,
.propform.grouped .row.input-group .content .ff_region {
  width: 50%;
}
.propform.grouped .form-control-plaintext {
  flex-grow: 1;
  border: 0;
}
.propform .addfield {
  margin: 0;
}
.propform .addfield select {
  width: 8rem;
  margin-top: 0.5rem;
}
.propform .form-text {
  font-size: 90%;
  color: #616161;
}
.propform.row.form-group {
  margin-left: 0;
  margin-right: 0;
}
.propform.row.form-group label,
.propform.row.form-group div {
  padding-left: 0;
  padding-right: 0;
}
.propform select + select,
.propform select + .input-group {
  padding-top: 0.5rem;
}
.propform.text-only {
  margin-bottom: 0.25rem;
}
.propform.text-only tr {
  margin: 0;
}
.propform.text-only label {
  padding-bottom: 0 !important;
}
@media screen and (max-width: 576px) {
  .propform.text-only tr {
    display: table-row;
  }
  .propform.text-only td {
    width: auto;
  }
  .propform.text-only td:first-child {
    width: 33%;
  }
  .propform.text-only :not(tr).form-group.row .col-form-label {
    width: 33%;
  }
  .propform.text-only :not(tr).form-group.row > :last-child {
    width: 67%;
  }
}
@media screen and (max-width: 576px) {
  .propform table.compact-table .rowactions > select,
  .propform table.compact-table .flexbox > select {
    width: 100%;
  }
  .propform table.compact-table tr {
    display: flex;
    flex-direction: column;
  }
  .propform table.compact-table tr td {
    width: 100%;
    padding: 0.25rem 0 0 0;
  }
  .propform table.compact-table tr td.rowbuttons {
    text-align: right;
    padding-top: 0;
  }
  .propform table.compact-table tr td.rowbuttons a {
    margin-left: 0.5rem;
  }
  .propform table.compact-table tr td.rowbuttons a > span {
    display: inline;
  }
}
.propform fieldset:not(.tab-pane):nth-of-type(n+2),
.formcontent fieldset:not(.tab-pane):nth-of-type(n+2) {
  margin-top: 1em;
}
.propform legend,
.formcontent legend {
  font-weight: bold;
  font-size: 1.2em;
}
.propform label,
.formcontent label {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  overflow: hidden;
  margin-bottom: 0;
}
fieldset.advanced > legend {
  width: auto;
  cursor: pointer;
}
fieldset.advanced > legend:after {
  float: right;
  margin: 0 0 0 0.25rem;
  line-height: inherit;
  font-size: inherit;
  content: "\f106";
}
fieldset.advanced > legend.closed:after {
  content: "\f107";
}
@media screen and (max-width: 576px) {
  .formcontent .text-only .form-group:not(tr) {
    margin-bottom: 0.25rem;
  }
  .formcontent .text-only .form-group:not(tr) .col-form-label {
    width: 33%;
  }
  .formcontent .text-only .form-group:not(tr) .col-form-label + span {
    width: 67%;
  }
  html.iframe .formcontent > .propform {
    padding: 0.25rem;
  }
}
html.ms .propform .row:not(.form-check) > td {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 576px) {
  html.ms .propform .row.form-check > td {
    display: flex;
  }
}
.formcontainer {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow-y: hidden !important;
}
.formcontainer .formcontent {
  overflow-x: hidden;
  overflow-y: auto;
}
.formcontainer .formbuttons {
  padding: 0.5rem 1rem;
}
.formcontainer .formbuttons button {
  margin-right: 0.5rem;
}
html.iframe.ipad .formcontainer .formbuttons,
html.iframe.webkit.tablet .formcontainer .formbuttons {
  min-height: 4rem;
}
html.layout-small .formcontainer,
html.layout-phone .formcontainer {
  display: initial;
  overflow-y: auto !important;
}
html.layout-small .formcontainer .formcontent,
html.layout-phone .formcontainer .formcontent {
  overflow: initial !important;
}
html.layout-small .formcontainer .formbuttons,
html.layout-phone .formcontainer .formbuttons {
  display: none;
}
.formcontent:not(.popupmenu) {
  padding: 1rem;
}
.formcontent .row {
  margin-right: 0;
  margin-left: 0;
}
.formcontent .row .col,
.formcontent .row .col-2,
.formcontent .row .col-4,
.formcontent .row .col-6,
.formcontent .row .col-8,
.formcontent .row .col-10,
.formcontent .row .col-12,
.formcontent .row .col-sm,
.formcontent .row .col-sm-2,
.formcontent .row .col-sm-4,
.formcontent .row .col-sm-6,
.formcontent .row .col-sm-8,
.formcontent .row .col-sm-10,
.formcontent .row .col-sm-12 {
  padding: 0;
}
.formcontent .row .form-control-plaintext,
.formcontent .row label.col-form-label {
  padding: 5px 5px 5px 0;
}
.formcontent .row .form-control-plaintext {
  padding-bottom: 0;
  border: 0;
}
@media screen and (max-width: 576px) {
  .formcontent .row.form-group > td label {
    padding-bottom: 0;
  }
}
.formcontent .row.form-check {
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 576px) {
  .formcontent .row.form-check .col-6 {
    max-width: 100%;
    flex: auto;
  }
  .formcontent .row.form-check > *:last-child {
    width: 1%;
    min-width: 2.6rem;
  }
  .formcontent .row.form-check.with-link > *:last-child {
    min-width: 8rem;
  }
}
.formcontent .row.form-check .form-check-input {
  margin: 0.5rem 0;
}
.formcontent .row.form-check .custom-switch + a {
  line-height: 2;
  vertical-align: bottom;
}
.formcontent .row.form-check td > label {
  padding-bottom: 0;
}
.formcontent .nav-tabs {
  margin-bottom: 1rem;
}
.formcontent .nav-tabs:empty {
  display: none;
}
.formcontent .hint {
  font-style: italic;
  color: #616161;
}
.formcontent.raweditor {
  height: 100%;
}
.formcontent.raweditor form {
  height: 100%;
}
.formcontent.raweditor textarea {
  font-family: monospace;
  height: 100%;
}
.formcontent.raweditor .CodeMirror {
  border: 1px solid #d1d1d1;
  border-radius: 0.3rem;
  height: 100%;
  color: #242424;
}
.formcontent.raweditor .CodeMirror-focused {
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
.formcontent.raweditor .CodeMirror-linebackground.line-error {
  background-color: #c4314b;
  opacity: 0.4;
}
.formcontent.raweditor .errorGutter {
  width: 0.8em;
}
@media screen and (max-width: 320px) {
  .formcontent .col-form-label {
    flex: auto;
    max-width: 100%;
  }
  .formcontent .col-6,
  .formcontent .col-8,
  .formcontent .col-10 {
    flex: auto;
    max-width: 100%;
  }
}
/* Some common icons for "iconized inputs" */
.input-group .icon {
  text-decoration: none;
  padding: 5px 0.5rem;
}
.input-group .icon.input-group-text {
  min-width: 2.4rem;
}
.input-group .icon:before {
  margin: 0 !important;
  line-height: 1;
  font-size: 1.1rem;
}
.input-group .icon.user:before {
  content: "\f007";
}
.input-group .icon.pass:before {
  content: "\f023";
}
.input-group .icon.host:before {
  content: "\f015";
}
.input-group .icon.language:before {
  content: "\f0ac";
}
.input-group .icon.cancel:before {
  content: "\f00d";
}
.input-group .icon.delete:before {
  content: "\f2ed";
}
.input-group .icon.edit:before {
  content: "\f303";
}
.input-group .icon.add:before {
  content: "\f067";
}
.input-group .icon.add.recipient:before {
  content: "\f0c0";
}
.input-group .icon.search:before {
  content: "\f002";
}
.input-group .icon.filter:before {
  content: "\f0b0";
}
.input-group .icon.key:before {
  content: "\f084";
}
.input-group .icon .inner {
  display: none;
}
.input-group a:focus {
  background-color: rgba(24, 24, 27, 0.12);
  outline: 0;
}
.proplist {
  margin-bottom: 0;
  padding: 0;
}
.proplist li {
  list-style-type: none;
  line-height: 2rem;
  margin-bottom: 0.25rem;
  display: flex;
  align-items: center;
}
.proplist li:last-child {
  margin-bottom: 0;
}
.proplist li input[type=radio] {
  margin-right: 0.5em;
}
.proplist li input[type=radio]:disabled + label {
  opacity: 0.5;
}
.proplist li label:not(.input-group-text) {
  margin: 0;
  line-height: 2rem;
}
.proplist li select {
  width: auto;
  display: inline;
}
.proplist li.with-sublist {
  flex-wrap: wrap;
  position: relative;
}
.proplist li.with-sublist > :first-child {
  width: 100%;
  margin-right: 2em;
}
.proplist li.with-sublist > .proplist {
  margin-left: 2.5rem;
}
.proplist li.with-sublist > a.dropdown {
  position: absolute;
  right: 0;
  top: 0;
  height: 2em;
  color: #242424;
}
.checklist > div {
  line-height: 2rem;
  display: block;
}
.checklist .custom-control-label:before,
.checklist .custom-control-label:after {
  margin: calc(2px * -1) 0 0 0;
}
.checklist > div + br {
  display: none;
}
/*** Forms in popups ***/
.popup form.propform {
  padding: 0.25rem;
  overflow-x: hidden;
}
.popupmenu.form.nolist {
  padding: 0 0.5rem;
}
.popupmenu.form ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.popupmenu.form li:not(.separator) {
  padding: 0 1rem;
}
.popupmenu.form li:not(.separator) label {
  margin: 0;
  line-height: 35px;
}
.popupmenu.form li:not(.separator) label input {
  margin-right: 0.5rem;
}
.popupmenu.form input {
  vertical-align: middle;
}
.popupmenu.form select {
  margin: 0.5rem 0;
}
.popupmenu.form .buttons {
  text-align: center;
  padding: 0.5rem;
}
/*** Smart list (multiple input) field ***/
.multi-input > .content {
  max-height: 11.65em;
  overflow: hidden;
  overflow-y: auto;
  border-radius: 0.25rem;
  border: 1px solid #d1d1d1;
}
.multi-input > .content.focused {
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
.multi-input a.icon.reset:before {
  content: "\f2ed";
}
.multi-input input.form-control {
  padding-left: 0.75rem;
  height: auto;
}
.multi-input input,
.multi-input input:focus,
.multi-input .input-group-text {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #d1d1d1;
  box-shadow: none;
}
.multi-input .input-group-text {
  border-left: 1px solid #d1d1d1;
}
.multi-input .input-group-append {
  margin-left: 0;
}
.multi-input .input-group {
  margin: 0 !important;
  flex-wrap: nowrap;
}
.multi-input .input-group:last-child * {
  border-bottom: 0;
}
.multi-input + .btn {
  margin-top: 0.5rem;
}
.multi-input.is-invalid > .content {
  border: 1px solid #c4314b;
}
.multi-input.is-invalid > .content.focused {
  border-color: #c4314b;
  box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.18);
}
.multi-input.is-invalid > .invalid-feedback {
  display: inline-block;
  line-height: 1.5;
}
/*** Files upload widget with list of files, upload form and drop area ***/
.file-upload {
  padding: 1rem 1rem 12rem;
  margin: 0 1rem 0.25rem 1rem;
  border-radius: 0.5rem;
  border: 0.2rem dashed #e0e0e0;
}
fieldset .file-upload {
  margin: 0;
}
.file-upload .upload-form {
  text-align: center;
  padding-bottom: 1em;
}
.file-upload .upload-form a.btn,
.file-upload .upload-form button {
  margin-bottom: 0.25rem;
}
.file-upload .hint {
  margin-bottom: 0.5rem;
  color: #616161;
  text-align: center;
}
.file-upload .attachmentslist {
  border: 0;
  background: transparent;
}
.file-upload .attachmentslist li {
  position: relative;
  display: flex;
  padding-right: 1.5em;
  margin: 0.15em 0;
}
.file-upload .attachmentslist li a.filename {
  flex: 1;
}
.file-upload .attachmentslist li a.delete,
.file-upload .attachmentslist li a.cancelupload {
  position: absolute;
  right: 0.25em;
  width: auto;
}
.file-upload .attachmentslist li a.dropdown {
  margin-right: 0.5em;
}
.file-upload .attachmentslist li .inner {
  display: none;
}
.file-upload.droptarget {
  padding-bottom: 0.5rem !important;
}
.file-upload.droptarget:after {
  content: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20960%20560%22%3E%0A%3Cpath%20fill%3D%22%23d4dbde%22%20d%3D%22M690%20245c0%209.2-3.5%2017.9-10.1%2024.9l-175%20175c-6.6%206.6-15.3%2010.1-24.9%2010.1-9.2%200-18.4-3.5-24.9-10.1l-175-175c-6.6-7-10.1-15.8-10.1-24.9%200-4.4.9-9.2%202.6-13.6C277.9%20218.3%20291%20210%20305%20210h87.5V35c0-19.2%2015.8-35%2035-35h105c19.2%200%2035%2015.8%2035%2035v175H655c14%200%2027.1%208.3%2032.4%2021.4%201.7%204.4%202.6%209.2%202.6%2013.6zm0%20245H270V350h-70v140c0%2038.5%2031.5%2070%2070%2070h420c38.5%200%2070-31.5%2070-70V350h-70v140z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  width: 10rem;
  margin: 5rem auto 0 auto;
  display: block;
}
.file-upload.droptarget.active {
  border-color: #c2c2c2;
}
.file-upload.droptarget.hover {
  border-color: #c2c2c2;
  background-color: #f5f5f5;
}
/*** Smart recipient input field ***/
.recipient-input {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0.75rem 4px 0.75rem;
  list-style-type: none;
  cursor: text;
  height: auto;
}
.recipient-input.focus {
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
.recipient-input li {
  max-width: 100%;
}
.recipient-input li:not(.recipient) {
  user-select: text;
}
.recipient-input li.input {
  flex: 1;
  min-width: 100px;
}
.recipient-input input {
  width: 100%;
  background: transparent !important;
  border: 0 !important;
  margin-top: 4px;
  outline: 0;
  line-height: 1.5;
}
.recipient-input input::-ms-clear {
  display: none;
}
.recipient-input li.recipient,
body > li.recipient.ui-sortable-helper {
  display: flex;
  position: relative;
  max-width: calc(50% - 3px);
  border: 1px solid #e0e0e0;
  background-color: #f5f5f5;
  border-radius: 0.25rem;
  padding: 0 0.25rem;
  margin-top: 4px;
  margin-right: 0.2em;
  white-space: nowrap;
  cursor: default;
}
@media screen and (max-width: 450px) {
  .recipient-input li.recipient,
  body > li.recipient.ui-sortable-helper {
    width: 100%;
    max-width: 100%;
  }
}
.recipient-input li.recipient .name,
body > li.recipient.ui-sortable-helper .name {
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
  line-height: 1.1;
  padding: 3px;
  vertical-align: middle;
}
.recipient-input li.recipient .email,
body > li.recipient.ui-sortable-helper .email {
  text-indent: -5000rem;
  display: inline-block;
  width: 0;
}
.recipient-input li.recipient .quotes,
body > li.recipient.ui-sortable-helper .quotes {
  position: absolute;
  width: 0;
  opacity: 0;
}
.recipient-input li.recipient a.button.icon,
body > li.recipient.ui-sortable-helper a.button.icon {
  font-size: 0.75em;
  cursor: pointer;
  padding: 0;
  color: #242424;
}
.recipient-input li.recipient a.button.icon:before,
body > li.recipient.ui-sortable-helper a.button.icon:before {
  display: inline-block;
  width: 1em;
  line-height: 1.6;
}
.recipient-input li.recipient.ui-sortable-helper,
body > li.recipient.ui-sortable-helper.ui-sortable-helper {
  padding: 0 0 0 0.25rem !important;
}
/*** Tagedit widget (from jqueryui plugin) ***/
.tagedit-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0.75rem 4px 0.75rem;
  margin: 0;
  list-style-type: none;
  min-height: 2.3rem;
}
.tagedit-list + .placeholder {
  display: none;
}
.tagedit-list[tabindex="-1"] {
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
.tagedit-list li.tagedit-listelement-new {
  margin-top: 4px;
}
.tagedit-list li.tagedit-listelement-new input {
  width: 15px;
  background: transparent !important;
  border: 0;
  outline: 0;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
.tagedit-list li.tagedit-listelement-new input.tagedit-input-disabled {
  visibility: hidden;
}
.tagedit-list li.tagedit-listelement-old {
  max-width: 50%;
  border: 1px solid #e0e0e0;
  background-color: #f5f5f5;
  border-radius: 0.25em;
  margin-top: 4px;
  margin-right: 0.2em;
  white-space: nowrap;
}
.tagedit-list li.tagedit-listelement-old a {
  font-size: 0.8em;
  cursor: pointer;
  display: inline-block;
  width: 1.1em;
  overflow: hidden;
  vertical-align: middle;
  margin-right: 0.2rem;
  color: inherit;
  text-decoration: none;
}
.tagedit-list li.tagedit-listelement-old a:before {
  content: "\f00d";
  width: 1em;
  line-height: 1.2;
}
.tagedit-list li.tagedit-listelement-old span {
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
  display: inline-block;
  line-height: 1.4;
  padding: 0 0.25rem;
  vertical-align: middle;
}
/*** Skin selection widget ***/
.skinselection {
  white-space: nowrap;
  display: table-row;
}
.skinselection > span {
  display: table-cell;
  vertical-align: middle;
  padding: 0.1em 0.5em;
  white-space: normal;
}
.skinselection > span:last-child {
  padding-right: 0;
}
.skinselection .skinitem input {
  width: auto;
}
.skinselection .skinname {
  font-weight: bold;
}
.skinselection .skinlicense,
.skinselection .skinlicense a {
  font-style: italic;
  text-decoration: none;
}
.skinselection .skinlicense a:hover {
  text-decoration: underline;
}
.skinselection .skinlicense,
.skinselection .skinauthor {
  font-size: 90%;
}
.skinselection .skinthumbnail {
  width: 64px;
  height: 64px;
  border: 1px solid #d1d1d1;
  background: #fff;
  border-radius: 4px;
}
/*** Percent input with jQuery-UI slider ***/
.input-percent-slider {
  display: flex;
  align-items: center;
}
.input-percent-slider input {
  max-width: 4em;
}
.input-percent-slider span.label {
  line-height: 2.4;
  padding: 0 0.5rem 0 0.25rem;
}
.input-percent-slider div.ui-slider {
  flex: 1;
  margin: 0 0.5em;
}
/*** Image upload widget ***/
.image-upload {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background-color: #f5f5f5;
}
.image-upload a.button {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(255, 255, 255, 0.85);
  border-radius: 5px;
  width: 2.5em;
  padding: 0.5em;
  margin: 0.5em;
  line-height: 1;
}
.image-upload.changed a.button {
  display: inline;
}
.input-group-combo select:first-of-type.alone {
  border-radius: 0.25rem !important;
}
.input-group-combo select:first-of-type:not(.alone) {
  flex: unset;
  width: auto;
}
.input-group-combo .input-group {
  padding: 0 !important;
  flex: 2;
}
.input-group-combo select + select,
.input-group-combo .input-group :first-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
/*** General browser hacks ***/
@-moz-document url-prefix() {
  select:-moz-focusring {
    color: transparent !important;
    text-shadow: 0 0 0 #242424 !important;
  }
}
/*** Bootstrap style overrides and improvements ***/
.form-control {
  color: #242424;
}
.form-control:focus {
  color: #242424;
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
.form-control.is-invalid {
  border-color: #c4314b;
  box-shadow: none;
}
.form-control.is-invalid:focus {
  border-color: #c4314b;
  box-shadow: 0 0 0 0.2rem rgba(239, 68, 68, 0.18);
}
.form-control::placeholder {
  color: #616161;
}
.form-control::-ms-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: #616161;
}
.invalid-feedback {
  color: #c4314b;
  font-size: 90%;
}
.form-group {
  margin-bottom: 0.5rem;
}
.input-group-append.input-group-prepend {
  display: inline;
}
.input-group-text {
  color: #242424;
  background-color: #f5f5f5;
}
.input-group-text input:focus {
  z-index: 1;
  border-color: #242424 !important;
}
.custom-switch {
  padding-left: 0;
  display: inline-block;
}
.custom-switch .custom-control-input {
  left: 0;
  opacity: 0 !important;
}
.custom-switch .custom-control-input:focus ~ .custom-control-label:before {
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
.custom-switch .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {
  border-color: #242424;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  border-color: #1fa37a;
  background-color: #1fa37a;
}
.custom-switch .custom-control-input:checked:disabled ~ .custom-control-label::before {
  border-color: #616161;
  background-color: #616161;
}
.custom-switch .custom-control-label {
  padding-left: 2.5rem;
  min-height: 2rem;
  line-height: 2;
  display: inline-block;
}
html.touch .custom-switch .custom-control-label {
  padding-left: 3rem;
}
.custom-switch .custom-control-label:before,
.custom-switch .custom-control-label:after {
  border-radius: 0.6rem;
  margin: 2px 0;
}
html.touch .custom-switch .custom-control-label:before,
html.touch .custom-switch .custom-control-label:after {
  border-radius: 0.8rem;
  margin: 0;
}
.custom-switch .custom-control-label:before {
  left: 2px;
  top: 4px;
  width: 26px;
  height: 16px;
}
html.touch .custom-switch .custom-control-label:before {
  top: 2px;
  width: 35px;
  height: 22px;
}
.custom-switch .custom-control-label:after {
  left: 4px;
  top: 6px;
  width: 12px;
  height: 12px;
}
html.touch .custom-switch .custom-control-label:after {
  top: 4px;
  height: 18px;
  width: 18px;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(10px);
}
html.touch .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  transform: translateX(13px);
}
.custom-switch .custom-control-input:not(:disabled) ~ .custom-control-label:after,
.custom-switch .custom-control-input:not(:disabled) ~ .custom-control-label:before {
  cursor: pointer;
}
.custom-file {
  display: block;
}
.custom-file .custom-file-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 100px;
}
.custom-file + .hint {
  margin-top: 3px;
}
.custom-file-input:focus ~ .custom-file-label {
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
/**
 * Roundcube Webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
/*** Text Editor widget (and TinyMCE editor) ***/
div.tox {
  font-size: 1rem;
}
div.tox,
div.tox :not(.svg) {
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, Roboto, sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
div.tox.tox-tinymce {
  border-radius: 0.25rem;
  border: 1px solid #d1d1d1;
}
div.tox.focused {
  border-color: #242424 !important;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12) !important;
}
div.tox .tox-toolbar-overlord {
  z-index: 1;
}
div.tox .tox-toolbar-overlord > div {
  background: url("data:image/svg+xml;charset=utf8,%3Csvg height='33px' viewBox='0 0 40 33px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='32px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E");
  background-color: #f5f5f5;
}
div.tox .tox-toolbar__primary {
  border-top: 0;
}
div.tox .tox-toolbar {
  background-color: #f5f5f5;
}
div.tox .tox-edit-area {
  border: 0;
}
div.tox .tox-dialog {
  border-radius: 0;
  border-color: #e0e0e0;
  box-shadow: none;
  align-self: unset !important;
}
div.tox .tox-dialog .tox-form__group {
  margin-top: 0;
  margin-bottom: 0.75rem;
}
div.tox .tox-dialog .tox-dialog__body-nav-item--active {
  color: #1fa37a;
  border-color: transparent;
}
div.tox .tox-dialog .tox-dialog__body-nav-item--active:hover {
  color: #1a8967;
}
div.tox .tox-dialog__body-content {
  overflow: unset;
}
div.tox .tox-dialog__content-js {
  overflow: auto;
}
div.tox .tox-dialog-wrap__backdrop {
  background-color: rgba(9, 9, 11, 0.5);
}
div.tox .tox-dialog__header {
  height: 57px;
  border-bottom: 1px solid #e0e0e0;
  justify-content: flex-end;
  padding: 0;
}
div.tox .tox-dialog__header .tox-button {
  color: #242424;
  right: 0;
  height: 57.3px;
  width: 2.25em;
  margin-right: 0.4rem;
}
div.tox .tox-dialog__header .tox-button:hover {
  background: transparent;
  border-color: transparent;
}
div.tox .tox-dialog__header .tox-button .tox-icon {
  display: none;
}
div.tox .tox-dialog__header .tox-button:before {
  content: "\f00d";
  line-height: 1.5rem;
  margin: 0 !important;
}
div.tox .tox-dialog__footer {
  height: 57px !important;
  border: 0;
  margin: 0;
  padding: 0 1rem;
}
@media screen and (max-width: 480px) {
  div.tox .tox-dialog__footer {
    border-top: 1px solid #e0e0e0;
  }
}
div.tox .tox-dialog__footer > div {
  white-space: nowrap;
  max-height: 57px;
}
div.tox .tox-dialog__footer > div button:first-child {
  margin: 0;
}
div.tox .tox-dialog__footer .tox-button {
  color: #fafafa;
  background: #1fa37a;
  border-color: transparent;
  background-color: #1fa37a;
  border-color: #1fa37a;
  color: #fff;
  font-weight: normal;
  padding: 0.5rem 0.75rem;
}
div.tox .tox-dialog__footer .tox-button:focus {
  background: #1b8e6a;
  border-color: #198564;
  box-shadow: 0 0 0 0.2rem rgba(31, 163, 122, 0.5);
}
div.tox .tox-dialog__footer .tox-button:hover {
  background: #1b8e6a;
  border-color: #198564;
}
div.tox .tox-dialog__footer .tox-button.disabled,
div.tox .tox-dialog__footer .tox-button:disabled {
  background: #1fa37a;
  border-color: #1fa37a;
}
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled):active,
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled).active {
  background: #17785a;
  border-color: #157054;
}
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled):active:focus,
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(31, 163, 122, 0.53);
}
div.tox .tox-dialog__footer .tox-button:hover:not(:disabled):not(.disabled) {
  background: #1a8967;
  border-color: transparent;
}
div.tox .tox-dialog__footer .tox-button:hover:not(:disabled):not(.disabled) {
  background-color: #1a8967;
  border-color: #1a8967;
}
div.tox .tox-dialog__footer .tox-button:active:not(:disabled):not(.disabled) {
  background-color: #157054;
  border-color: #157054;
}
div.tox .tox-dialog__footer .tox-button:before {
  width: 1em;
  content: "\f00c";
  line-height: 1;
}
div.tox .tox-dialog__footer .tox-button:focus:not(:disabled) {
  background: #1fa37a;
  border-color: #1fa37a;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary {
  background: #f5f5f5;
  border-color: #f5f5f5;
  border-color: transparent;
  background-color: #ffffff;
  border: 1px solid #d1d1d1;
  color: #242424;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:focus {
  background: #e8e8e8;
  border-color: #e3e3e3;
  box-shadow: 0 0 0 0.2rem rgba(245, 245, 245, 0.5);
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:hover {
  background: #e8e8e8;
  border-color: #e3e3e3;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary.disabled,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:disabled {
  background: #f5f5f5;
  border-color: #f5f5f5;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled):active,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled).active {
  background: #dcdcdc;
  border-color: #d6d6d6;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled):active:focus,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 245, 245, 0.53);
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:hover:not(:disabled):not(.disabled) {
  background: #ebebeb;
  border-color: transparent;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:hover:not(:disabled):not(.disabled) {
  background-color: #f5f5f5;
  border-color: #d1d1d1;
  color: #242424;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:active:not(:disabled):not(.disabled) {
  background-color: #e0e0e0;
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:before {
  content: "\f00d";
}
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:focus:not(:disabled) {
  background: #f5f5f5;
  border-color: #f5f5f5;
}
div.tox .tox-search-dialog .tox-form__group:not(:first-child) {
  flex: initial !important;
}
div.tox .tox-search-dialog .tox-dialog__footer-start button {
  padding: 0.25rem;
}
div.tox .tox-search-dialog .tox-dialog__footer-end button:before {
  content: "\f303" !important;
}
div.tox .tox-search-dialog .tox-dialog__footer-end button:nth-of-type(1):before {
  content: "\f002" !important;
}
div.tox .tox-dialog__title {
  line-height: calc(58px - 1px);
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0 0 0 1rem;
  width: 100%;
  color: #242424;
}
div.tox .tox-tbtn {
  height: 28px;
}
div.tox .tox-tbtn:not(.tox-tbtn--select,.tox-split-button__chevron) {
  width: 32px;
}
div.tox .tox-button {
  line-height: 1.5;
}
div.tox .tox-label {
  color: #242424;
  padding-bottom: 0.25rem;
}
div.tox .tox-color-input > input,
div.tox .tox-listboxfield .tox-listbox--select,
div.tox .tox-textarea,
div.tox .tox-textfield {
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, Roboto, sans-serif !important;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11" !important;
  font-size: 14px;
  line-height: 1.5;
  color: #242424;
  border-radius: 0.25rem;
  min-height: 0;
  padding: 0.375rem 0.75rem;
}
div.tox .tox-color-input > input:focus,
div.tox .tox-listboxfield .tox-listbox--select:focus,
div.tox .tox-textarea:focus,
div.tox .tox-textfield:focus {
  border-color: #242424;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
}
div.tox .tox-listbox__select-label {
  margin: 0;
}
div.tox .tox-color-input span {
  top: 5px;
}
div.tox .custom-switch {
  position: relative;
  font-size: 1rem;
  margin-top: 0.15rem;
}
div.tox .custom-switch .tox-checkbox__icons {
  display: none;
}
div.tox .custom-switch .tox-checkbox__label {
  margin: 0;
}
div.tox .image-selector {
  font-size: 1rem;
}
div.tox .image-selector button {
  background: #f5f5f5;
  border-color: #f5f5f5;
  border-color: transparent;
  background-color: #ffffff;
  border: 1px solid #d1d1d1;
  color: #242424;
  padding: 0.5rem 0.75rem;
  line-height: 1.5;
}
div.tox .image-selector button:focus {
  background: #e8e8e8;
  border-color: #e3e3e3;
  box-shadow: 0 0 0 0.2rem rgba(245, 245, 245, 0.5);
}
div.tox .image-selector button:hover {
  background: #e8e8e8;
  border-color: #e3e3e3;
}
div.tox .image-selector button.disabled,
div.tox .image-selector button:disabled {
  background: #f5f5f5;
  border-color: #f5f5f5;
}
div.tox .image-selector button:not(:disabled):not(.disabled):active,
div.tox .image-selector button:not(:disabled):not(.disabled).active {
  background: #dcdcdc;
  border-color: #d6d6d6;
}
div.tox .image-selector button:not(:disabled):not(.disabled):active:focus,
div.tox .image-selector button:not(:disabled):not(.disabled).active:focus {
  box-shadow: 0 0 0 0.2rem rgba(245, 245, 245, 0.53);
}
div.tox .image-selector button:hover:not(:disabled):not(.disabled) {
  background: #ebebeb;
  border-color: transparent;
}
div.tox .image-selector button:hover:not(:disabled):not(.disabled) {
  background-color: #f5f5f5;
  border-color: #d1d1d1;
  color: #242424;
}
div.tox .image-selector button:active:not(:disabled):not(.disabled) {
  background-color: #e0e0e0;
}
div.tox .tox-form__controls-h-stack div:not(:last-child) {
  flex: 1;
}
div.tox .tox-collection__item-label {
  white-space: nowrap;
}
@media screen and (max-width: 480px) {
  div.tox .tox-dialog {
    margin: 0 !important;
    width: 100% !important;
    height: 100%;
    left: 0 !important;
    top: 0 !important;
    border-width: 0 !important;
  }
  div.tox .tox-dialog__header {
    background-color: #ffffff;
  }
  div.tox .tox-dialog__header .tox-button {
    display: none;
  }
  div.tox .tox-dialog__title {
    font-size: 1rem;
    text-align: center;
    padding: 0 1rem;
  }
  div.tox .tox-dialog__footer {
    background-color: #ffffff;
  }
  div.tox .tox-dialog__footer .tox-button {
    color: #242424 !important;
    background: transparent !important;
    padding: 0.45rem;
    margin: 0 !important;
    border: 0;
    font-size: 90%;
  }
  div.tox .tox-dialog__footer .tox-button:before {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
    line-height: 1.75;
    height: 1.75rem;
  }
  div.tox .tox-dialog__footer .tox-button:active,
  div.tox .tox-dialog__footer .tox-button:focus,
  div.tox .tox-dialog__footer .tox-button:hover {
    background: transparent;
    border: 0;
    box-shadow: none;
    color: #242424;
  }
  div.tox .tox-dialog__footer > div {
    justify-content: space-evenly;
    display: flex;
    width: 100%;
  }
  div.tox .tox-dialog__footer > div:empty {
    display: none;
  }
}
/*** Media file selector for TinyMCE ***/
.image-selector {
  padding: 1rem 0.5rem 10rem 0.5rem !important;
}
.image-selector.droptarget {
  border: 0.2rem dashed #e0e0e0;
}
.image-selector.droptarget:after {
  margin-top: 2rem;
}
.image-selector form {
  position: absolute;
  top: 0;
}
.image-selector .attachmentslist {
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  height: 19.1em;
  padding: 0 !important;
}
.image-selector .attachmentslist li {
  padding: 0.25rem;
  cursor: pointer;
}
.image-selector .attachmentslist li:before {
  display: none;
}
.image-selector .attachmentslist li:hover,
.image-selector .attachmentslist li:focus {
  background: #e9f6f2;
}
.image-selector .attachmentslist li span.name {
  flex: 1;
  margin: auto;
  padding-left: 1rem;
  overflow: hidden;
  text-overflow: ellipsis;
}
.image-selector .attachmentslist li span.img {
  height: 80px;
  width: 80px;
  display: flex;
  border: 1px solid #e0e0e0;
  background: white;
  border-radius: 0.75rem;
  overflow: hidden;
}
.image-selector .attachmentslist li img {
  margin: auto;
}
html.layout-phone .image-selector .attachmentslist {
  height: auto;
}
/*** HTML editor widget ***/
.html-editor {
  position: relative;
  margin-bottom: 0.2rem;
}
.html-editor .editor-toolbar {
  position: absolute;
  left: 1px;
  top: 1px;
  right: 1px;
  border-radius: 0.25rem 0.25rem 0 0;
  border-bottom: 1px solid #d1d1d1;
  background-color: #f5f5f5;
}
.html-editor .editor-toolbar .mce-i-html {
  display: block;
  margin: 2px 2px 2px 4px;
  width: 34px;
  height: 28px;
  border-radius: 0.25rem;
  color: #222f3e;
}
.html-editor .editor-toolbar .mce-i-html:focus,
.html-editor .editor-toolbar .mce-i-html:hover {
  text-decoration: none;
  border-color: #e2e4e7;
  background-color: #dee0e2;
}
.html-editor .editor-toolbar .mce-i-html:before {
  content: "\f03e";
  margin: 0;
  width: 34px;
  line-height: 28px;
}
.html-editor .editor-toolbar .mce-i-html[disabled] {
  opacity: 0.7;
  cursor: not-allowed;
}
.html-editor.mailvelope .editor-toolbar,
.html-editor .tox-tinymce + .editor-toolbar {
  display: none;
}
.html-editor > .googie_edit_layer,
.html-editor > textarea {
  font-family: monospace;
  font-size: 13px;
  width: 100% !important;
  padding-top: 40px;
  resize: none;
}
.html-editor > iframe {
  border-radius: 0.3rem;
  border: 1px solid #d1d1d1;
  min-height: 30em;
}
/*** GoogieSpell widget ***/
.googie_window {
  width: 16rem;
  height: auto;
}
.googie_edit_layer {
  font-family: monospace;
  padding: 0.5rem 0.75rem;
  border: 1px solid #d1d1d1;
  border-radius: 0.3rem;
  line-height: 1.5;
}
.googie_link {
  color: #c4314b;
  text-decoration: underline;
  cursor: pointer;
}
.googie_list li {
  min-width: 8rem;
  width: auto;
}
.googie_list li.googie_list_onhover {
  color: #242424;
  background-color: #f5f5f5;
}
.googie_list li .googie_list_revert:before {
  content: "\f0e2";
}
.googie_list li .googie_add_to_dict:before {
  content: "\f0fe";
}
.googie_list input {
  display: inline-block;
  margin: 0.25rem 0.5rem;
}
/*** Login form ***/
.task-login #layout-content {
  text-align: center;
  width: 100%;
  display: block;
}
.task-login #logo {
  display: inline-block;
  position: relative;
  top: 16vh;
  max-height: 100px;
}
#login-form {
  margin: 0 auto;
  top: 20vh;
  width: 95%;
  max-width: 320px;
  position: relative;
}
#login-form table,
#login-form tbody {
  display: block;
}
#login-form .row {
  margin-right: 0;
  margin-left: 0;
}
#login-form .oauthlogin {
  margin-top: 1em;
  padding-top: 1em;
}
#login-form .formbuttons + .oauthlogin {
  border-top: 1px solid #ccc;
}
#rcmloginsubmit:before {
  display: none !important;
}
#login-footer {
  flex: 1;
  color: #616161;
}
#login-footer > div {
  margin-top: 1rem;
  padding: 1rem;
  background: #f5f5f5;
  border-radius: 0.3rem;
}
#login-addon {
  position: absolute;
  bottom: 0;
  max-height: 30%;
  margin: 1rem !important;
  width: auto !important;
  overflow: auto;
}
@media screen and (min-width: 769px) {
  #login-addon {
    max-width: 768px;
    margin: auto !important;
    bottom: 1rem;
    left: 0;
    right: 0;
  }
}
body.task-error-login #layout #layout-menu,
body.task-error-login #layout #layout-content > .header {
  display: none;
}
/*** Addressbook UI ***/
#contactpic {
  width: 112px;
  height: 135px;
  border-radius: 0.5rem;
  overflow: hidden;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background-color: #f5f5f5;
}
#contactpic img {
  max-width: 112px;
  max-height: 135px;
}
#contacthead .names {
  margin-bottom: 0.5rem;
}
#contacthead .names span.namefield {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
}
#contacthead.readonly .source.row {
  color: #616161;
  font-size: 90%;
  margin-bottom: 0.25rem;
}
/*** Mail UI ***/
#message-header {
  margin-bottom: 1rem;
}
#message-header > .subject {
  font-size: 1.5rem;
  font-weight: bold;
}
body.status-flagged #message-header > .subject:before {
  display: inline;
  float: none;
  content: "\f024";
  font-size: 1em;
  color: #c4314b;
}
#message-header > .subject a.extwin {
  text-decoration: none;
}
#message-header > .subject a.extwin:before {
  float: none;
  display: inline-block;
  font-size: 75%;
  line-height: 1.5;
  margin: 0;
  content: "\f360";
}
#message-header > .subject span.inner {
  display: none;
}
#message-header > .header {
  display: flex;
}
#message-header > .header img.contactphoto {
  margin: 0 1rem 0 0;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  object-fit: cover;
  background: #f5f5f5;
}
#message-header .header-content {
  min-height: 4rem;
  flex: 1;
}
#message-header .header-content.details-view .header-summary {
  display: none;
}
#message-header .header-content.details-view .header-headers {
  display: initial;
}
#message-header .header-summary {
  margin-top: 0.25rem;
}
#message-header .header-summary > span {
  display: inline-block;
}
#message-header .header-headers {
  display: none;
}
#message-header .header-headers .header-title {
  white-space: nowrap;
  color: #616161;
  font-weight: bold;
  padding-right: 1rem;
  vertical-align: top;
}
#message-header .header-links {
  margin-top: 0.25rem;
}
#message-header .header-links a {
  font-size: 90%;
  margin-right: 0.5rem;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block;
}
#message-header .header-links a:before {
  height: 1.5rem;
  line-height: 1.3;
}
#message-header .header-links a.headers-details:before {
  content: "\f0e0";
}
#message-header .header-links a.headers-summary:before {
  content: "\f0e0";
  font-weight: 400;
}
#message-header .header-links a.headers-all:before {
  content: "\f05a";
}
#message-header .header-links a.html:before {
  content: "\f03e";
}
#message-header .header-links a.plain:before {
  content: "\f039";
}
#message-header .header-links a.zipdownload:before {
  content: "\f019";
}
.message-partheaders {
  padding: 0.25rem 0.5rem;
  margin: 0.5rem 0 -0.5rem 0;
  border-top: 1px solid #e0e0e0;
  background-color: #f5f5f5;
}
.message-partheaders table.headers-table {
  font-size: 90%;
  color: #616161;
}
.message-partheaders table.headers-table .header-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 8em;
  font-weight: bold;
  padding-right: 1rem;
  vertical-align: top;
}
.message-partheaders table.headers-table .subject {
  font-weight: bold;
}
.message-partheaders table.headers-table + .message-part,
.message-partheaders table.headers-table + .message-htmlpart {
  border-top: 0;
  margin: 0;
}
#message-content {
  min-height: 100%;
}
#message-content .attachmentslist:not(:empty) {
  margin-bottom: 1rem;
}
#messagebody.mailvelope iframe {
  min-height: 75vh;
}
.message-part,
.message-htmlpart {
  padding-top: 0.5rem;
  position: relative;
}
.message-part:not(:first-child),
.message-htmlpart:not(:first-child) {
  border-top: 1px solid #e0e0e0;
  margin-top: 0.5rem;
}
.message-part:last-child,
.message-htmlpart:last-child {
  margin-bottom: 0.5rem;
}
.message-part div.rcmBody,
.message-htmlpart div.rcmBody {
  margin: 0 auto !important;
  overflow: auto hidden;
}
.message-part blockquote,
.message-htmlpart blockquote {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #616161;
  border-left: 2px solid #e0e0e0;
  border-right: 2px solid #e0e0e0;
  background-color: #f5f5f5;
  margin: 2px 0;
  padding: 0 0.4em;
}
.message-part blockquote blockquote,
.message-htmlpart blockquote blockquote {
  color: #616161;
  border-left: 2px solid #cccccc;
  border-right: 2px solid #cccccc;
}
.message-part blockquote blockquote blockquote,
.message-htmlpart blockquote blockquote blockquote {
  color: #616161;
  border-left: 2px solid #b7b7b7;
  border-right: 2px solid #b7b7b7;
}
.message-part blockquote span.blockquote-link,
.message-htmlpart blockquote span.blockquote-link {
  top: 0;
  cursor: pointer;
  right: 0.5rem;
  min-width: 4rem;
  padding: 0.2rem 0.25rem 0.2rem 0.5rem;
  font-size: 90%;
  text-align: center;
  color: #616161;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  border-radius: 0.3rem;
  line-height: 1;
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, Roboto, sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}
.message-part blockquote span.blockquote-link:after,
.message-htmlpart blockquote span.blockquote-link:after {
  content: "\f107";
  display: inline-block;
  float: none;
  margin: 0;
  font-size: 90%;
}
.message-part blockquote span.blockquote-link.collapsed:after,
.message-htmlpart blockquote span.blockquote-link.collapsed:after {
  content: "\f106";
}
.message-part blockquote.blockquote-header,
.message-htmlpart blockquote.blockquote-header {
  text-overflow: ellipsis !important;
  padding-right: 5rem !important;
}
.message-part span.sig {
  color: #616161;
}
.message-part div.pre {
  font-family: monospace;
  font-size: 13px;
}
.message-part blockquote {
  display: inline-block;
  min-width: 100%;
}
.message-part blockquote + br {
  display: block;
  margin-top: 1em;
}
#compose-attachments {
  margin: 1rem 1rem 0 1rem;
}
#composestatusbar {
  opacity: 0.3;
  right: 2.5rem;
}
@media screen and (min-width: 769px) {
  #composestatusbar {
    display: none;
  }
}
#composestatusbar a.button {
  display: inline-block;
}
#composestatusbar a.button:before {
  line-height: 58px;
  font-size: 1.25rem !important;
}
/*** Settings UI ***/
.settings-default-icon tr > td.section::before,
.settings-default-icon li > a:before {
  content: "\f013";
}
/**
 * Roundcube webmail styles for the Elastic skin
 *
 * Copyright (c) The Roundcube Dev Team
 *
 * The contents are subject to the Creative Commons Attribution-ShareAlike
 * License. It is allowed to copy, distribute, transmit and to adapt the work
 * by keeping credits to the original authors in the README.md file.
 * See http://creativecommons.org/licenses/by-sa/3.0/ for details.
 */
html.dark-mode {
  scrollbar-color: #3f3f46 transparent;
}
html.dark-mode:not(.touch) ::-webkit-scrollbar-track {
  background-color: transparent;
}
html.dark-mode:not(.touch) ::-webkit-scrollbar-thumb {
  background-color: #3f3f46;
}
html.dark-mode body {
  color: #ffffff;
  background-color: #1f1f1f;
}
html.dark-mode #logo {
  opacity: 0.8;
}
html.dark-mode #layout-list,
html.dark-mode #layout-content,
html.dark-mode #layout-sidebar,
html.dark-mode #layout > div > .header,
html.dark-mode #layout > div > .footer,
html.dark-mode .popup .listbox .footer,
html.dark-mode .menu.pagenav.pagenav-list,
html.dark-mode .menu.pagenav.pagenav-list + .navlist,
html.dark-mode .menu.pagenav.pagenav-list.expanded + .navlist {
  background-color: transparent;
  border-color: #333333;
}
html.dark-mode #layout > div > .footer {
  font-weight: normal;
}
html.dark-mode #layout > div > .header,
html.dark-mode #layout > div > .footer {
  color: unset;
}
html.dark-mode #layout > div > .header a.button,
html.dark-mode #layout > div > .footer a.button {
  color: #ffffff;
}
html.dark-mode #layout-menu {
  background: unset;
  border-right: 1px solid #333333;
}
html.dark-mode #layout-menu .popover-header,
html.dark-mode #layout-menu .special-buttons {
  background: transparent !important;
}
@media screen and (max-width: 480px) {
  html.dark-mode #layout-menu {
    border-left: 0;
  }
  html.dark-mode #layout-menu .popover-header {
    border-bottom: 1px solid #333333;
  }
}
html.dark-mode #layout-menu .special-buttons a:not(:focus) {
  background: #1f1f1f;
}
html.dark-mode.layout-phone #layout-menu {
  background: #292929;
}
html.dark-mode .searchbar {
  background-color: transparent;
  border-color: #333333;
}
html.dark-mode .searchbar form:before,
html.dark-mode .searchbar a,
html.dark-mode .searchbar input {
  color: unset;
}
html.dark-mode .searchbar a.selected {
  color: #13a10e;
}
html.dark-mode #messagestack div {
  color: #ffffff;
}
html.dark-mode #messagestack div i.icon:before {
  color: #ffffff;
}
html.dark-mode .ui.alert.boxinformation,
html.dark-mode #messagestack .alert-info {
  background-color: #57ba9b;
}
html.dark-mode .ui.alert.boxerror,
html.dark-mode #messagestack .alert-danger {
  background-color: #f87171;
}
html.dark-mode .ui.alert.boxwarning,
html.dark-mode #messagestack .alert-warning {
  background-color: #fbbf24;
}
html.dark-mode .ui.alert.boxconfirmation,
html.dark-mode #messagestack .alert-success {
  background-color: #4ade80;
}
html.dark-mode #messagestack .loading {
  background-color: #a1a1aa;
}
html.dark-mode .ui.alert.boxinformation,
html.dark-mode .ui.alert.boxerror,
html.dark-mode .ui.alert.boxwarning,
html.dark-mode .ui.alert.boxconfirmation {
  color: #ffffff;
}
html.dark-mode .ui.alert.boxinformation i.icon:before,
html.dark-mode .ui.alert.boxerror i.icon:before,
html.dark-mode .ui.alert.boxwarning i.icon:before,
html.dark-mode .ui.alert.boxconfirmation i.icon:before {
  color: #ffffff;
}
html.dark-mode .ui.alert a:not(.btn) {
  color: #ffffff;
  text-decoration: underline;
}
html.dark-mode .iframe-loader {
  background-color: rgba(31, 31, 31, 0.9);
}
html.dark-mode .iframe-loader .spinner-border {
  color: #bfbfbf;
  border-color: currentColor #808080 currentColor currentColor;
}
html.dark-mode #taskmenu a.selected,
html.dark-mode .menu.toolbar a.selected {
  background-color: #383838;
}
html.dark-mode pre,
html.dark-mode .popover .menu li a[aria-haspopup]::after,
html.dark-mode .menu.pagenav .pagenav-text,
html.dark-mode .menu.pagenav a {
  color: unset;
}
html.dark-mode #taskmenu .action-buttons a {
  color: #1fa37a;
}
@media screen and (max-width: 480px) {
  html.dark-mode #taskmenu a {
    border-color: #333333 !important;
  }
  html.dark-mode #taskmenu a.selected {
    background: transparent;
  }
}
html.dark-mode.layout-small .popover,
html.dark-mode.layout-phone .popover {
  border-left: 1px solid #333333;
}
html.dark-mode.layout-small .popover .menu .dropbutton a.dropdown,
html.dark-mode.layout-phone .popover .menu .dropbutton a.dropdown {
  background: transparent;
}
html.dark-mode.layout-small .popover:not(.select-menu) .listing li:last-child,
html.dark-mode.layout-phone .popover:not(.select-menu) .listing li:last-child {
  border-color: #333333;
}
html.dark-mode.layout-small .popover-header,
html.dark-mode.layout-phone .popover-header {
  background: #292929;
  border-bottom: 1px solid #333333;
  color: unset;
}
html.dark-mode.layout-small .popover-overlay,
html.dark-mode.layout-phone .popover-overlay {
  background: rgba(0, 0, 0, 0.7);
}
html.dark-mode #taskmenu a:hover,
html.dark-mode .popupmenu .listing li > a:not(.disabled):hover,
html.dark-mode .header a.button.icon:not(.disabled):focus,
html.dark-mode .header a.button.icon:not(.disabled):hover,
html.dark-mode .menu.toolbar .dropbutton:not(.disabled):hover,
html.dark-mode .menu a:not(.disabled):focus,
html.dark-mode .menu a:not(.disabled):hover {
  background-color: #383838;
}
html.dark-mode .menu.toolbar a.selected {
  color: #13a10e;
  background: transparent;
}
html.dark-mode .menu.toolbar .dropbutton a.dropdown:hover {
  background-color: #454545;
}
html.dark-mode .proplist li.with-sublist > a.dropdown,
html.dark-mode .listing tbody td,
html.dark-mode .listing tbody td a,
html.dark-mode .listing li a {
  color: #ffffff;
}
html.dark-mode .listing li ul,
html.dark-mode .listing tbody td,
html.dark-mode .listing li {
  border-color: #333333;
}
html.dark-mode .listing li.selected,
html.dark-mode .listing li.selected > a,
html.dark-mode .listing li.selected > div > a,
html.dark-mode .listing tr.selected td {
  color: #ffffff;
  background-color: #383838;
}
html.dark-mode .listing li.selected ul {
  background-color: #1f1f1f;
}
html.dark-mode .listing li.selected ul div.treetoggle {
  color: #ffffff;
}
html.dark-mode .listing li.disabled,
html.dark-mode .listing tr.disabled td {
  color: #71717a;
}
html.dark-mode .listing li.droptarget > a,
html.dark-mode .listing tr.droptarget > td {
  background-color: #383838;
}
html.dark-mode .messagelist {
  color: #ffffff;
}
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.size,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.date,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.fromto {
  color: #adadad;
}
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.msgicon.status {
  color: #ffffff;
}
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.msgicon.status.unread::before {
  color: #513800;
}
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) span.flag {
  color: #ffffff;
}
html.dark-mode .messagelist tr:not(.flagged):not(.deleted).selected td.subject a,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted).selected td.subject span.msgicon.status {
  color: #ffffff;
}
html.dark-mode .messagelist tr.flagged:not(.deleted) td,
html.dark-mode .messagelist tr.flagged:not(.deleted) span.attachment span {
  color: #c4314b;
}
html.dark-mode .messagelist tr.deleted td span.flag,
html.dark-mode .messagelist tr.deleted td span.attachment span,
html.dark-mode .messagelist tr.deleted td.subject span.msgicon.status,
html.dark-mode .messagelist tr.deleted td.subject span.msgicon.status.unread:before,
html.dark-mode .messagelist tr.deleted td.subject span.subject a,
html.dark-mode .messagelist tr.deleted td.subject span.date,
html.dark-mode .messagelist tr.deleted td.subject span.fromto {
  color: #71717a;
}
html.dark-mode .messagelist span.attachment span {
  color: #adadad;
}
html.dark-mode .folderlist li.mailbox .unreadcount {
  background-color: #57ba9b;
  color: #09090b;
  font-weight: normal;
}
html.dark-mode .attachmentslist {
  background-color: #383838;
  border: 0;
}
html.dark-mode .attachmentslist a {
  color: #ffffff;
}
html.dark-mode .attachmentslist li .attachment-name {
  color: #ffffff;
}
html.dark-mode .attachmentslist li .attachment-size {
  color: #adadad;
}
html.dark-mode .btn {
  color: #ffffff;
}
html.dark-mode .btn:focus,
html.dark-mode .btn:hover {
  color: #fafafa;
}
html.dark-mode .btn:disabled {
  opacity: 0.5 !important;
}
html.dark-mode .btn-primary {
  background-color: #1fa37a;
  color: #fafafa;
}
html.dark-mode .btn-primary:hover:not(:disabled) {
  background-color: #23b88a;
}
html.dark-mode .btn-secondary {
  background-color: #383838;
  color: #fafafa;
}
html.dark-mode .btn-secondary:hover:not(:disabled) {
  background-color: #454545;
}
html.dark-mode .btn-danger {
  background-color: #b91c1c;
  color: #fafafa;
}
html.dark-mode .btn-danger:hover:not(:disabled) {
  background-color: #cf1f1f;
}
html.dark-mode .floating-action-buttons a.button {
  box-shadow: none;
  background: #6dc3a9;
}
html.dark-mode .custom-file-label,
html.dark-mode .form-control {
  background-color: #292929;
  color: #fafafa;
}
html.dark-mode .custom-file-label:not(.is-invalid),
html.dark-mode .form-control:not(.is-invalid) {
  border-color: #666666;
}
html.dark-mode .custom-file-label:focus,
html.dark-mode .form-control:focus {
  background-color: #292929;
}
html.dark-mode .custom-file-label:focus:not(.is-invalid),
html.dark-mode .form-control:focus:not(.is-invalid) {
  color: #fafafa !important;
  border-color: #52525b;
}
html.dark-mode .custom-file-label::after {
  color: #fafafa;
  background-color: #292929;
}
html.dark-mode .custom-select {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fafafa' viewBox='0 0 4 5'%3e%3cpath d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center / 8px 10px;
}
html.dark-mode .custom-switch .custom-control-label::before {
  background-color: #3f3f46;
}
html.dark-mode .custom-switch .custom-control-label::after {
  background-color: #ffffff;
}
html.dark-mode .custom-switch .custom-control-input:disabled ~ .custom-control-label {
  opacity: 0.4;
}
html.dark-mode .custom-switch .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #57ba9b;
}
html.dark-mode .custom-switch .custom-control-input:checked ~ .custom-control-label::after {
  background-color: #ffffff;
}
html.dark-mode input:disabled,
html.dark-mode select:disabled {
  opacity: 0.5;
}
html.dark-mode .multi-input:not(.is-invalid) > .content {
  border-color: #666666;
}
html.dark-mode .multi-input:not(.is-invalid) > .content.focused {
  border-color: #52525b;
}
html.dark-mode .input-group-text {
  color: #fafafa;
  background-color: #292929;
  border-color: #666666;
}
html.dark-mode .input-group a:focus {
  border-color: #52525b;
  box-shadow: 0 0 0 0.2rem rgba(24, 24, 27, 0.12);
  z-index: 1;
}
html.dark-mode .form-control-plaintext {
  color: unset;
}
html.dark-mode .recipient-input.focus {
  color: #fafafa;
  background-color: #292929;
  border-color: #52525b;
}
html.dark-mode .recipient-input a.button.icon,
html.dark-mode .recipient-input input {
  color: #fafafa;
}
html.dark-mode .recipient-input .recipient {
  background-color: #292929;
  border-color: #666666;
}
html.dark-mode .file-upload {
  border-color: #333333;
}
html.dark-mode .file-upload:after {
  mix-blend-mode: soft-light;
}
html.dark-mode .file-upload.droptarget.active {
  border-color: #ffffff;
}
html.dark-mode .file-upload.droptarget.hover {
  border-color: #ffffff;
  background-color: #383838;
}
html.dark-mode .file-upload .attachmentslist {
  background: transparent;
}
html.dark-mode .image-upload {
  background-color: #383838;
}
html.dark-mode .image-upload a.button {
  background-color: rgba(31, 31, 31, 0.25);
}
html.dark-mode .formcontent.raweditor .CodeMirror {
  color: #fafafa;
  background-color: #292929;
  border-color: #666666;
}
html.dark-mode .formcontent.raweditor .CodeMirror-focused {
  background-color: #292929;
  border-color: #52525b;
}
html.dark-mode .CodeMirror-selected,
html.dark-mode .CodeMirror-line::selection,
html.dark-mode .CodeMirror-line > span::selection,
html.dark-mode .CodeMirror-line > span > span::selection {
  background: #383838;
}
html.dark-mode .CodeMirror-gutters {
  background-color: #1e1e1e;
  border: 0;
}
html.dark-mode .CodeMirror-activeline-background {
  background: #383838;
}
html.dark-mode .skinselection .skinthumbnail {
  border-color: #666666;
  background: transparent;
}
html.dark-mode .html-editor .editor-toolbar {
  background-color: #292929;
  border-color: #666666;
}
html.dark-mode .html-editor .editor-toolbar .mce-i-html {
  color: unset;
}
html.dark-mode .html-editor .editor-toolbar .mce-i-html:hover,
html.dark-mode .html-editor .editor-toolbar .mce-i-html:focus {
  background-color: #383838;
  border-color: transparent;
}
html.dark-mode .tox.tox-tinymce {
  border-color: #666666;
}
html.dark-mode .tox .tox-toolbar {
  background-color: #292929;
  border-color: #666666;
}
html.dark-mode .tox .tox-toolbar-overlord > div {
  background: url("data:image/svg+xml,%3Csvg height='33px' viewBox='0 0 40 33px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='32px' width='100' height='1' fill='%23666666'/%3E%3C/svg%3E") #292929;
}
html.dark-mode .tox .tox-pop.tox-pop--top:before,
html.dark-mode .tox .tox-pop.tox-pop--top:after {
  border-bottom-color: #333333;
}
html.dark-mode .tox .tox-pop__dialog {
  box-shadow: none;
  border-color: #333333;
}
html.dark-mode .tox .tox-tbtn,
html.dark-mode .tox .tox-split-button,
html.dark-mode .tox .tox-swatches__picker-btn {
  color: #ffffff;
}
html.dark-mode .tox .tox-tbtn svg,
html.dark-mode .tox .tox-split-button svg,
html.dark-mode .tox .tox-swatches__picker-btn svg {
  fill: #ffffff !important;
}
html.dark-mode .tox .tox-tbtn:hover,
html.dark-mode .tox .tox-split-button:hover,
html.dark-mode .tox .tox-swatches__picker-btn:hover,
html.dark-mode .tox .tox-tbtn:focus,
html.dark-mode .tox .tox-split-button:focus,
html.dark-mode .tox .tox-swatches__picker-btn:focus {
  color: #ffffff;
  background: #383838;
  box-shadow: none;
}
html.dark-mode .tox .tox-tbtn--enabled {
  background: #383838;
}
html.dark-mode .tox .tox-button--naked:focus:not(:disabled),
html.dark-mode .tox .tox-button--naked.tox-button--icon:hover:not(:disabled) {
  color: #ffffff;
  background-color: #383838;
  border-color: transparent;
}
html.dark-mode .tox .tox-button--naked:disabled {
  background: transparent;
  border: transparent;
}
html.dark-mode .tox .tox-dialog__header .tox-button--naked:hover {
  background: transparent !important;
}
html.dark-mode .tox .tox-selectfield select {
  background: transparent;
  color: #fafafa;
}
html.dark-mode .tox .tox-selectfield svg {
  fill: #fafafa;
}
html.dark-mode .tox .tox-color-input span::before {
  background-color: #ffffff;
}
html.dark-mode .tox .tox-toolbar__group:not(:last-of-type) {
  border-color: #666666;
}
html.dark-mode .tox .tox-dialog,
html.dark-mode .tox .tox-dialog__header,
html.dark-mode .tox .tox-dialog__body,
html.dark-mode .tox .tox-dialog__footer,
html.dark-mode .tox .tox-dialog__title {
  color: #ffffff;
  border-color: #333333;
  background-color: #1f1f1f;
}
html.dark-mode .tox .tox-textfield,
html.dark-mode .tox .tox-color-input > input,
html.dark-mode .tox .tox-label,
html.dark-mode .tox .tox-dialog__body-nav-item,
html.dark-mode .tox .tox-button--naked,
html.dark-mode .tox .tox-dialog__header .tox-button,
html.dark-mode .tox .tox-insert-table-picker__label {
  color: #ffffff;
}
html.dark-mode .tox .tox-dialog__footer .tox-button {
  background-color: #1fa37a;
  color: #fafafa;
}
html.dark-mode .tox .tox-dialog__footer .tox-button:disabled {
  opacity: 0.5;
}
@media screen and (max-width: 480px) {
  html.dark-mode .tox .tox-dialog__footer .tox-button {
    color: #ffffff !important;
  }
}
html.dark-mode .tox .tox-dialog__footer .tox-button:focus:not(:disabled) {
  background-color: #1fa37a;
}
html.dark-mode .tox .tox-dialog__footer .tox-button:hover:not(:disabled) {
  background-color: #23b88a;
}
html.dark-mode .tox .tox-dialog__footer .tox-button.tox-button--secondary {
  background-color: #383838;
  color: #fafafa;
}
html.dark-mode .tox .tox-dialog__footer .tox-button.tox-button--secondary:focus:not(:disabled) {
  background-color: #383838;
}
html.dark-mode .tox .tox-dialog__footer .tox-button.tox-button--secondary:hover:not(:disabled) {
  background-color: #454545;
}
html.dark-mode .tox .tox-dialog__body-nav-item--active {
  color: #1fa37a;
}
html.dark-mode .tox .tox-dialog-wrap__backdrop {
  background-color: rgba(0, 0, 0, 0.7);
}
html.dark-mode .tox .tox-menu {
  background-color: #292929;
  border-color: #333333;
  box-shadow: none;
}
html.dark-mode .tox .tox-collection__item-caret svg {
  fill: #ffffff;
}
html.dark-mode .tox .tox-collection__item {
  color: #ffffff;
}
html.dark-mode .tox .tox-collection__item:not(:last-child) {
  border-bottom: 1px solid #333333;
}
html.dark-mode .tox .tox-collection--grid .tox-collection__item {
  border: 0;
}
html.dark-mode .tox .tox-collection__item--active,
html.dark-mode .tox .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
  color: #ffffff;
  background-color: #383838;
}
html.dark-mode .tox .tox-collection__item--enabled {
  color: #ffffff;
  background-color: #383838;
}
html.dark-mode .message-part {
  border-color: #333333;
}
html.dark-mode .message-part blockquote {
  background-color: #1f1f1f;
  border-color: #3f3f46;
  color: #a1a1aa;
}
html.dark-mode .message-part blockquote span.blockquote-link {
  color: currentColor;
  background: #1f1f1f;
  border-color: currentColor;
}
html.dark-mode .message-part blockquote blockquote {
  color: #a1a1aa;
  border-color: #52525b;
}
html.dark-mode .message-part blockquote blockquote blockquote {
  color: #a1a1aa;
  border-color: #71717a;
}
html.dark-mode .message-part span.sig {
  color: #adadad;
}
html.dark-mode .message-htmlpart {
  background-color: white;
  color: #242424;
  padding: 0;
  margin-top: 0.5rem;
}
html.dark-mode #message-header .header-headers .header-title {
  color: #ffffff;
  font-weight: normal;
}
html.dark-mode .message-partheaders {
  background-color: #383838;
  border: 0;
}
html.dark-mode .message-partheaders table.headers-table {
  color: #ffffff;
}
html.dark-mode .message-partheaders table.headers-table * {
  font-weight: normal;
}
html.dark-mode p.image-attachment {
  border-color: #333333;
  background-color: #383838;
}
html.dark-mode p.image-attachment span {
  color: #adadad;
}
html.dark-mode fieldset.image-attachment legend {
  color: #adadad;
  border-color: #333333;
}
html.dark-mode #messagepartframe {
  background: #fff;
}
html.dark-mode .ui-widget {
  border-color: #333333;
}
html.dark-mode .ui-widget-overlay {
  background-color: rgba(0, 0, 0, 0.7);
}
html.dark-mode .ui-widget-header,
html.dark-mode .ui-widget-content {
  background-color: #1f1f1f;
}
html.dark-mode .ui-dialog .ui-dialog-titlebar {
  border-color: #333333;
}
html.dark-mode .ui-dialog .ui-dialog-title,
html.dark-mode .ui-dialog .ui-dialog-titlebar-close {
  color: #ffffff;
  background: transparent;
}
html.dark-mode .ui-dialog .ui-dialog-buttonpane {
  border-color: #333333;
}
html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
  color: #ffffff;
}
html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:focus {
  background: transparent;
}
@media screen and (max-width: 480px) {
  html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-primary:not(.btn-danger),
  html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary {
    color: #ffffff;
  }
}
html.dark-mode .ui-datepicker .ui-datepicker-header {
  border-color: #333333;
}
html.dark-mode .ui-datepicker th {
  color: #adadad;
  font-size: 80%;
  font-weight: normal;
}
html.dark-mode .ui-datepicker .ui-datepicker-prev,
html.dark-mode .ui-datepicker .ui-datepicker-next,
html.dark-mode .ui-datepicker .ui-state-default,
html.dark-mode .ui-datepicker.ui-widget-content .ui-state-default {
  color: #ffffff;
}
html.dark-mode .ui-datepicker .ui-state-highlight,
html.dark-mode .ui-datepicker.ui-widget-content .ui-state-highlight {
  color: #1fa37a;
  background-color: #383838;
}
html.dark-mode .ui-datepicker .ui-datepicker-days-cell-over a {
  background-color: #525252;
}
html.dark-mode .ui-menu {
  background-color: #292929;
  border-color: #333333;
  box-shadow: none;
}
html.dark-mode .ui-menu .ui-menu-item {
  border-bottom: 1px solid #333333;
}
html.dark-mode .ui-menu .ui-state-active {
  background-color: #383838 !important;
}
html.dark-mode .minicolors-panel {
  box-shadow: none;
  border-color: #333333;
  background: #292929;
}
html.dark-mode ::placeholder,
html.dark-mode ::-webkit-input-placeholder,
html.dark-mode .listing-info,
html.dark-mode .listing span.secondary,
html.dark-mode .file-upload .hint,
html.dark-mode .contactlist span.email,
html.dark-mode #login-footer,
html.dark-mode #contacthead.readonly .source.row,
html.dark-mode .formcontent .hint {
  font-weight: normal;
  color: #adadad;
}
html.dark-mode .popover {
  background-color: #292929;
  border-color: #333333;
  box-shadow: none;
}
html.dark-mode .popover .menu li.separator {
  background-color: transparent;
  color: #cccccc;
}
html.dark-mode .popover .menu ul + li.separator {
  border-top: 1px solid #333333;
}
html.dark-mode .popover-body {
  color: #ffffff;
}
html.dark-mode .bs-popover-auto[x-placement^="right"] > .arrow::after,
html.dark-mode .bs-popover-right > .arrow::after {
  border-right-color: #333333;
}
html.dark-mode .bs-popover-auto[x-placement^="left"] > .arrow::after,
html.dark-mode .bs-popover-left > .arrow::after {
  border-left-color: #333333;
}
html.dark-mode .bs-popover-auto[x-placement^="top"] > .arrow::after,
html.dark-mode .bs-popover-top > .arrow::after {
  border-top-color: #333333;
}
html.dark-mode .bs-popover-auto[x-placement^="bottom"] > .arrow::after,
html.dark-mode .bs-popover-bottom > .arrow::after {
  border-bottom-color: #333333;
}
html.dark-mode .nav-tabs {
  border-color: #333333;
}
html.dark-mode .nav-tabs .nav-link {
  color: #ffffff;
  border-color: transparent;
  border-bottom-color: #333333;
}
html.dark-mode .nav-tabs .nav-link:hover {
  background: #1f1f1f;
  border-color: #333333;
  color: #ffffff;
}
html.dark-mode .nav-tabs .nav-link.active {
  background: #1f1f1f;
  border-color: #333333;
  border-bottom-color: transparent;
  color: #fff;
}
html.dark-mode .table {
  color: #ffffff;
}
html.dark-mode .table td,
html.dark-mode .table th,
html.dark-mode .table thead th {
  border-color: #333333;
}
html.dark-mode .table-widget {
  border-color: #333333;
}
html.dark-mode .table-widget > .footer {
  border-color: #333333;
}
html.dark-mode .table-widget table.options-table tr:last-child td {
  border-color: #333333;
}
html.dark-mode .table-widget table.options-table tr.selected td {
  background-color: #383838;
  color: #ffffff;
}
html.dark-mode #rcmdraglayer {
  background-color: #292929;
  border: 1px solid #333333;
  box-shadow: none;
  color: #ffffff;
}
html.dark-mode .quota-widget {
  color: unset;
}
html.dark-mode .quota-widget .bar {
  border-color: #333333;
  background-color: #333333;
}
html.dark-mode .quota-info .root {
  color: #adadad;
  background-color: transparent;
}
html.dark-mode img.contactphoto,
html.dark-mode #contactpic {
  background-color: #383838 !important;
}
html.dark-mode .pgpkeyimport div.key.revoked,
html.dark-mode .pgpkeyimport div.key.disabled {
  color: #71717a;
}
html.dark-mode .pgpkeyimport li.uid::before {
  opacity: 1;
}
/**
 * Styles for the Kolab web client variant of the Roundcube Elastic skin
 *
 * Copyright (C) 2018, Kolab Systems AG <contact@kolabsystems.com>
 *
 * The contents of this folder can be redistributed and/or modified
 * under the terms of the GNU Affero General Public License as published
 * by the Free Software Foundation, either version 3 of the License,
 * or (at your option) any later version.
 */
.task-login #layout-content #logo {
  top: 15vh;
  height: 15vh;
}
.watermark {
  background-size: 40% !important;
  background-blend-mode: unset !important;
  opacity: 1 !important;
}
@media screen and (min-width: 769px) {
  #taskmenu a.logout:not(:hover) {
    color: #616161 !important;
  }
}
#taskmenu .action-buttons {
  display: none;
}
#taskmenu > a {
  cursor: grab;
}
#taskmenu > a.ui-sortable-helper {
  cursor: grabbing;
}
#taskmenu .taskmenu-sortable-placeholder {
  visibility: hidden;
}
#layout-menu .popover-header {
  background-color: #f5f5f5 !important;
}
html.layout-phone #layout-menu .popover-header img {
  max-height: 3.3rem;
}
.listing.iconized li.listitem.about > a::before {
  content: "\f128";
}
body.task-mail .menu a.compose {
  display: block !important;
}
#message-header .short-header img.contactphoto {
  order: 2;
  margin: 0 0 0 1rem;
}
.content-frame-navigation {
  height: 35px !important;
  line-height: 35px !important;
  min-height: 35px !important;
}
.content-frame-navigation a {
  max-width: 8em;
  padding: 0;
  line-height: 35px;
}
.content-frame-navigation a:before {
  display: none !important;
  height: 35px !important;
  line-height: 35px !important;
}
.content-frame-navigation a.prev,
.content-frame-navigation a.next {
  padding: 0;
}
.content-frame-navigation a.prev:before,
.content-frame-navigation a.next:before {
  display: block !important;
  line-height: 1.8;
}
.content-frame-navigation a.prev span.inner,
.content-frame-navigation a.next span.inner {
  display: none;
}
.content-frame-navigation a span.inner {
  color: #1fa37a;
  font-weight: bold;
}
.taskhead.complete {
  opacity: 1 !important;
}
.taskhead.complete .title,
.taskhead.complete .date {
  color: inherit !important;
  text-decoration: none !important;
  opacity: 0.6 !important;
}
html.dark-mode .taskhead.complete .title,
html.dark-mode .taskhead.complete .date {
  color: #c5d1d3 !important;
  text-decoration: none !important;
  opacity: 0.6 !important;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-1.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-2.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-7.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(../fonts/inter-6.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
body,
input,
select,
textarea,
button,
.propform,
.listing,
.table {
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, Roboto, sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.006em;
}
#taskmenu {
  font-family: "Segoe UI Variable Text", "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, Roboto, sans-serif;
}
#taskmenu span.inner {
  text-transform: none;
  letter-spacing: 0;
}
.header .header-title,
#message-header > .subject,
h1,
h2,
h3 {
  font-weight: 600;
  letter-spacing: -0.018em;
}
pre,
code,
kbd,
samp,
tt,
textarea.plain,
.messagesource,
.fixed-font {
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
  font-feature-settings: normal;
  letter-spacing: 0;
}
.ui.input,
input.form-control,
select.form-control,
textarea.form-control,
.ui.button,
a.button,
button.btn,
input.button,
#messagelist .attachment .attachment-name,
.attachmentslist li,
.popupmenu,
.popover,
.ui-dialog,
.image-attachment .file-size,
.boxinformation,
.boxwarning,
.boxerror,
.boxsuccess {
  border-radius: 4px;
}
.ui-dialog {
  border-radius: 8px;
}
.badge,
.quota-widget,
.countbadge,
span.unreadcount {
  border-radius: 999px;
}
.popupmenu,
.popover {
  border: 1px solid #e0e0e0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.ui-dialog {
  border: 1px solid #e0e0e0;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
.ui.button:focus-visible,
a.button:focus-visible,
button:focus-visible {
  outline: 2px solid #242424;
  outline-offset: 2px;
  box-shadow: none;
}
html.dark-mode input.form-control:focus,
html.dark-mode select.form-control:focus,
html.dark-mode textarea.form-control:focus,
html.dark-mode .ui.button:focus-visible,
html.dark-mode a.button:focus-visible,
html.dark-mode button:focus-visible {
  outline-color: #d4d4d8;
}
html.dark-mode .popupmenu,
html.dark-mode .popover,
html.dark-mode .ui-dialog {
  border-color: #333333;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.5), 0 2px 4px -2px rgba(0, 0, 0, 0.5);
}
/**
 * Mailsuite skin — shadcn/ui component layer.
 *
 * The token map in _variables.less gets the palette right; this file gets the
 * *shapes* right, which is the other half of the look. Six widget families:
 * buttons, forms, list rows, menus/popovers, dialogs, toolbar/taskmenu.
 *
 * Everything here overrides widgets/*.less (upstream Elastic), which is left
 * untouched so the skin stays rebaseable against a Roundcube update.
 *
 * shadcn geometry reference (new-york, --radius: 0.5rem):
 *   rounded-md  = calc(radius - 2px) = .375rem   <- buttons, inputs
 *   rounded-lg  = radius             = .5rem     <- popovers, cards
 *   h-9 = 2.25rem, text-sm = .875rem, font-medium = 500
 */
.btn,
a.btn,
button.btn {
  height: 2.25rem;
  padding: 0 1rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  border-width: 1px;
  border-style: solid;
  border-radius: 0.375rem;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.btn:focus,
a.btn:focus,
button.btn:focus,
.btn.focus,
a.btn.focus,
button.btn.focus {
  box-shadow: none;
}
.btn:disabled,
a.btn:disabled,
button.btn:disabled,
.btn.disabled,
a.btn.disabled,
button.btn.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.btn-primary {
  border-color: transparent;
}
.btn-primary:hover:not(:disabled):not(.disabled) {
  background: #1a8967;
  border-color: transparent;
}
.btn-secondary {
  border-color: transparent;
}
.btn-secondary:hover:not(:disabled):not(.disabled) {
  background: #ebebeb;
  border-color: transparent;
}
.btn-danger {
  border-color: transparent;
}
.btn-danger:hover:not(:disabled):not(.disabled) {
  background: #ac2b42;
  border-color: transparent;
}
.btn-link {
  height: auto;
  padding: 0;
  text-underline-offset: 4px;
}
.btn-link:hover {
  text-decoration: underline;
}
#rcmloginsubmit {
  width: 100%;
  height: 2.25rem;
}
.form-control,
input.form-control,
select.form-control,
textarea.form-control {
  border: 1px solid #d1d1d1;
  border-radius: 0.375rem;
  font-size: 1rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.form-control::placeholder,
input.form-control::placeholder,
select.form-control::placeholder,
textarea.form-control::placeholder {
  color: #616161;
  opacity: 1;
}
.form-control:focus,
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus {
  box-shadow: none;
  border-color: #d1d1d1;
}
input.form-control,
select.form-control {
  height: 2.25rem;
}
textarea.form-control {
  padding: 0.5rem 0.75rem;
  min-height: 2.25rem;
}
.input-group > .form-control:not(:last-child),
.input-group > .input-group-prepend > .input-group-text {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .input-group-append > .input-group-text {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group .input-group-text {
  border: 1px solid #d1d1d1;
  background: #f5f5f5;
  color: #616161;
  font-size: 1rem;
}
.propform label,
label.col-form-label,
.form-group > label {
  font-size: 1rem;
  font-weight: 500;
  color: #242424;
}
.form-text,
.hint {
  font-size: 0.929rem;
  color: #616161;
}
#searchmenulink input,
.searchbar input {
  border-radius: 0.375rem;
  font-size: 1rem;
}
.listing li,
.listing tbody tr {
  border-bottom: 1px solid #e0e0e0;
  transition: background-color 0.12s ease;
}
.listing li:hover,
.listing tbody tr:hover {
  background-color: #f5f5f5;
}
.listing li.selected,
.listing tr.selected,
.listing tr.selected td {
  background-color: #e9f6f2;
  box-shadow: inset 2px 0 0 0 #1fa37a;
}
.listing .date,
.listing .size,
.listing .folder,
.listing .subject .fromto span.adr {
  color: #616161;
  font-size: 0.929rem;
}
table.listing thead th,
.listing .header-title {
  font-size: 0.929rem;
  font-weight: 500;
  color: #616161;
  text-transform: none;
  letter-spacing: 0;
  border-bottom: 1px solid #e0e0e0;
}
#messagelist tr.unread td.subject,
.listing li.unread {
  font-weight: 600;
}
.listing .unreadcount,
span.countbadge,
.badge {
  font-size: 0.857rem;
  font-weight: 500;
  padding: 0.125rem 0.5rem;
  line-height: 1.25rem;
}
#folderlist li > a,
#mailboxlist li > a {
  border-radius: 0;
}
#folderlist li.selected > a,
#mailboxlist li.selected > a {
  background-color: #e9f6f2;
  font-weight: 500;
}
.popover {
  border: 1px solid #e0e0e0;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.popover-body > .popupmenu,
.popupmenu {
  padding: 0.25rem;
}
.popover-body > .popupmenu li > a,
.popupmenu li > a {
  border-radius: 0.375rem;
  font-size: 1rem;
  padding: 0.375rem 0.5rem;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.popover-body > .popupmenu li > a:hover,
.popupmenu li > a:hover,
.popover-body > .popupmenu li > a:focus,
.popupmenu li > a:focus {
  background-color: #f5f5f5;
  color: #242424;
}
.popover-body > .popupmenu li.separator,
.popupmenu li.separator,
.popover-body > .popupmenu li.separator > a,
.popupmenu li.separator > a {
  font-size: 0.857rem;
  font-weight: 500;
  color: #616161;
  background: transparent;
  text-transform: none;
  letter-spacing: 0;
}
.ui-dialog {
  border: 1px solid #e0e0e0;
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.ui-dialog .ui-dialog-titlebar {
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.015em;
  border-bottom: 1px solid #e0e0e0;
  background: transparent;
}
.ui-dialog .ui-dialog-content {
  font-size: 1rem;
}
.ui-dialog .ui-dialog-buttonpane {
  border-top: 1px solid #e0e0e0;
  background: transparent;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}
.ui-widget-overlay {
  backdrop-filter: blur(2px);
}
#layout > div > .header,
.header {
  border-bottom: 1px solid #e0e0e0;
  box-shadow: none;
}
.toolbar a.button,
.toolbar button,
.header a.button {
  border-radius: 0.375rem;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
  font-weight: 500;
}
.toolbar a.button:hover,
.toolbar button:hover,
.header a.button:hover {
  background-color: #f5f5f5;
}
#taskmenu a {
  border-radius: 0.375rem;
  margin: 0.125rem 0.375rem;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
#layout-sidebar,
#layout-list {
  border-right: 1px solid #e0e0e0;
}
#messagestack div {
  border-radius: 0.5rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  font-size: 1rem;
  border: 0;
}
.boxinformation,
.boxwarning,
.boxerror,
.boxsuccess {
  border: 1px solid #e0e0e0;
  border-radius: 0.5rem;
  font-size: 1rem;
  box-shadow: none;
}
html.dark-mode .listing li:hover,
html.dark-mode .listing tbody tr:hover {
  background-color: #18181b;
}
html.dark-mode .listing li.selected,
html.dark-mode .listing tr.selected,
html.dark-mode .listing tr.selected td {
  background-color: #27272a;
  box-shadow: inset 2px 0 0 0 #57ba9b;
}
html.dark-mode .listing .date,
html.dark-mode .listing .size,
html.dark-mode .listing .folder {
  color: #adadad;
}
html.dark-mode table.listing thead th,
html.dark-mode .listing .header-title {
  color: #adadad;
  border-bottom-color: #333333;
}
html.dark-mode .popupmenu li > a:hover,
html.dark-mode .popupmenu li > a:focus {
  background-color: #27272a;
  color: #fafafa;
}
html.dark-mode .popupmenu li.separator,
html.dark-mode .popupmenu li.separator > a {
  color: #adadad;
}
html.dark-mode #folderlist li.selected > a,
html.dark-mode #mailboxlist li.selected > a {
  background-color: #27272a;
}
html.dark-mode .toolbar a.button:hover,
html.dark-mode .toolbar button:hover,
html.dark-mode .header a.button:hover {
  background-color: #27272a;
}
html.dark-mode .form-control,
html.dark-mode input.form-control,
html.dark-mode select.form-control,
html.dark-mode textarea.form-control {
  border-color: #666666;
  box-shadow: none;
}
html.dark-mode .form-control:focus,
html.dark-mode input.form-control:focus,
html.dark-mode select.form-control:focus,
html.dark-mode textarea.form-control:focus {
  border-color: #52525b;
}
html.dark-mode .input-group .input-group-text {
  border-color: #666666;
  background: #292929;
  color: #adadad;
}
html.dark-mode #layout > div > .header,
html.dark-mode .header,
html.dark-mode #layout-sidebar,
html.dark-mode #layout-list {
  border-color: #333333;
}
html.dark-mode .boxinformation,
html.dark-mode .boxwarning,
html.dark-mode .boxerror,
html.dark-mode .boxsuccess {
  border-color: #333333;
}
/**
 * Mailsuite skin — local customizations.
 *
 * IMPORTANT: these rules previously existed ONLY as text appended to the
 * compiled `styles.css` of the microsoft365 skin — they were never in any LESS
 * source. Any rebuild from LESS silently dropped them. They are ported here so
 * that `build.sh` reproduces them, which is the whole point of having a build.
 *
 * Sources: folder-section gradients + ACL self-row (hand-added), taskmenu
 * overrides (originally from the now-obsolete plesk-era apply_taskmenu_hover.sh,
 * retranslated onto shadcn tokens — the old hardcoded slate #596c79 fought the
 * new near-black rail).
 */
.taskhead.complete,
.taskhead.complete .title,
.taskhead.complete .date {
  color: inherit !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
html.dark-mode .taskhead.complete,
html.dark-mode .taskhead.complete .title,
html.dark-mode .taskhead.complete .date {
  color: #c5cfd3 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
.folder-section-header {
  display: flex;
  align-items: center;
  padding: 0.4rem 0.75rem;
  margin: 0;
  background: linear-gradient(135deg, #34666f 0%, #3d5271 100%);
  color: #d0dae0;
  font-size: 0.857rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  cursor: default;
  user-select: none;
  list-style: none;
  line-height: 1.6;
}
.folder-section-header:first-of-type {
  border-top: none;
}
.folder-section-header .section-icon {
  font-family: 'Icons';
  font-weight: 900;
  font-size: 0.85rem;
  margin-right: 0.55rem;
  opacity: 0.8;
  width: 1.2em;
  text-align: center;
}
.folder-section-header .section-label {
  flex: 1;
}
.folder-section-header .section-count {
  background: rgba(255, 255, 255, 0.13);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.857rem;
  font-weight: 600;
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
  min-width: 1.4em;
  text-align: center;
  line-height: 1.4;
}
.folder-section-header[data-section-type="mail"] {
  background: linear-gradient(135deg, #34666f 0%, #34666f 100%);
}
.folder-section-header[data-section-type="event"] {
  background: linear-gradient(135deg, #8e5ea2 0%, #9b6db2 100%);
}
.folder-section-header[data-section-type="task"] {
  background: linear-gradient(135deg, #348a9a 0%, #4ea4b5 100%);
}
.folder-section-header[data-section-type="contact"] {
  background: linear-gradient(135deg, #e8753a 0%, #ee8a55 100%);
}
.folder-section-header[data-section-type="journal"] {
  background: linear-gradient(135deg, #6a758e 0%, #7b869e 100%);
}
.folder-section-header[data-section-type="file"] {
  background: linear-gradient(135deg, #5b8c5a 0%, #6d9e6c 100%);
}
.folder-section-header[data-section-type="note"] {
  background: linear-gradient(135deg, #f0c040 0%, #f2ca55 100%);
  color: #5a4e20;
}
.folder-section-header[data-section-type="note"] .section-count {
  background: rgba(0, 0, 0, 0.1);
  color: rgba(90, 78, 32, 0.7);
}
tr.acl-self {
  background: rgba(31, 163, 122, 0.12) !important;
}
tr.acl-self td.user a {
  font-style: italic;
  color: #1fa37a;
}
html.dark-mode tr.acl-self {
  background: rgba(31, 163, 122, 0.22) !important;
}
html.dark-mode tr.acl-self td.user a {
  color: #84ccb6;
}
#layout-menu {
  background: #f5f5f5 !important;
  border-right: 1px solid #e0e0e0;
}
#layout-menu .popover-header {
  background: #f5f5f5 !important;
  border-bottom: 0;
}
#taskmenu {
  background: #f5f5f5;
}
#taskmenu a {
  position: relative;
  color: #616161 !important;
  background: transparent !important;
}
#taskmenu a:after {
  content: '';
  position: absolute;
  left: -2px;
  top: 50%;
  width: 3px;
  height: 20px;
  margin-top: -10px;
  border-radius: 0 3px 3px 0;
  background: #1fa37a;
  opacity: 0;
  transform: scaleY(0.35);
  transition: opacity 0.12s ease, transform 0.12s ease;
  pointer-events: none;
}
#taskmenu a:hover,
#taskmenu a:focus {
  background: #e0e0e0 !important;
  color: #242424 !important;
}
#taskmenu a.selected {
  background: #e9f6f2 !important;
  color: #1fa37a !important;
}
#taskmenu a.selected:after {
  opacity: 1;
  transform: scaleY(1);
}
#taskmenu a.selected span.inner {
  font-weight: 600;
}
#taskmenu a.selected:hover,
#taskmenu a.selected:focus {
  background: #e9f6f2 !important;
  color: #1a8967 !important;
}
#taskmenu .action-buttons a {
  background: #1fa37a !important;
  color: #fafafa !important;
}
#taskmenu .action-buttons a:hover,
#taskmenu .action-buttons a:focus {
  background: #1fa37a !important;
  color: #fafafa !important;
}
#taskmenu a.logout {
  color: #616161 !important;
}
#taskmenu a.logout:hover,
#taskmenu a.logout:focus {
  background: #e0e0e0 !important;
  color: #c4314b !important;
}
html.dark-mode #layout-menu {
  background: #1f1f1f !important;
  border-right: 1px solid #333333;
}
html.dark-mode #layout-menu .popover-header,
html.dark-mode #layout-menu .special-buttons {
  background: #1f1f1f !important;
}
html.dark-mode #layout-menu .special-buttons a:not(:focus) {
  background: transparent;
}
html.dark-mode #taskmenu {
  background: #1f1f1f;
}
html.dark-mode #taskmenu a {
  color: #d6d6d6 !important;
  background: transparent !important;
}
html.dark-mode #taskmenu a:after {
  background: #6dc3a9;
}
html.dark-mode #taskmenu a:hover,
html.dark-mode #taskmenu a:focus {
  background: #383838 !important;
  color: #ffffff !important;
}
html.dark-mode #taskmenu a.selected {
  background: #27483d !important;
  color: #6dc3a9 !important;
}
html.dark-mode #taskmenu a.selected:hover,
html.dark-mode #taskmenu a.selected:focus {
  background: #27483d !important;
  color: #6dc3a9 !important;
}
html.dark-mode #taskmenu a.logout {
  color: #d6d6d6 !important;
}
html.dark-mode #taskmenu a.logout:hover,
html.dark-mode #taskmenu a.logout:focus {
  background: #383838 !important;
  color: #c4314b !important;
}
html.dark-mode #layout-menu #logo {
  opacity: 1;
}
@media screen and (min-width: 481px) {
  #layout-menu {
    width: 64px;
  }
  #layout-menu .popover-header img {
    width: 64px;
    max-width: 64px;
  }
  #taskmenu a {
    width: 60px;
    height: 52px;
    margin: 0 auto 2px;
    padding: 0.3rem 0 0;
    border-radius: 6px;
    text-align: center;
    overflow: visible;
  }
  #taskmenu a:before {
    display: block;
    float: none;
    width: auto;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 19px !important;
    margin: 0;
  }
  #taskmenu span.inner {
    display: block;
    font-size: 10px;
    line-height: 12px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 2px;
  }
  #taskmenu .special-buttons {
    width: 64px;
  }
}
html.dark-mode .propform label,
html.dark-mode label.col-form-label,
html.dark-mode .form-group > label,
html.dark-mode fieldset > legend,
html.dark-mode #taskeditform label {
  color: #fafafa;
}
html.layout-phone #layout-menu {
  display: flex;
  flex-direction: column;
  background: #f5f5f5 !important;
  border-right: 0;
}
html.layout-phone #layout-menu .popover-header {
  order: 0;
  margin-top: 0;
  flex: 0 0 auto;
  background-color: #f5f5f5 !important;
  border-top: 0;
  border-bottom: 1px solid #e0e0e0;
}
html.layout-phone #layout-menu #taskmenu {
  order: 1;
  flex: 1 1 auto;
  justify-content: flex-start;
  overflow-y: auto;
  background: #f5f5f5;
}
html.layout-phone #layout-menu #taskmenu a {
  color: #616161 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  background: transparent;
  width: auto;
  margin: 0;
  border-radius: 0;
}
html.layout-phone #layout-menu #taskmenu a:hover,
html.layout-phone #layout-menu #taskmenu a:focus {
  background: #e0e0e0 !important;
  color: #242424 !important;
}
html.layout-phone #layout-menu #taskmenu a.selected {
  background: #e9f6f2 !important;
  color: #1fa37a !important;
}
html.layout-phone #layout-menu #taskmenu a:after {
  left: 0;
  height: 24px;
  margin-top: -12px;
}
html.layout-phone #layout-menu #taskmenu a:before {
  display: inline-block !important;
  float: left !important;
  width: 1.2em !important;
  margin-right: 0.5rem !important;
}
html.layout-phone #layout-menu #taskmenu span.inner {
  display: inline !important;
  font-size: 100%;
}
html.layout-phone #layout-menu #taskmenu .special-buttons {
  position: static;
  display: block;
  width: auto;
  background-color: transparent;
}
html.layout-phone #layout-menu #taskmenu a.logout {
  color: #616161 !important;
}
html.layout-phone #layout-menu #taskmenu a.logout:hover {
  color: #c4314b !important;
}
html.layout-phone {
  font-size: 14px;
}
html.layout-phone .ui.alert .boxbuttons .btn {
  max-width: 120px;
}
html.layout-phone #layout-menu #taskmenu {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
html.layout-phone #layout-menu #taskmenu > a,
html.layout-phone #layout-menu #taskmenu > .special-buttons {
  flex: 0 0 auto;
}
html.layout-phone #layout-menu #taskmenu .special-buttons {
  margin-top: auto;
}
.ui-dialog.file-preview-dialog {
  display: flex;
  flex-direction: column;
}
.ui-dialog.file-preview-dialog .ui-dialog-buttonpane {
  order: -1;
  flex: 0 0 auto;
  border-top: 0;
  border-bottom: 1px solid #e0e0e0;
}
.ui-dialog.file-preview-dialog .ui-dialog-content {
  flex: 1 1 auto;
}
a.button.mail-select-button {
  display: none;
}
@media screen and (max-width: 768px) {
  a.button.mail-select-button {
    display: block;
  }
}
#layout-list > .mail-selection-bar {
  display: none;
}
#layout-list.selection-mode > .mail-selection-bar {
  display: flex;
}
#layout-list.selection-mode > .header {
  display: none;
}
#layout-list.selection-mode .floating-action-buttons {
  display: none;
}
.mail-selection-bar {
  flex: 0 0 auto;
  align-items: center;
  height: 3.5rem;
  min-height: 3.5rem;
  padding: 0 0.25rem;
  overflow: hidden;
  white-space: nowrap;
  color: #242424;
  background-color: #ffffff;
  border-bottom: 1px solid #e0e0e0;
}
.mail-selection-bar .count {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 0.5rem;
  font-size: 1.05rem;
  font-weight: bold;
}
.mail-selection-bar a.button {
  flex: 0 0 auto;
  color: #242424;
  margin: 0 0.1rem;
  padding: 0 0.35rem;
  line-height: 3.5rem;
}
.mail-selection-bar a.button:before {
  font-size: 1.85rem;
  width: 1.5em;
  height: 3.5rem;
  margin: 0;
}
.mail-selection-bar a.button > span.inner {
  display: none;
}
.mail-selection-bar a.button.disabled {
  opacity: 0.35;
}
.mail-selection-bar a.button.read:before {
  content: "\f2b6";
  font-weight: 400;
}
.mail-selection-bar a.button.move:before {
  content: "\f07c";
}
.mail-selection-bar a.button.delete:not(.disabled) {
  color: #c4314b;
}
html.dark-mode .mail-selection-bar {
  color: unset;
  background-color: transparent;
  border-color: #333333;
}
html.dark-mode .mail-selection-bar a.button {
  color: #ffffff;
}
html.dark-mode .mail-selection-bar a.button.delete:not(.disabled) {
  color: #c4314b;
}
@media (pointer: coarse) {
  .messagelist tbody tr {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    touch-action: pan-y pinch-zoom;
  }
}
html.touch .messagelist.withselection td.selection {
  width: 3em;
  padding-left: 0.75em;
}
html.touch .messagelist.withselection td.selection > input {
  width: 1.25rem;
  height: 1.25rem;
}
.mail-swipe {
  display: none;
  position: absolute;
  z-index: 0;
  align-items: center;
  overflow: hidden;
  color: #fff;
}
.mail-swipe.active {
  display: flex;
}
.mail-swipe.right {
  justify-content: flex-start;
  background-color: #1fa37a;
}
.mail-swipe.left {
  justify-content: flex-end;
  background-color: #c4314b;
}
.mail-swipe .action {
  display: none;
  align-items: center;
  padding: 0 1.15rem;
  font-weight: bold;
  white-space: nowrap;
  opacity: 0.8;
  transform: scale(0.85);
  transition: opacity 0.1s ease-out, transform 0.1s ease-out;
}
.mail-swipe .action:before {
  font-size: 1.25em;
  display: block;
  float: left;
  margin: 0 0.25rem 0 0;
  width: 1.18em;
  height: 1em;
  font-family: 'Icons';
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  text-align: center;
  speak: none;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  float: none;
  width: auto;
  height: auto;
  font-size: 1.4rem;
  line-height: 1;
  margin: 0 0.5rem 0 0;
}
.mail-swipe.right .action.reply,
.mail-swipe.left .action.delete {
  display: flex;
}
.mail-swipe .action.reply:before {
  content: "\f122";
  font-weight: 900;
}
.mail-swipe .action.delete:before {
  content: "\f2ed";
  font-weight: 400;
}
.mail-swipe.armed .action {
  opacity: 1;
  transform: scale(1);
}
.messagelist tbody tr.swipe-active,
.messagelist tbody tr.swipe-settling {
  position: relative;
  z-index: 1;
  background-color: #ffffff;
}
.messagelist tbody tr.swipe-settling {
  transition: transform 180ms ease-out;
}
html.dark-mode .messagelist tbody tr.swipe-active,
html.dark-mode .messagelist tbody tr.swipe-settling {
  background-color: #1f1f1f;
}
.menu a.emptytotrash:before {
  content: "\f2ed";
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  html.touch #layout > div > .header a.button {
    min-width: 44px;
  }
  html.touch #layout > div > .header a.button:before {
    width: 44px;
    margin: 0;
  }
}
html.touch .menu.toolbar a {
  min-width: 44px;
}
html.touch .popover .listing li:not(.separator) > a {
  min-height: 44px;
  line-height: 44px;
}
html.touch .menu .buttons button {
  min-width: 44px;
}
html.touch .searchbar {
  height: 44px;
  min-height: 44px;
  line-height: 44px;
}
html.touch .searchbar form:before {
  height: 44px;
}
html.touch .searchbar a {
  min-width: 44px;
}
html.touch .searchbar a:before {
  width: 44px;
  height: 44px;
  margin: 0;
}
html.touch .btn:not(.btn-link):not(.btn-xs),
html.touch a.btn:not(.btn-link):not(.btn-xs),
html.touch button.btn:not(.btn-link):not(.btn-xs) {
  min-height: 44px;
}
html.touch #rcmloginsubmit {
  height: 44px;
}
html.touch input.form-control,
html.touch select.form-control,
html.touch select.custom-select,
html.touch .input-group > .form-control,
html.touch .input-group-text {
  min-height: 44px;
}
html.touch textarea.form-control {
  min-height: 44px;
}
html.touch input[type=checkbox]:not(.custom-control-input),
html.touch input[type=radio]:not(.custom-control-input) {
  min-width: 20px;
  min-height: 20px;
}
html.layout-phone .ui-dialog .ui-dialog-buttonpane {
  height: 48px !important;
}
html.layout-phone .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button,
html.layout-phone .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
  height: 48px;
  min-height: 48px;
  min-width: 44px;
}
html.layout-phone .floating-action-buttons a.button {
  width: 56px;
  height: 56px;
}
html.layout-phone .floating-action-buttons a.button:before {
  width: 56px;
  height: 56px;
  line-height: 56px;
}
html.layout-phone .mail-selection-bar {
  height: 56px;
  min-height: 56px;
}
html.layout-phone .mail-selection-bar a.button {
  min-width: 44px;
  line-height: 56px;
}
html.layout-phone .mail-selection-bar a.button:before {
  height: 56px;
}
.header > .searchbar {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  height: auto;
  width: 0;
  min-width: 0;
  padding: 0;
  border-bottom: 0;
  border-radius: 0;
  overflow: hidden;
  visibility: hidden;
  z-index: 3;
  background-color: #ffffff;
  transition: width 0.18s ease, visibility 0s linear 0.18s;
}
.header > .searchbar > form {
  min-width: 0;
}
.header.search-open > .searchbar {
  width: 100%;
  visibility: visible;
  transition: width 0.18s ease, visibility 0s linear 0s;
}
.searchbar a.button.searchbar-close {
  flex: 0 0 auto;
}
.searchbar a.button.searchbar-close:before {
  font-size: 1.25em;
  display: block;
  float: left;
  margin: 0 0.25rem 0 0;
  width: 1.18em;
  height: 1em;
  font-family: 'Icons';
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  text-align: center;
  speak: none;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  content: "\f053";
  margin: 0 0 0 0.25rem;
}
.searchbar a.button.searchbar-close > span.inner {
  display: none;
}
html.touch .searchbar a.button.searchbar-close:before {
  width: 44px;
  height: 44px;
}
@media screen and (max-width: 768px) {
  .header > .searchbar {
    background-color: #ffffff;
  }
}
html.dark-mode .header > .searchbar {
  background-color: #1f1f1f;
}
@media (prefers-reduced-motion: reduce) {
  .header > .searchbar {
    transition: none;
  }
}
/**
 * Mailsuite skin — Microsoft Teams (Fluent 2) layer.
 *
 * `_variables.less` carries the Fluent token values; this file applies Fluent's
 * *shapes and structure* on top of Elastic. It is imported after `shadcn.less`
 * and `custom.less` (see `_styles.less`), so at equal specificity it wins on
 * order and the earlier layers act as the fallback.
 *
 * What actually makes a UI read as Teams, in order of impact:
 *
 *   1. A canvas with floating panes. Teams is not a set of bordered columns —
 *      it is rounded white cards separated by gutters, sitting on a grey
 *      backdrop that the app bar shares. Section 1.
 *   2. Elevation instead of dividers. Fluent surfaces carry a two-part shadow;
 *      the 1px rules Elastic draws between everything are removed.
 *   3. Squarer geometry. Controls are 4px, surfaces 8px — never the pill or
 *      the 12px card of other systems.
 *   4. Subtle-by-default controls. Toolbar and header buttons are transparent
 *      until hovered, and hover is a neutral wash, not a brand colour.
 *   5. The brand appears only on the active thing: selection, primary buttons,
 *      the rail indicator, links.
 *
 * Phones and iframes are deliberately excluded from the structural rules —
 * a card inside a card is not the Teams look, it is a mistake. See the gating
 * comments in section 1.
 */
html:not(.iframe) body {
  background-color: #f5f5f5;
}
@media screen and (min-width: 769px) {
  html:not(.iframe) #layout {
    background-color: #f5f5f5;
    padding-right: 8px;
  }
  html:not(.iframe) #layout-sidebar,
  html:not(.iframe) #layout-list,
  html:not(.iframe) #layout-content {
    margin: 8px 0 8px 8px;
    border: 0;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
    overflow: hidden;
  }
  html:not(.iframe) #layout-sidebar,
  html:not(.iframe) #layout-sidebar.sidebar-right,
  html:not(.iframe) #layout-list {
    border-right: 0;
    border-left: 0;
  }
  html:not(.iframe) #layout > div > .header,
  html:not(.iframe) #layout > div > .footer {
    border: 0;
    background-color: #ffffff;
  }
  html:not(.iframe) #layout > div > .header .header-title {
    text-align: left;
    margin: 0 0.5rem;
    font-size: 1.143rem;
    font-weight: 600;
    letter-spacing: 0;
  }
}
html.iframe body {
  background-color: #ffffff;
}
html.iframe.dark-mode body {
  background-color: #292929;
}
body,
.propform,
.listing,
.table,
.header .header-title,
h1,
h2,
h3 {
  letter-spacing: 0;
}
h1,
h2,
h3,
.header .header-title,
#message-header > .subject {
  font-weight: 600;
}
.toolbar a.button,
.toolbar button,
.header a.button,
.menu.toolbar a.button {
  border-radius: 4px;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
  font-weight: 400;
  color: #242424;
}
.toolbar a.button:hover:not(.disabled),
.toolbar button:hover:not(.disabled),
.header a.button:hover:not(.disabled),
.menu.toolbar a.button:hover:not(.disabled) {
  background-color: #f5f5f5;
  color: #242424;
}
.toolbar a.button:active:not(.disabled),
.toolbar button:active:not(.disabled),
.header a.button:active:not(.disabled),
.menu.toolbar a.button:active:not(.disabled) {
  background-color: #e0e0e0;
}
.toolbar a.button.disabled,
.toolbar button.disabled,
.header a.button.disabled,
.menu.toolbar a.button.disabled {
  color: #bdbdbd;
}
.toolbar a.button.create,
.toolbar a.button.compose,
a.button.btn-primary {
  color: #1fa37a;
}
.searchbar {
  background-color: transparent;
  border-bottom: 0;
  padding: 0 8px 4px;
  height: auto;
  min-height: unset;
  align-items: center;
}
.searchbar form {
  height: 36px;
  background-color: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 4px;
  align-items: center;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
}
.searchbar form:hover {
  background-color: #e0e0e0;
}
.searchbar form:focus-within {
  background-color: #ffffff;
  border-color: #d1d1d1;
  box-shadow: inset 0 -2px 0 0 #1fa37a;
}
.searchbar form:before {
  color: #616161;
  margin-left: 0.625rem;
}
.searchbar input {
  font-size: 1rem;
}
.searchbar input::placeholder {
  color: #616161;
  opacity: 1;
}
.searchbar a {
  color: #616161;
  border-radius: 4px;
}
.searchbar a:hover {
  color: #242424;
}
.header > .searchbar {
  background-color: #ffffff;
  padding: 0 8px;
}
html.dark-mode .header > .searchbar {
  background-color: #1f1f1f;
}
@media screen and (min-width: 769px) {
  html.dark-mode .header > .searchbar {
    background-color: #292929;
  }
}
.btn,
a.btn,
button.btn {
  height: 32px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 1rem;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
  box-shadow: none;
}
.btn-primary {
  background-color: #1fa37a;
  border-color: #1fa37a;
  color: #fff;
}
.btn-primary:hover:not(:disabled):not(.disabled) {
  background-color: #1a8967;
  border-color: #1a8967;
}
.btn-primary:active:not(:disabled):not(.disabled) {
  background-color: #157054;
  border-color: #157054;
}
.btn-secondary {
  background-color: #ffffff;
  border: 1px solid #d1d1d1;
  color: #242424;
}
.btn-secondary:hover:not(:disabled):not(.disabled) {
  background-color: #f5f5f5;
  border-color: #d1d1d1;
  color: #242424;
}
.btn-secondary:active:not(:disabled):not(.disabled) {
  background-color: #e0e0e0;
}
.btn-danger {
  background-color: #c4314b;
  border-color: #c4314b;
}
.btn-danger:hover:not(:disabled):not(.disabled) {
  background-color: #ac2b42;
  border-color: #ac2b42;
}
.btn-link {
  color: #1a8967;
}
.form-control,
input.form-control,
select.form-control,
textarea.form-control {
  border: 1px solid #d1d1d1;
  border-bottom-color: #616161;
  border-radius: 4px;
  box-shadow: none;
  background-color: #ffffff;
  color: #242424;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
}
.form-control:hover:not(:disabled),
input.form-control:hover:not(:disabled),
select.form-control:hover:not(:disabled),
textarea.form-control:hover:not(:disabled) {
  border-color: #616161;
}
.form-control:focus,
input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus {
  border-color: #d1d1d1;
  box-shadow: inset 0 -2px 0 0 #1fa37a;
  outline: 0;
}
input.form-control,
select.form-control {
  height: 32px;
}
.input-group .input-group-text {
  border-color: #d1d1d1;
  background-color: #f5f5f5;
  color: #616161;
}
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: #1fa37a;
  border-color: #1fa37a;
}
.custom-checkbox .custom-control-label::before {
  border-radius: 2px;
}
a:focus-visible,
.btn:focus-visible,
.listing li > a:focus-visible,
input:focus-visible,
select:focus-visible {
  outline: 2px solid #242424;
  outline-offset: 1px;
}
body.task-login #layout-content {
  background-color: transparent;
  box-shadow: none;
  border-radius: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 24px 16px;
  text-align: initial;
}
body.task-login #login-box {
  width: 100%;
  max-width: 400px;
  margin: auto;
}
body.task-login #layout-content #logo {
  display: block;
  position: static;
  top: auto;
  width: auto;
  height: auto;
  max-height: 56px;
  max-width: 220px;
  margin: 0 auto 24px;
}
body.task-login #login-form {
  position: static;
  top: auto;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 32px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
  text-align: left;
}
body.task-login #login-form table,
body.task-login #login-form tbody,
body.task-login #login-form tr,
body.task-login #login-form td {
  display: block;
  width: 100%;
}
body.task-login #login-form tr.row {
  margin: 0 0 16px;
}
body.task-login #login-form tr.row:last-of-type {
  margin-bottom: 0;
}
body.task-login #login-form input.form-control,
body.task-login #login-form select.custom-select {
  width: 100%;
  height: 40px;
  font-size: 1rem;
}
body.task-login #login-title {
  font-size: 1.429rem;
  font-weight: 600;
  line-height: 1.25;
  color: #242424;
}
body.task-login #login-subtitle {
  margin: 6px 0 24px;
  font-size: 0.929rem;
  line-height: 1.4;
  color: #616161;
}
body.task-login .formbuttons {
  margin: 24px 0 0;
}
body.task-login .formbuttons + .oauthlogin {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e0e0e0;
}
body.task-login #login-footer {
  flex: none;
  margin: 20px 0 0;
  text-align: center;
  font-size: 0.857rem;
  color: #616161;
}
body.task-login #login-footer > div {
  margin-top: 0.5rem;
  padding: 0;
  background: none;
}
body.task-login #login-footer a {
  color: #616161;
  text-decoration: underline;
  text-underline-offset: 2px;
}
html.dark-mode body.task-login {
  background-color: #1f1f1f;
}
html.dark-mode body.task-login #layout-content {
  background-color: transparent;
}
html.dark-mode body.task-login #login-form {
  background-color: #292929;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4), 0 0 2px rgba(0, 0, 0, 0.24);
}
html.dark-mode body.task-login #login-title {
  color: #ffffff;
}
html.dark-mode body.task-login #login-subtitle,
html.dark-mode body.task-login #login-footer,
html.dark-mode body.task-login #login-footer a {
  color: #adadad;
}
#rcmloginsubmit,
.btn,
button.button {
  text-transform: none;
  letter-spacing: 0;
}
#rcmloginsubmit {
  height: 40px;
  font-size: 1rem;
}
.listing li {
  border-bottom: 0;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
}
.listing tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
}
.listing li:hover,
.listing tbody tr:hover {
  background-color: #f5f5f5;
}
.listing li.selected,
.listing tr.selected,
.listing tr.selected td {
  background-color: #e9f6f2;
  color: #242424;
}
.listing tr.selected td {
  box-shadow: none;
}
.listing li.selected,
.listing tr.selected td:first-child {
  box-shadow: inset 3px 0 0 0 #1fa37a;
}
.listing .date,
.listing .size,
.listing .folder,
.listing .subject .fromto span.adr {
  color: #616161;
}
table.listing thead th,
.listing .header-title {
  font-size: 0.857rem;
  font-weight: 600;
  color: #616161;
  border-bottom: 1px solid #f0f0f0;
}
#folderlist li > a,
#mailboxlist li > a,
#calendarslist li > a,
#tasklistslist li > a,
#notebookslist li > a,
#directorylist li > a,
#settings-menu li > a,
.listing.iconized li > a {
  border-radius: 4px;
}
#folderlist > li,
#mailboxlist > li,
#calendarslist > li,
#tasklistslist > li,
#notebookslist > li,
#directorylist > li,
#settings-menu > li,
.listing.iconized > li {
  margin: 1px 4px;
}
#folderlist li.selected > a,
#mailboxlist li.selected > a,
#calendarslist li.selected > a,
#tasklistslist li.selected > a,
#notebookslist li.selected > a,
#directorylist li.selected > a,
#settings-menu li.selected > a,
.listing.iconized li.selected > a,
#folderlist li.selected > div > a,
#mailboxlist li.selected > div > a,
#calendarslist li.selected > div > a,
#tasklistslist li.selected > div > a,
#notebookslist li.selected > div > a,
#directorylist li.selected > div > a,
#settings-menu li.selected > div > a,
.listing.iconized li.selected > div > a,
#folderlist li.selected,
#mailboxlist li.selected,
#calendarslist li.selected,
#tasklistslist li.selected,
#notebookslist li.selected,
#directorylist li.selected,
#settings-menu li.selected,
.listing.iconized li.selected {
  background-color: #e9f6f2;
  color: #242424;
  font-weight: 600;
  border-radius: 4px;
}
#folderlist.treelist li.selected,
#mailboxlist.treelist li.selected,
#calendarslist.treelist li.selected,
#tasklistslist.treelist li.selected,
#notebookslist.treelist li.selected,
#directorylist.treelist li.selected,
#settings-menu.treelist li.selected,
.listing.iconized.treelist li.selected {
  background-color: transparent;
  box-shadow: none;
}
#folderlist li.selected > a,
#mailboxlist li.selected > a {
  position: relative;
}
#folderlist li.selected > a::after,
#mailboxlist li.selected > a::after {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  width: 3px;
  height: 1rem;
  margin-top: -0.5rem;
  border-radius: 999px;
  background-color: #1fa37a;
}
.listing .unreadcount,
span.countbadge,
.badge {
  background-color: #1fa37a;
  color: #fff;
  border-radius: 999px;
  font-size: 0.857rem;
  font-weight: 600;
  padding: 0 6px;
}
.popover {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
}
.popover .popupmenu {
  border: 0;
  box-shadow: none;
  border-radius: 0;
}
.popover-body > .popupmenu,
.popupmenu {
  padding: 4px;
}
.popover-body > .popupmenu li > a,
.popupmenu li > a {
  border-radius: 4px;
  padding: 0.375rem 0.5rem;
  color: #242424;
}
.popover-body > .popupmenu li > a:hover,
.popupmenu li > a:hover,
.popover-body > .popupmenu li > a:focus,
.popupmenu li > a:focus {
  background-color: #f5f5f5;
  color: #242424;
}
.popover-body > .popupmenu li.separator > a,
.popupmenu li.separator > a,
.popover-body > .popupmenu li.separator,
.popupmenu li.separator {
  color: #616161;
  font-size: 0.857rem;
  font-weight: 600;
}
.ui-dialog {
  border: 0;
  border-radius: 8px;
  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.24), 0 0 8px rgba(0, 0, 0, 0.2);
}
.ui-dialog .ui-dialog-titlebar {
  border-bottom: 0;
  background: transparent;
  font-size: 1.429rem;
  font-weight: 600;
  letter-spacing: 0;
  padding-top: 0.75rem;
}
.ui-dialog .ui-dialog-buttonpane {
  border-top: 0;
  background: transparent;
}
.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: none;
}
#messagestack div {
  border-radius: 4px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
  font-size: 1rem;
  background-color: #ffffff;
  color: #242424;
  border-left: 4px solid #616161;
  margin-bottom: 8px;
  padding: 10px 12px;
  opacity: 1;
}
#messagestack div.confirmation {
  border-left-color: #13a10e;
}
#messagestack div.error {
  border-left-color: #c4314b;
}
#messagestack div.warning {
  border-left-color: #eaa300;
}
#messagestack div.information {
  border-left-color: #1fa37a;
}
#messagestack div.loading {
  border-left-color: #616161;
}
.boxinformation,
.boxwarning,
.boxerror,
.boxsuccess,
.ui.alert {
  border: 0;
  border-left: 4px solid #616161;
  border-radius: 4px;
  box-shadow: none;
  background-color: #f5f5f5;
  color: #242424;
}
.boxinformation {
  border-left-color: #1fa37a;
}
.boxsuccess {
  border-left-color: #13a10e;
}
.boxwarning {
  border-left-color: #eaa300;
}
.boxerror {
  border-left-color: #c4314b;
}
.btn:disabled,
.btn.disabled {
  background-color: #f0f0f0;
  border-color: transparent;
  color: #bdbdbd;
  opacity: 1;
}
html.dark-mode:not(.iframe) body,
html.dark-mode:not(.iframe) #layout {
  background-color: #1f1f1f;
}
@media screen and (min-width: 769px) {
  html.dark-mode:not(.iframe) #layout-sidebar,
  html.dark-mode:not(.iframe) #layout-list,
  html.dark-mode:not(.iframe) #layout-content {
    background-color: #292929;
    border: 0;
    box-shadow: none;
  }
  html.dark-mode:not(.iframe) #layout > div > .header,
  html.dark-mode:not(.iframe) #layout > div > .footer {
    background-color: #292929;
    border: 0;
  }
}
html.dark-mode .searchbar form {
  background-color: #383838;
}
html.dark-mode .searchbar form:hover {
  background-color: #424242;
}
html.dark-mode .searchbar form:focus-within {
  background-color: #292929;
  border-color: #666666;
  box-shadow: inset 0 -2px 0 0 #6dc3a9;
}
html.dark-mode .toolbar a.button,
html.dark-mode .header a.button {
  color: #ffffff;
}
html.dark-mode .toolbar a.button:hover:not(.disabled),
html.dark-mode .header a.button:hover:not(.disabled) {
  background-color: #383838;
}
html.dark-mode .listing li:hover,
html.dark-mode .listing tbody tr:hover {
  background-color: #383838;
}
html.dark-mode .listing li.selected,
html.dark-mode .listing tr.selected,
html.dark-mode .listing tr.selected td {
  background-color: #27483d;
  color: #ffffff;
}
html.dark-mode .listing tr.selected td {
  box-shadow: none;
}
html.dark-mode .listing li.selected,
html.dark-mode .listing tr.selected td:first-child {
  box-shadow: inset 3px 0 0 0 #6dc3a9;
}
html.dark-mode .listing tbody tr {
  border-bottom-color: #333333;
}
html.dark-mode #folderlist li.selected > a,
html.dark-mode #mailboxlist li.selected > a,
html.dark-mode #calendarslist li.selected > a,
html.dark-mode #tasklistslist li.selected > a,
html.dark-mode #notebookslist li.selected > a,
html.dark-mode #directorylist li.selected > a,
html.dark-mode #settings-menu li.selected > a,
html.dark-mode .listing.iconized li.selected > a,
html.dark-mode #folderlist li.selected > div > a,
html.dark-mode #mailboxlist li.selected > div > a,
html.dark-mode #calendarslist li.selected > div > a,
html.dark-mode #tasklistslist li.selected > div > a,
html.dark-mode #notebookslist li.selected > div > a,
html.dark-mode #directorylist li.selected > div > a,
html.dark-mode #settings-menu li.selected > div > a,
html.dark-mode .listing.iconized li.selected > div > a,
html.dark-mode #folderlist li.selected,
html.dark-mode #mailboxlist li.selected,
html.dark-mode #calendarslist li.selected,
html.dark-mode #tasklistslist li.selected,
html.dark-mode #notebookslist li.selected,
html.dark-mode #directorylist li.selected,
html.dark-mode #settings-menu li.selected,
html.dark-mode .listing.iconized li.selected {
  background-color: #27483d;
  color: #ffffff;
}
html.dark-mode #folderlist.treelist li.selected,
html.dark-mode #mailboxlist.treelist li.selected,
html.dark-mode #calendarslist.treelist li.selected,
html.dark-mode #tasklistslist.treelist li.selected,
html.dark-mode #notebookslist.treelist li.selected,
html.dark-mode #directorylist.treelist li.selected,
html.dark-mode #settings-menu.treelist li.selected,
html.dark-mode .listing.iconized.treelist li.selected {
  background-color: transparent;
  box-shadow: none;
}
html.dark-mode #folderlist li.selected > a::after,
html.dark-mode #mailboxlist li.selected > a::after {
  background-color: #6dc3a9;
}
html.dark-mode .popover {
  border-color: #333333;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4), 0 0 2px rgba(0, 0, 0, 0.24);
}
html.dark-mode .popupmenu li > a {
  color: #ffffff;
}
html.dark-mode .popupmenu li > a:hover,
html.dark-mode .popupmenu li > a:focus {
  background-color: #383838;
  color: #ffffff;
}
html.dark-mode .ui-dialog {
  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.48), 0 0 8px rgba(0, 0, 0, 0.32);
}
html.dark-mode #messagestack div {
  background-color: #292929;
  color: #ffffff;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4), 0 0 2px rgba(0, 0, 0, 0.24);
}
html.dark-mode .boxinformation,
html.dark-mode .boxwarning,
html.dark-mode .boxerror,
html.dark-mode .boxsuccess,
html.dark-mode .ui.alert {
  background-color: #383838;
  color: #ffffff;
}
html.dark-mode .btn:disabled,
html.dark-mode .btn.disabled {
  background-color: #383838;
  color: #adadad;
}
html.dark-mode .btn-secondary {
  background-color: #292929;
  border-color: #666666;
  color: #ffffff;
}
html.dark-mode .btn-secondary:hover:not(:disabled):not(.disabled) {
  background-color: #383838;
}
html.dark-mode .form-control {
  background-color: #292929;
  border-color: #666666;
  border-bottom-color: #adadad;
  color: #ffffff;
}
html.dark-mode .form-control:focus {
  box-shadow: inset 0 -2px 0 0 #6dc3a9;
}
html.dark-mode a:focus-visible,
html.dark-mode .btn:focus-visible,
html.dark-mode input:focus-visible {
  outline-color: #fff;
}
.folder-section-header {
  background: transparent;
  color: #616161;
  border-top: 0;
  border-bottom: 0;
  font-size: 0.857rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  padding: 0.75rem 0.75rem 0.25rem;
}
html.dark-mode .folder-section-header {
  background: transparent;
  color: #adadad;
}
@media screen and (max-width: 768px) {
  #layout > div > .header {
    background-color: #ffffff;
    border-bottom: 1px solid #e0e0e0;
  }
  #layout > div > .header .header-title {
    text-align: left;
    margin: 0 0.25rem;
    font-size: 1.143rem;
    font-weight: 600;
    letter-spacing: 0;
  }
  #layout > div > .header a.button:active:not(.disabled),
  .content-frame-navigation a.button:active:not(.disabled),
  .menu.toolbar a:active:not(.disabled) {
    background-color: #e0e0e0;
  }
  #layout > div > .footer {
    background-color: #ffffff;
    border-top: 1px solid #e0e0e0;
  }
  .content-frame-navigation a.button {
    border-radius: 4px;
    color: #424242;
    transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
  }
  .content-frame-navigation a.button.disabled {
    color: #bdbdbd;
  }
  .content-frame-navigation a.button.primary {
    color: #1fa37a;
    font-weight: 600;
  }
  .floating-action-buttons a.button {
    border-radius: 12px;
    background: #1fa37a;
    opacity: 1;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
    transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
  }
  .floating-action-buttons a.button:active {
    background: #157054;
  }
  .mail-selection-bar {
    background-color: #ffffff;
    border-bottom: 1px solid #e0e0e0;
  }
  .mail-selection-bar .count {
    font-size: 1.143rem;
    font-weight: 600;
  }
  .mail-selection-bar a.button {
    border-radius: 4px;
    transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
  }
  .mail-selection-bar a.button:active:not(.disabled) {
    background-color: #e0e0e0;
  }
  #folderlist > li,
  #mailboxlist > li,
  #calendarslist > li,
  #tasklistslist > li,
  #notebookslist > li,
  #directorylist > li,
  #settings-menu > li,
  .listing.iconized > li {
    margin: 2px 6px;
  }
}
@media screen and (max-width: 480px) {
  .ui-dialog {
    border-radius: 0;
    box-shadow: none;
  }
  .ui-dialog .ui-dialog-titlebar {
    background-color: #ffffff;
    border-bottom: 1px solid #e0e0e0;
    font-size: 1.143rem;
    padding-top: 0;
  }
  .ui-dialog .ui-dialog-buttonpane {
    border-top: 1px solid #e0e0e0;
  }
}
html.layout-phone #layout-menu {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
}
html.layout-phone #layout-menu .popover-header {
  border-bottom: 0;
}
html.layout-phone #layout-menu #taskmenu a {
  border-bottom: 0 !important;
  border-radius: 4px;
  margin: 1px 6px;
  width: auto;
  transition: background-color 0.1s cubic-bezier(0.33, 0, 0.67, 1), color 0.1s cubic-bezier(0.33, 0, 0.67, 1), border-color 0.1s cubic-bezier(0.33, 0, 0.67, 1);
}
html.layout-phone #layout-menu #taskmenu a.selected {
  font-weight: 600;
}
html.layout-phone #layout-menu #taskmenu a:after {
  left: 0;
}
html.layout-phone .popover:not(.select-menu):not(#layout-menu) {
  top: auto !important;
  bottom: 0;
  left: 0 !important;
  right: 0;
  width: auto;
  max-width: none;
  max-height: 72vh;
  border-radius: 8px 8px 0 0;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.14), 0 0 2px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
@supports (max-height: 72dvh) {
  html.layout-phone .popover:not(.select-menu):not(#layout-menu) {
    max-height: 72dvh;
  }
}
html.layout-phone .popover:not(.select-menu):not(#layout-menu) .popover-header {
  position: relative;
  height: 44px;
  min-height: 44px;
  line-height: 44px;
  background-color: #ffffff;
  color: #424242;
  border-bottom: 0;
  font-size: 1rem;
  font-weight: 400;
}
html.layout-phone .popover:not(.select-menu):not(#layout-menu) .popover-header:after {
  content: '';
  position: absolute;
  top: 6px;
  left: 50%;
  width: 32px;
  height: 4px;
  margin-left: -16px;
  border-radius: 999px;
  background-color: #d1d1d1;
}
html.layout-phone .popover:not(.select-menu):not(#layout-menu) .popover-header a {
  color: #424242;
}
html.layout-phone .popover:not(.select-menu):not(#layout-menu) .listing li:last-child {
  border-bottom: 0;
}
html.layout-phone .popover:not(.select-menu):not(#layout-menu) .popupmenu li > a:active,
html.layout-phone .popover:not(.select-menu):not(#layout-menu) .listing li > a:active {
  background-color: #e0e0e0;
}
@media screen and (max-width: 768px) {
  html.dark-mode #layout > div > .header,
  html.dark-mode #layout > div > .footer,
  html.dark-mode .mail-selection-bar {
    background-color: #1f1f1f;
    border-color: #333333;
  }
  html.dark-mode #layout > div > .header a.button:active:not(.disabled),
  html.dark-mode .content-frame-navigation a.button:active:not(.disabled),
  html.dark-mode .menu.toolbar a:active:not(.disabled),
  html.dark-mode .mail-selection-bar a.button:active:not(.disabled) {
    background-color: #383838;
  }
  html.dark-mode .content-frame-navigation a.button {
    color: #d6d6d6;
  }
  html.dark-mode .content-frame-navigation a.button.disabled {
    color: #adadad;
  }
  html.dark-mode .content-frame-navigation a.button.primary {
    color: #6dc3a9;
  }
  html.dark-mode .floating-action-buttons a.button {
    background: #6dc3a9;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4), 0 0 2px rgba(0, 0, 0, 0.24);
  }
  html.dark-mode .floating-action-buttons a.button:active {
    background: #58ba9c;
  }
}
@media screen and (max-width: 480px) {
  html.dark-mode .ui-dialog .ui-dialog-titlebar {
    background-color: #292929;
    border-bottom-color: #333333;
  }
  html.dark-mode .ui-dialog .ui-dialog-buttonpane {
    border-top-color: #333333;
  }
}
html.dark-mode.layout-phone #layout-menu {
  background: #292929 !important;
}
html.dark-mode.layout-phone #layout-menu .popover-header {
  background-color: #292929 !important;
}
html.dark-mode.layout-phone #layout-menu #taskmenu {
  background: #292929;
}
html.dark-mode.layout-phone #layout-menu #taskmenu a {
  color: #d6d6d6 !important;
}
html.dark-mode.layout-phone #layout-menu #taskmenu a:hover,
html.dark-mode.layout-phone #layout-menu #taskmenu a:focus {
  background: #383838 !important;
  color: #ffffff !important;
}
html.dark-mode.layout-phone #layout-menu #taskmenu a.selected {
  background: #27483d !important;
  color: #6dc3a9 !important;
}
html.dark-mode.layout-phone #layout-menu #taskmenu a:after {
  background: #6dc3a9;
}
html.dark-mode.layout-phone #layout-menu #taskmenu a.logout {
  color: #adadad !important;
}
html.dark-mode.layout-phone .popover:not(.select-menu):not(#layout-menu) {
  border: 0;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4), 0 0 2px rgba(0, 0, 0, 0.24);
}
html.dark-mode.layout-phone .popover:not(.select-menu):not(#layout-menu) .popover-header {
  background-color: #292929;
  color: #d6d6d6;
  border-bottom: 0;
}
html.dark-mode.layout-phone .popover:not(.select-menu):not(#layout-menu) .popover-header:after {
  background-color: #666666;
}
html.dark-mode.layout-phone .popover:not(.select-menu):not(#layout-menu) .popover-header a {
  color: #d6d6d6;
}
html.dark-mode.layout-phone .popover:not(.select-menu):not(#layout-menu) .popupmenu li > a:active,
html.dark-mode.layout-phone .popover:not(.select-menu):not(#layout-menu) .listing li > a:active {
  background-color: #383838;
}
@supports (height: 100dvh) {
  html.layout-phone,
  html.layout-small,
  html.layout-phone body,
  html.layout-small body {
    height: 100dvh;
  }
}
@media screen and (max-width: 768px) {
  input:not([type]),
  input[type=text],
  input[type=password],
  input[type=email],
  input[type=tel],
  input[type=url],
  input[type=number],
  input[type=search],
  input[type=date],
  input[type=time],
  input[type=datetime-local],
  select,
  textarea {
    font-size: 1.143rem;
  }
  .searchbar input,
  .searchbar form input[type=text] {
    font-size: 1.143rem;
  }
}
@media screen and (max-width: 768px) {
  #layout > div > .header {
    padding-top: env(safe-area-inset-top);
  }
  #layout > div > .footer {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .popover:not(.select-menu) {
    padding-top: env(safe-area-inset-top);
    padding-bottom: env(safe-area-inset-bottom);
  }
  html.layout-phone .popover:not(.select-menu):not(#layout-menu) {
    padding-top: 0;
  }
  .ui-dialog .ui-dialog-titlebar {
    padding-top: env(safe-area-inset-top);
  }
  .ui-dialog .ui-dialog-buttonpane {
    padding-bottom: env(safe-area-inset-bottom);
  }
  .floating-action-buttons {
    bottom: env(safe-area-inset-bottom);
  }
  .footer:not(:empty) + .floating-action-buttons {
    bottom: calc(35px + env(safe-area-inset-bottom));
  }
}
.scroller,
#messagelist-content,
#filelistcontainer,
.popover-body,
.ui-dialog-content {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px) {
  #layout > div {
    max-width: 100vw;
  }
  .filelist td.filename span,
  #messagelist td.subject,
  #messagelist span.fromto,
  #kolabnoteslist td.title,
  #message-header > .subject,
  .contactfieldcontent,
  .attachmentslist li .attachment-name {
    overflow-wrap: break-word;
    word-break: break-word;
  }
  #layout-content .boxcontent > table:not(.propform):not(.listing),
  .contentframe table:not(.propform):not(.listing) {
    display: block;
    max-width: 100%;
    overflow-x: auto;
  }
}
.listing span.secondary,
#messagelist span.date,
#messagelist span.size,
#messagelist span.fromto {
  font-size: 0.857rem;
}
#messagelist span.size,
#messagelist span.date,
.quota-widget .quota-text,
#timereport-floating-total,
.oc-row-time,
.oc-time {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}
html.touch #layout-content .toolbar a.button,
html.touch #layout-content .toolbarmenu a {
  min-height: 44px;
}
html.touch .formbuttons .btn,
html.touch .ui-dialog-buttonpane .ui-dialog-buttonset button,
html.touch #layout-content .footer .btn {
  min-height: 44px;
}
html.touch .content-frame-navigation a.button {
  min-width: 44px;
}
html.touch .propform tr > td.rowbuttons,
html.touch .propform .form-check,
html.touch .listing li > label {
  min-height: 44px;
}
html.touch input[type=checkbox],
html.touch input[type=radio] {
  min-width: 1.15rem;
  min-height: 1.15rem;
}
@media (hover: none) {
  .listing li > a:active,
  .listing tbody tr:active,
  #messagelist tbody tr:active,
  .filelist tbody tr:active,
  .treelist li > a:active {
    background-color: #e0e0e0;
  }
  html.dark-mode .listing li > a:active,
  html.dark-mode .listing tbody tr:active,
  html.dark-mode #messagelist tbody tr:active,
  html.dark-mode .filelist tbody tr:active,
  html.dark-mode .treelist li > a:active {
    background-color: #383838;
  }
  a,
  button,
  .listing tbody tr {
    -webkit-tap-highlight-color: transparent;
  }
}
@media screen and (max-width: 768px), screen and (max-height: 600px) {
  body.task-login #layout-content {
    padding: 16px;
  }
  body.task-login #layout-content #logo {
    max-height: 44px;
    max-width: 180px;
    margin-bottom: 20px;
  }
  body.task-login #login-form {
    padding: 24px 20px;
  }
  body.task-login #login-subtitle {
    margin-bottom: 20px;
  }
  body.task-login #login-form tr.row {
    margin-bottom: 12px;
  }
}
@media screen and (max-height: 440px) and (orientation: landscape) {
  body.task-login #layout-content #logo {
    display: none;
  }
  body.task-login #login-form {
    padding: 20px;
  }
  body.task-login #login-subtitle {
    margin-bottom: 16px;
  }
}
html.layout-phone #layout-menu #taskmenu a {
  height: 44px;
  line-height: 44px;
}
