git subrepo commit (merge) mailcow/src/mailcow-dockerized

subrepo: subdir:   "mailcow/src/mailcow-dockerized"
  merged:   "c7b1dc37"
upstream: origin:   "https://github.com/mailcow/mailcow-dockerized.git"
  branch:   "master"
  commit:   "a366494c"
git-subrepo: version:  "0.4.6"
  origin:   "???"
  commit:   "???"
Change-Id: Id574ecd4e02e3c4fbf8a1efd49be11c0b6d19a3f
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/011-datatables.css b/mailcow/src/mailcow-dockerized/data/web/css/build/011-datatables.css
index d03514f..d262f07 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/build/011-datatables.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/011-datatables.css
@@ -342,6 +342,10 @@
   position: relative;
 }
 
+div.dataTables_wrapper span.sorting-value {
+  display: none;
+}
+
 div.dataTables_scrollHead table.dataTable {
   margin-bottom: 0 !important;
 }
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/013-datatables.css b/mailcow/src/mailcow-dockerized/data/web/css/build/013-datatables.css
new file mode 100644
index 0000000..57e2b6d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/013-datatables.css
@@ -0,0 +1,93 @@
+.dataTables_info {
+    margin: 15px 0 !important;
+    padding: 0px !important;
+}
+.dataTables_paginate, .dataTables_length, .dataTables_filter {
+    margin: 15px 0 !important;
+}
+.dtr-details {
+    width: 100%;
+}
+.table-striped>tbody>tr:nth-of-type(odd) {
+    background-color: #F2F2F2;
+}
+td.child>ul>li {
+    display: flex;
+}
+table.dataTable>tbody>tr.child ul.dtr-details>li {
+    border-bottom: 1px solid rgba(0, 0, 0, 0.129);
+    padding: 0.5em 0;
+}
+table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before:hover, 
+table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before:hover {
+    background-color: #5e5e5e;
+}
+table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before, 
+table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before,
+table.dataTable td.dt-control:before {
+    background-color: #979797 !important;
+    border: 1.5px solid #616161 !important;
+    border-radius: 2px !important;
+    color: #fff;
+    height: 1em;
+    width: 1em;
+    line-height: 1.25em;
+    border-radius: 0px;
+    box-shadow: none;
+    font-size: 14px;
+    transition: 0.5s all;
+}
+table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td.dtr-control:before, 
+table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th.dtr-control:before,
+table.dataTable td.dt-control:before {
+    background-color: #979797 !important;
+}
+table.dataTable.table-striped>tbody>tr>td {
+    vertical-align: middle;
+}
+table.dataTable.table-striped>tbody>tr>td>input[type="checkbox"] {
+    margin-top: 7px;
+}
+td.dtr-col-lg {
+    min-width: 350px;
+    word-break: break-word;
+}
+td.dtr-col-md {
+    min-width: 250px;
+    word-break: break-word;
+}
+td.dtr-col-sm {
+    min-width: 125px;
+    word-break: break-word;
+}
+.dt-data-w100 .dtr-data {
+    width: 100%;
+}
+li .dtr-data {
+    word-break: break-all;
+    flex: 1;
+    padding-left: 5px;
+    padding-right: 5px;
+}
+table.dataTable>tbody>tr.child span.dtr-title {
+    width: 30%;
+    max-width: 250px;
+}
+
+
+div.dataTables_wrapper div.dataTables_filter {
+    text-align: left;
+}
+div.dataTables_wrapper div.dataTables_length {
+    text-align: right;
+}
+.dataTables_paginate, .dataTables_length, .dataTables_filter {
+    margin: 10px 0!important;
+}
+
+td.dt-text-right {
+    text-align: end !important;
+}
+th.dt-text-right {
+    text-align: end !important;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/014-mailcow.css b/mailcow/src/mailcow-dockerized/data/web/css/build/014-mailcow.css
new file mode 100644
index 0000000..edc6b3d
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/014-mailcow.css
@@ -0,0 +1,392 @@
+@font-face {

+  font-family: 'Noto Sans';

+  font-style: normal;

+  font-weight: 400;

+  src: local(''),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff2') format('woff2'),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-regular.woff') format('woff');

+}

+

+@font-face {

+  font-family: 'Noto Sans';

+  font-style: normal;

+  font-weight: 700;

+  src: local(''),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff2') format('woff2'),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700.woff') format('woff');

+}

+

+@font-face {

+  font-family: 'Noto Sans';

+  font-style: italic;

+  font-weight: 400;

+  src: local(''),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff2') format('woff2'),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-italic.woff') format('woff');

+}

+

+@font-face {

+  font-family: 'Noto Sans';

+  font-style: italic;

+  font-weight: 700;

+  src: local(''),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff2') format('woff2'),

+       url('/fonts/noto-sans-v12-latin_greek_cyrillic-700italic.woff') format('woff');

+}

+#maxmsgsize { min-width: 80px; }

+#slider1 .slider-selection {

+	background: #FFD700;

+}

+#slider1 .slider-track-high {

+	background: #FF4500;

+}

+#slider1 .slider-track-low {

+  background: #66CD00;

+}

+.striped:nth-child(odd) {

+  background-color: #fff;

+}

+.striped:nth-child(even) {

+  background-color: #fafafa;

+  border:1px solid white;

+}

+.btn {

+  text-transform: none;

+}

+.btn * {

+  pointer-events: none;

+}

+.textarea-code {

+  font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New, monospace;

+  background:transparent !important;

+}

+.navbar-nav {

+  margin: 0;

+}

+.navbar-nav .nav-item {

+  flex-direction: column;

+  display: flex;

+  padding: 0 10px !important;

+}

+.navbar-nav .nav-link {

+  height: 44px;

+  display: flex;

+  align-items: center;

+  padding: 0 10px !important;

+}

+.navbar-fixed-bottom .navbar-collapse, 

+.navbar-fixed-top .navbar-collapse {

+  max-height: 1000px

+}

+.bi {

+  display: inline-block;

+  font-size: 12pt;

+}

+.btn .bi {

+  display: inline-block;

+  font-size: inherit;

+}

+.btn-group-xs > .btn, .btn-xs {

+  padding: .25rem .4rem;

+  font-size: .875rem;

+  line-height: 1rem;

+  border-radius: .2rem;

+}

+.icon-spin {

+  animation-name: spin;

+  animation-duration: 2000ms;

+  animation-iteration-count: infinite;

+  animation-timing-function: linear;

+  -webkit-animation: spin 2000ms infinite linear;

+}

+.dropdown-menu {

+  font-size: 0.9rem;

+}

+@-webkit-keyframes spin {

+  0% {

+    -webkit-transform: rotate(0deg);

+    transform: rotate(0deg);

+  }

+  100% {

+    -webkit-transform: rotate(359deg);

+    transform: rotate(359deg);

+  }

+}

+@keyframes spin {

+  0% {

+    -webkit-transform: rotate(0deg);

+    transform: rotate(0deg);

+  }

+  100% {

+    -webkit-transform: rotate(359deg);

+    transform: rotate(359deg);

+  }

+}

+@keyframes blink {

+  50% { 

+    color: transparent 

+  }

+}

+.loader-dot { 

+  animation: 1s blink infinite 

+}

+.loader-dot:nth-child(2) { 

+  animation-delay: 250ms 

+}

+.loader-dot:nth-child(3) { 

+  animation-delay: 500ms 

+}

+

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

+/* Fix modal moving content left */

+body.modal-open {

+  overflow: inherit;

+  padding-right: inherit !important;

+}

+body {

+  font-family: "Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

+  font-size: 10.5pt;

+  line-height: 1.5;

+}

+html {

+  font-family: "Noto Sans","Helvetica Neue",Helvetica,Arial,sans-serif;

+  font-size: 10.5pt;

+  line-height: 1.5;

+}

+#mailcow-alert {

+  position: fixed;

+  bottom: 8px;

+  right: 25px;

+  min-width: 350px;

+  max-width: 550px;

+  z-index: 2000;

+}

+.input-group-sm .btn { margin-top: 0 !important }

+legend {

+  -webkit-user-select: none;

+  -moz-user-select: none;

+  -ms-user-select: none;

+  -o-user-select: none;

+  user-select: none;

+  font-size: 1.2rem;

+}

+.navbar .navbar-brand {

+  padding-top: 5px;

+}

+.navbar .navbar-brand img {

+  height: 40px;

+}

+.mailcow-logo img {

+  max-width: 250px;

+}

+.lang-link-disabled a  {

+  pointer-events: none;

+}

+.lang-link-disabled  {

+  cursor: not-allowed;

+}

+.overlay {

+  background: #fff;

+  position: absolute;

+  z-index: 10000;

+  top: 0; right: 0; bottom: 0; left: 0;

+  opacity: 0.7;

+}

+.bootstrap-select.btn-group .no-results {

+  display: none;

+}

+.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary {

+  color: rgb(197, 197, 197) !important;

+}

+.haveibeenpwned {

+  cursor: pointer;

+  -webkit-user-select: none;  

+  -moz-user-select: none;    

+  -ms-user-select: none;      

+  user-select: none;

+}

+.full-width-select {

+  width: 100%!important;  

+}

+.tooltip {

+  font-family: inherit;

+  font-size: 0.8rem;

+}

+.progress-bar {

+  font-size: 0.8rem;

+  line-height: 14px;

+}

+.footer {

+  margin-top: 27px;

+  margin-bottom: 20px;

+  color: #959595;

+  display: flex;

+  flex-direction: column;

+}

+.footer .version {

+  margin-left: auto;

+	margin-top: 20px;

+}

+.slave-info {

+  padding: 15px 0px 15px 15px;

+  font-weight: bold;

+}

+.alert-hr {

+  margin:3px 0px;

+  border-bottom:1px solid #f5f5f5!important;

+  opacity: 0.3;

+}

+.btn-input-missing,

+.btn-input-missing:hover,

+.btn-input-missing:active,

+.btn-input-missing:focus,

+.btn-input-missing:active:hover,

+.btn-input-missing:active:focus {

+  color: #000 !important;

+  background-color: #ff2f24 !important;

+  border-color: #e21207 !important;

+}

+.navbar-nav > li {

+  font-size: 1rem !important;

+}

+.dropdown-menu > li > a {

+  font-size: 1rem !important;

+}

+.label {

+  font-size:inherit;

+}

+[class^="bi-"]::before, [class*=" bi-"]::before {

+  vertical-align: -0.2em !important;

+}

+legend > [class^="bi-"]::before, legend > [class*=" bi-"]::before {

+  vertical-align: 0em !important;

+}

+code {

+  font-size: inherit;

+}

+.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark {

+  margin-top: 0px;

+}

+.flag-icon {

+  margin-right: 5px;

+}

+

+.dropdown-header {

+  font-weight: 600;

+}

+

+

+.tag-box {

+  display: flex;

+  flex-wrap: wrap;

+  height: auto;

+}

+.tag-badge {

+  transition: 200ms linear;

+  margin-top: 5px;

+  margin-bottom: 5px;

+  margin-left: 2px;

+  margin-right: 2px;

+}

+.tag-badge.btn-badge {

+  cursor: pointer;

+}

+.tag-badge .bi {

+  font-size: 12px;

+}

+.tag-badge.btn-badge:hover {

+  filter: brightness(0.9);

+}

+.tag-input {

+  margin-left: 10px;

+  border: 0 !important;

+  flex: 1;

+  height: 24px;

+  min-width: 150px;

+}

+.tag-input:focus {

+  outline: none;

+}

+.tag-add {

+  padding: 0 5px 0 5px;

+  align-items: center;

+  display: inline-flex;

+}

+

+#dnstable {

+  overflow-x: auto!important;

+}

+.well {

+  border: 1px solid #dfdfdf;

+  background-color: #f9f9f9;

+  padding: 10px;

+}

+

+

+.btn-check-label {

+  color: #555;

+}

+

+.caret {

+  transform: rotate(0deg);

+}

+a[aria-expanded='true'] > .caret, 

+button[aria-expanded='true'] > .caret {

+  transform: rotate(-180deg);

+}

+

+.list-group-details {

+  background: #fff;

+}

+.list-group-header {

+  background: #f7f7f7;

+} 

+

+

+.bg-primary, .alert-primary, .btn-primary {

+  background-color: #0F688D !important;

+  border-color: #0d526d !important;

+}

+.bg-info, .alert-info, .btn-info {

+  background-color: #148DBC !important;

+  border-color: #127ea8 !important;

+}

+

+.bootstrap-select>.dropdown-toggle.bs-placeholder.btn-secondary {

+  color: rgb(137 137 137)!important;

+}

+

+.progress {

+  height: 16px;

+  background-color: #d5d5d5;

+}

+

+

+.btn-outline-secondary:hover {

+    background-color: #f0f0f0;

+}

+.btn.btn-outline-secondary {

+  border-color: #cfcfcf !important;  

+}

+.btn-check:checked+.btn-outline-secondary, .btn-check:active+.btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {

+    background-color: #f0f0f0 !important;

+}

+.btn-check:checked+.btn-light, .btn-check:active+.btn-light, .btn-light:active, .btn-light.active, .show>.btn-light.dropdown-toggle {    

+    color: #fff;

+    background-color: #555;

+    background-image: none;

+    border-color: #4d4d4d;

+}

+.btn-check:checked+.btn-light:focus, .btn-check:active+.btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show>.btn-light.dropdown-toggle:focus,

+.btn-check:focus+.btn-light, .btn-light:focus {

+    box-shadow: none;

+}

+.btn-group>.btn:not(:last-of-type) {

+    border-top-right-radius: 0;

+    border-bottom-right-radius: 0;

+}

+.badge.bg-info > a,

+.badge.bg-danger > a {

+    color: #fff !important;

+    text-decoration: none;

+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/build/015-responsive.css b/mailcow/src/mailcow-dockerized/data/web/css/build/015-responsive.css
new file mode 100644
index 0000000..57ce802
--- /dev/null
+++ b/mailcow/src/mailcow-dockerized/data/web/css/build/015-responsive.css
@@ -0,0 +1,234 @@
+.btn-xs-lg>.lang-sm:after {
+  margin-left: 4px;
+}
+
+.bootstrap-select {
+  max-width: 350px;
+}
+
+.card-login .apps .btn {
+  width: auto;
+  float: left;
+  margin-right: 10px;
+  margin-top: auto;
+}
+.card-login .apps .btn:hover {
+  margin-top: 1px !important;
+  border-bottom-width: 3px;
+}
+
+.responsive-tabs .nav-tabs {
+  display: none;
+}
+
+.dataTables_paginate.paging_simple_numbers .pagination {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+@media (min-width: 768px) {
+  .responsive-tabs .nav-tabs {
+      display: flex;
+  }
+
+  .responsive-tabs .card .card-body.collapse {
+      display: block;
+  }
+}
+
+
+@media (max-width: 767px) {
+  .responsive-tabs .tab-pane:not(.rsettings) {
+      display: block !important;
+      opacity: 1;
+  }
+
+  .card-login .apps .btn {
+    width: 100%;
+    float: none;
+    margin-bottom: 10px;
+  }
+
+  .card-login .apps .btn {
+    border-bottom-width: 4px;
+  }
+
+  .xs-show {
+    display: block !important;
+  }
+
+  .recent-login-success {
+    font-size: 14px;
+    margin-top: 10px !important;
+  }
+  .pull-xs-right {
+  float: right !important;
+  }
+  .pull-xs-right .dropdown-menu {
+    right: 0;
+    left: auto;
+  }
+  .text-xs-left {
+    text-align: left;
+  }
+  .text-xs-bold {
+    font-weight: bold;
+  }
+  .text-xs-bold .small {
+    font-weight: normal;
+    text-align: justify;
+  }
+  .btn.d-block {
+    width: 100%;
+    white-space: normal;
+  }
+  .btn.btn-xs-half,
+  .btn.d-block.btn-xs-half {
+    width: 50%;
+  }
+  .btn.btn-xs-third,
+  .btn.d-block.btn-xs-third {
+    width: 33.33%;
+  }
+  .btn.btn-xs-quart,
+  .btn.d-block.btn-xs-quart {
+    width: 25%;
+  }
+  .btn.d-block.btn-sm,
+  .btn-xs-lg {
+    padding: .5rem 1rem;
+    line-height: 20px;
+  }
+  .input-xs-lg {
+    height: 47px;
+    padding: 13px 16px;
+  }
+  .btn-group:not(.input-group-btn) {
+    display: flex;
+    flex-wrap: wrap;
+  }
+  .btn-group.nowrap {
+    flex-wrap: nowrap;
+  }
+  .btn-group.nowrap .dropdown-menu {
+    width: 100%;
+  }
+  .card-login .btn-group {
+    display: block;
+  }
+  .mass-actions-user .btn-group {
+    float: none;
+  }
+  div[class^='mass-actions'] .dropdown-menu,
+  .card-xs-lg .dropdown-menu,
+  .dropdown-menu.login {
+    width: 100%;
+  }
+  div[class^='mass-actions'] .btn-group .dropdown-menu {
+    top: 50%;
+  }
+  div[class^='mass-actions'] .btn-group .btn-group .dropdown-menu,
+  div.mass-actions-quarantine .btn-group .dropdown-menu,
+  .card-xs-lg .dropdown-menu {
+    top: 100%;
+  }
+  div[class^='mass-actions'] .dropdown-menu>li>a,
+  .card-xs-lg .dropdown-menu>li>a,
+  .dropdown-menu.login>li>a {
+    padding: 8px 20px;
+  }
+  div[class^='mass-actions'] .dropdown-header {
+    font-size: 14px;
+    font-weight: bold;
+  }
+  .top100 {
+    top: 100% !important;
+  }
+  .top33 {
+    top: 33% !important;
+  }
+  .footable-filtering .form {
+    width: 65%;
+  }
+  .btn-xs-lg>.lang-sm:after {
+    top: 1px;
+  }
+  .pagination {
+    margin-bottom: 5px;
+  }
+  .mass-actions-mailbox {
+    padding: 0;
+  }
+  .card-xs-lg .card-header {
+    height: 66px;
+    line-height: 47px;
+  }
+  .card-xs-lg .btn-group .btn {
+    padding-right: 5px;
+    padding-left: 5px;
+  }
+  .bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
+    width: 100%;
+  }
+  .btn-group:not(.bootstrap-select) {
+    width: auto !important;
+  }
+  .bootstrap-select {
+    max-width: 100%;
+  }
+  .bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text {
+    margin-right: 14px;
+    white-space: normal;
+  }
+  .btn-group > .btn-group {
+    flex-basis: 100%;
+  }
+  .btn-group .btn {
+    display: flex !important;
+    align-items: center;
+    justify-content: center;
+  }
+  .btn-group .btn i {
+    margin-right: 5px;
+  }
+  .card-login .btn-group .btn {
+    display: block !important;
+  }
+
+  .dt-sm-head-hidden .dtr-title {
+    display: none !important;
+  }
+
+  div.dataTables_wrapper div.dataTables_length {
+    text-align: left;
+  }
+
+  .senders-mw220 {
+    max-width: 100% !important;
+  }
+  
+  table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before,
+  table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before,
+  table.dataTable td.dt-control:before {
+      height: 2rem;
+      width: 2rem;
+      line-height: 2rem;
+      margin-top: -15px;
+  }
+  
+  li .dtr-data {
+      padding: 0;
+  }
+}
+
+@media (max-width: 350px) {
+  .mailcow-logo img {
+    max-width: 250px;
+  }
+}
+
+@media (min-width: 1400px) {
+  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+    max-width: 1600px;
+  }
+}
\ No newline at end of file
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css b/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css
index f62ead3..e896abc 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/mailbox.css
@@ -66,4 +66,6 @@
   padding: .2em .4em .3em !important;

   background-color: #ececec!important;

 }

-

+.badge.bg-info .bi {

+  font-size: inherit;

+}

diff --git a/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css b/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css
index 98a74d6..0455b7c 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/site/quarantine.css
@@ -1,102 +1,104 @@
-.pagination a {

-  text-decoration: none !important;

-}

-

-.panel.panel-default {

-  overflow: visible !important;

-}

-

-.table-responsive {

-  overflow: visible !important;

-}

-

-.table-responsive {

-  overflow-x: scroll !important;

-}

-

-.footer-add-item {

-  display: block;

-  text-align: center;

-  font-style: italic;

-  padding: 10px;

-  background: #F5F5F5;

-}

-

-@media (min-width: 992px) {

-  .container {

-    width: 100%;

-  }

-}

-@media (min-width: 1920px) {

-  .container {

-      width: 80%;

-  }

-}

-

-.mass-actions-quarantine {

-  user-select: none;

-}

-

-.inputMissingAttr {

-  border-color: #FF4136;

-}

-

-.modal#qidDetailModal p {

-  word-break: break-all;

-}

-

-span#qid_detail_score {

-  font-weight: 700;

-  margin-left: 5px;

-}

-

-span.rspamd-symbol {

-  display: inline-block;

-  margin: 2px 6px 2px 0;

-  border-radius: 4px;

-  padding: 0 7px;

-}

-

-span.rspamd-symbol.positive {

-  background: #4CAF50;

-  border: 1px solid #4CAF50;

-  color: white;

-}

-

-span.rspamd-symbol.negative {

-  background: #ff4136;

-  border: 1px solid #ff4136;

-  color: white;

-}

-

-span.rspamd-symbol.neutral {

-  background: #f5f5f5;

-  color: #333;

-  border: 1px solid #ccc;

-}

-

-span.rspamd-symbol span.score {

-  font-weight: 700;

-}

-

-span.mail-address-item {

-  background-color: #f5f5f5;

-  border-radius: 4px;

-  border: 1px solid #ccc;

-  padding: 2px 7px;

-  display: inline-block;

-  margin: 2px 6px 2px 0;

-}

-

-table tbody tr {

-  cursor: pointer;

-}

-

-table tbody tr td input[type="checkbox"] {

-  cursor: pointer;

-}

-.label-rspamd-action {

-  font-size:110%;

-  margin:20px;

-}

-

+.pagination a {
+  text-decoration: none !important;
+}
+
+.panel.panel-default {
+  overflow: visible !important;
+}
+
+.table-responsive {
+  overflow: visible !important;
+}
+
+.table-responsive {
+  overflow-x: scroll !important;
+}
+
+.footer-add-item {
+  display: block;
+  text-align: center;
+  font-style: italic;
+  padding: 10px;
+  background: #F5F5F5;
+}
+
+@media (min-width: 992px) {
+  .container {
+    width: 100%;
+  }
+}
+@media (min-width: 1920px) {
+  .container {
+      width: 80%;
+  }
+}
+
+.mass-actions-quarantine {
+  user-select: none;
+}
+
+.inputMissingAttr {
+  border-color: #FF4136;
+}
+
+.modal#qidDetailModal p {
+  word-break: break-all;
+}
+
+span#qid_detail_score {
+  font-weight: 700;
+  margin-left: 5px;
+}
+
+span.rspamd-symbol {
+  display: inline-block;
+  margin: 2px 6px 2px 0;
+  border-radius: 4px;
+  padding: 0 7px;
+}
+
+span.rspamd-symbol.positive {
+  background: #4CAF50;
+  border: 1px solid #4CAF50;
+  color: white;
+}
+
+span.rspamd-symbol.negative {
+  background: #ff4136;
+  border: 1px solid #ff4136;
+  color: white;
+}
+
+span.rspamd-symbol.neutral {
+  background: #f5f5f5;
+  color: #333;
+  border: 1px solid #ccc;
+}
+
+span.rspamd-symbol span.score {
+  font-weight: 700;
+}
+
+span.mail-address-item {
+  background-color: #f5f5f5;
+  border-radius: 4px;
+  border: 1px solid #ccc;
+  padding: 2px 7px;
+  display: inline-block;
+  margin: 2px 6px 2px 0;
+}
+
+table tbody tr {
+  cursor: pointer;
+}
+
+table tbody tr td input[type="checkbox"] {
+  cursor: pointer;
+}
+.label-rspamd-action {
+  font-size:110%;
+  margin:20px;
+}
+.senders-mw220 {
+  max-width: 220px;
+}
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/themes/lumen-bootstrap.css b/mailcow/src/mailcow-dockerized/data/web/css/themes/lumen-bootstrap.css
index a758223..bcf6268 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/themes/lumen-bootstrap.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/themes/lumen-bootstrap.css
@@ -11,7 +11,86 @@
  * Copyright 2011-2021 Twitter, Inc.
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  */
-@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;1,400&display=swap");
+
+/* source-sans-pro-300 - latin */
+@font-face {
+  font-family: 'Source Sans Pro';
+  font-style: normal;
+  font-weight: 300;
+  src: url('/fonts/source-sans-pro-v21-latin-300.eot'); /* IE9 Compat Modes */
+  src: local(''),
+       url('/fonts/source-sans-pro-v21-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('/fonts/source-sans-pro-v21-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-300.woff') format('woff'), /* Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('/fonts/source-sans-pro-v21-latin-300.svg#SourceSansPro') format('svg'); /* Legacy iOS */
+}
+/* source-sans-pro-300italic - latin */
+@font-face {
+  font-family: 'Source Sans Pro';
+  font-style: italic;
+  font-weight: 300;
+  src: url('/fonts/source-sans-pro-v21-latin-300italic.eot'); /* IE9 Compat Modes */
+  src: local(''),
+       url('/fonts/source-sans-pro-v21-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('/fonts/source-sans-pro-v21-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-300italic.woff') format('woff'), /* Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('/fonts/source-sans-pro-v21-latin-300italic.svg#SourceSansPro') format('svg'); /* Legacy iOS */
+}
+/* source-sans-pro-regular - latin */
+@font-face {
+  font-family: 'Source Sans Pro';
+  font-style: normal;
+  font-weight: 400;
+  src: url('/fonts/source-sans-pro-v21-latin-regular.eot'); /* IE9 Compat Modes */
+  src: local(''),
+       url('/fonts/source-sans-pro-v21-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('/fonts/source-sans-pro-v21-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-regular.woff') format('woff'), /* Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('/fonts/source-sans-pro-v21-latin-regular.svg#SourceSansPro') format('svg'); /* Legacy iOS */
+}
+/* source-sans-pro-italic - latin */
+@font-face {
+  font-family: 'Source Sans Pro';
+  font-style: italic;
+  font-weight: 400;
+  src: url('/fonts/source-sans-pro-v21-latin-italic.eot'); /* IE9 Compat Modes */
+  src: local(''),
+       url('/fonts/source-sans-pro-v21-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('/fonts/source-sans-pro-v21-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-italic.woff') format('woff'), /* Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('/fonts/source-sans-pro-v21-latin-italic.svg#SourceSansPro') format('svg'); /* Legacy iOS */
+}
+/* source-sans-pro-700 - latin */
+@font-face {
+  font-family: 'Source Sans Pro';
+  font-style: normal;
+  font-weight: 700;
+  src: url('/fonts/source-sans-pro-v21-latin-700.eot'); /* IE9 Compat Modes */
+  src: local(''),
+       url('/fonts/source-sans-pro-v21-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('/fonts/source-sans-pro-v21-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-700.woff') format('woff'), /* Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('/fonts/source-sans-pro-v21-latin-700.svg#SourceSansPro') format('svg'); /* Legacy iOS */
+}
+/* source-sans-pro-700italic - latin */
+@font-face {
+  font-family: 'Source Sans Pro';
+  font-style: italic;
+  font-weight: 700;
+  src: url('/fonts/source-sans-pro-v21-latin-700italic.eot'); /* IE9 Compat Modes */
+  src: local(''),
+       url('/fonts/source-sans-pro-v21-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
+       url('/fonts/source-sans-pro-v21-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-700italic.woff') format('woff'), /* Modern Browsers */
+       url('/fonts/source-sans-pro-v21-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
+       url('/fonts/source-sans-pro-v21-latin-700italic.svg#SourceSansPro') format('svg'); /* Legacy iOS */
+}
+
 :root {
   --bs-blue: #158cba;
   --bs-indigo: #6610f2;
diff --git a/mailcow/src/mailcow-dockerized/data/web/css/themes/mailcow-darkmode.css b/mailcow/src/mailcow-dockerized/data/web/css/themes/mailcow-darkmode.css
index e182442..ea95df9 100644
--- a/mailcow/src/mailcow-dockerized/data/web/css/themes/mailcow-darkmode.css
+++ b/mailcow/src/mailcow-dockerized/data/web/css/themes/mailcow-darkmode.css
@@ -1,85 +1,128 @@
 body {
-    background-color: #414141;
-    color: #e0e0e0;
+    background-color: #1c1c1e;
+    color: #f2f2f7;
 }
 
 .card {
-    border: 1px solid #1c1c1c;
-    background-color: #3a3a3a;
+    border: 1px solid #2c2c2e;
+    background-color: #2c2c2e;
 }
+
 legend {
-    color: #f5f5f5;
+    color: #f2f2f7;
 }
+
 .card-header {
-    color: #bbb;
-    background-color: #2c2c2c;
+    color: #8e8e93;
+    background-color: #1c1c1e;
     border-color: transparent;
 }
+
+.card-body {
+    --bs-card-color: #bbb;
+}
+
 .btn-secondary, .paginate_button, .page-link, .btn-light {
-    color: #fff !important;
-    background-color: #7a7a7a !important;
-    border-color: #5c5c5c !important;
+    color: #f2f2f7 !important;
+    background-color: #5e5e5e !important;
+    border-color: #4c4c4e !important;
 }
-.btn-check:checked+.btn-secondary, .btn-check:active+.btn-secondary, .btn-secondary:active, .btn-secondary.active, .show>.btn-secondary.dropdown-toggle {
-    border-color: #7a7a7a !important;
+
+.btn-dark {
+    color: #f2f2f7 !important;
+    background-color: #242424 !important;
+    border-color: #1c1c1e !important;
 }
-.alert-secondary {
-    color: #fff !important;
-    background-color: #7a7a7a !important;
-    border-color: #5c5c5c !important;
-}
-.bg-secondary {
-    color: #fff !important;
-    background-color: #7a7a7a !important;
-}
-.alert-secondary, .alert-secondary a, .alert-secondary .alert-link {
-    color: #fff;
-}
-.page-item.active .page-link {
-    background-color: #158cba !important;
-    border-color: #127ba3 !important;
-}
+
 .btn-secondary:focus, .btn-secondary:hover, .btn-group.open .dropdown-toggle.btn-secondary {
-    background-color: #7a7a7a;
-    border-color: #5c5c5c !important;
-    color: #fff;
+    background-color: #444444;
+    border-color: #4c4c4e !important;
+    color: #f2f2f7;
 }
+
+.btn-check:checked+.btn-secondary, .btn-check:active+.btn-secondary, .btn-secondary:active, .btn-secondary.active, .show>.btn-secondary.dropdown-toggle {
+    border-color: #5e5e5e !important;
+}
+
+.alert-secondary {
+    color: #f2f2f7 !important;
+    background-color: #5e5e5e !important;
+    border-color: #4c4c4e !important;
+}
+
+.bg-secondary {
+    color: #f2f2f7 !important;
+    background-color: #5e5e5e !important;
+}
+
+.alert-secondary, .alert-secondary a, .alert-secondary .alert-link {
+    color: #f2f2f7;
+}
+
+.page-item.active .page-link {
+    background-color: #3e3e3e !important;
+    border-color: #3e3e3e !important;
+}
+
+.btn-secondary:focus, .btn-secondary:hover, .btn-group.open .dropdown-toggle.btn-secondary {
+    background-color: #5e5e5e;
+    border-color: #4c4c4e !important;
+    color: #f2f2f7;
+}
+
 .btn-secondary:disabled, .btn-secondary.disabled {
-    border-color: #7a7a7a !important;
+    border-color: #5e5e5e !important;
 }
+
 .modal-content {
-    background-color: #414141;
+    --bs-modal-color: #bbb;
+    background-color: #2c2c2e;
 }
+
 .modal-header {
-    border-bottom: 1px solid #161616;
+    border-bottom: 1px solid #999;
 }
+
 .modal-title {
-    color: white;
+    color: #bbb;
 }
+
 .modal .btn-close {
     filter: invert(1) grayscale(100%) brightness(200%);
 }
+
 .navbar.bg-light {
-    background-color: #222222 !important;
-    border-color: #181818;
+    background-color: #1c1c1e !important;
+    border-color: #2c2c2e;
 }
+
 .nav-link {
-    color: #ccc !important;
+    color: #8e8e93 !important;
 }
+
 .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
     background: none;
 }
+
+.nav-tabs, .nav-tabs .nav-link {
+    border-color: #444444 !important;
+}
+
 .nav-tabs .nav-link:not(.disabled):hover, .nav-tabs .nav-link:not(.disabled):focus, .nav-tabs .nav-link.active {
-    border-bottom-color: #414141;
+    border-bottom-color: #1c1c1e !important;
+}
+
+.card .nav-tabs .nav-link:not(.disabled):hover, .card .nav-tabs .nav-link:not(.disabled):focus, .card .nav-tabs .nav-link.active {
+    border-bottom-color: #2c2c2e !important;
 }
 
 .table, .table-striped>tbody>tr:nth-of-type(odd)>*, tbody tr {
-    color: #ccc !important;
+    color: #f2f2f7 !important;
 }
 
 .dropdown-menu {
-    background-color: #585858;
-    border: 1px solid #333;
+    background-color: #424242;
+    border: 1px solid #282828;
 }
 .dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover {
     color: #fafafa;
@@ -92,7 +135,7 @@
     color: #d4d4d4 !important;
 }
 tbody tr {
-    color: #555;
+    color: #ccc;
 }
 .navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:focus, .navbar-default .navbar-nav>.open>a:hover {
     color: #ccc;
@@ -101,18 +144,15 @@
     color: #ccc;
 }
 .list-group-item {
-    background-color: #333;
+    background-color: #282828;
     border: 1px solid #555;
 }
 .table-striped>tbody>tr:nth-of-type(odd) {
-    background-color: #333;
+    background-color: #424242;
 }
 table.dataTable>tbody>tr.child ul.dtr-details>li {
     border-bottom: 1px solid rgba(255, 255, 255, 0.13);
 }
-tbody tr {
-    color: #ccc;
-}
 .label.label-last-login {
     color: #ccc !important;
     background-color: #555 !important;
@@ -128,20 +168,20 @@
 }
 .well {
     border: 1px solid #555;
-    background-color: #333;
+    background-color: #282828;
 }
 pre {
     color: #ccc;
-    background-color: #333;
+    background-color: #282828;
     border: 1px solid #555;
 }
 input.form-control, textarea.form-control {
     color: #e2e2e2 !important;
-    background-color: #555 !important;
+    background-color: #424242 !important;
     border: 1px solid #999;
 }
 input.form-control:focus, textarea.form-control {
-    background-color: #555 !important;
+    background-color: #424242 !important;
 }
 input.form-control:disabled, textarea.form-disabled {
     color: #a8a8a8 !important;
@@ -149,16 +189,14 @@
 }
 .input-group-addon {
     color: #ccc;
-    background-color: #555 !important;
+    background-color: #424242 !important;
     border: 1px solid #999;
 }
 .input-group-text {
     color: #ccc;
-    background-color: #242424;
+    background-color: #1c1c1c;
 }
 
-
-
 .list-group-item {
     color: #ccc;
 }
@@ -170,11 +208,11 @@
 }
 .dropdown-item.active:hover {
     color: #fff !important;
-    background-color: #31b1e4;
+    background-color: #007aff;
 }
 .form-select {
     color: #e2e2e2!important;
-    background-color: #555!important;
+    background-color: #424242!important;
     border: 1px solid #999;
 }
 
@@ -186,31 +224,6 @@
     color: #fff !important;
 }
 
-
-.table-secondary {
-    --bs-table-bg: #7a7a7a;
-    --bs-table-striped-bg: #e4e4e4;
-    --bs-table-striped-color: #000;
-    --bs-table-active-bg: #d8d8d8;
-    --bs-table-active-color: #000;
-    --bs-table-hover-bg: #dedede;
-    --bs-table-hover-color: #000;
-    color: #000;
-    border-color: #d8d8d8;
-}
-
-.table-light {
-    --bs-table-bg: #f6f6f6;
-    --bs-table-striped-bg: #eaeaea;
-    --bs-table-striped-color: #000;
-    --bs-table-active-bg: #dddddd;
-    --bs-table-active-color: #000;
-    --bs-table-hover-bg: #e4e4e4;
-    --bs-table-hover-color: #000;
-    color: #000;
-    border-color: #dddddd;
-}
-
 .form-control-plaintext {
     color: #e0e0e0;
 }
@@ -284,12 +297,12 @@
 }
 
 .tag-box {
-    background-color: #555;
-    border: 1px solid #999;
+    background-color: #282828;
+    border: 1px solid #555;
 }
 .tag-input {
     color: #fff;
-    background-color: #555;
+    background-color: #282828;
 }
 .tag-add {
     color: #ccc;
@@ -298,43 +311,24 @@
     color: #d1d1d1;
 }
 
-
-table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before:hover, 
-table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before:hover {
-  background-color: #7a7a7a !important;
-}
-table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before, 
-table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before {
-  background-color: #7a7a7a !important;
-  border: 1.5px solid #5c5c5c !important;
-  color: #fff !important;
-}
-table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td.dtr-control:before, 
-table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th.dtr-control:before {
-  background-color: #949494;
-}
-table.dataTable.dtr-inline.collapsed>tbody>tr>td.child, 
-table.dataTable.dtr-inline.collapsed>tbody>tr>th.child, 
-table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty {
-  background-color: #444444;
-}
-
 .btn-check-label {
   color: #fff;
 }
 .btn-outline-secondary:hover {
-    background-color: #c3c3c3;
+    background-color: #5c5c5c;
 }
 .btn.btn-outline-secondary {
-  color: #fff !important;
-  border-color: #7a7a7a !important;  
+  color: #e0e0e0 !important;
+  border-color: #7a7a7a !important;
 }
 .btn-check:checked+.btn-outline-secondary, .btn-check:active+.btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show {
-    background-color: #9b9b9b !important;
+    background-color: #7a7a7a !important;
 }
-
-
-
+.btn-check:checked+.btn-light, .btn-check:active+.btn-light, .btn-light:active, .btn-light.active, .show>.btn-light.dropdown-toggle {
+    color: #f2f2f7 !important;
+    background-color: #242424 !important;
+    border-color: #1c1c1e !important;
+}
 .btn-input-missing,
 .btn-input-missing:hover,
 .btn-input-missing:active,
@@ -342,19 +336,119 @@
 .btn-input-missing:active:hover,
 .btn-input-missing:active:focus {
   color: #fff !important;
-  background-color: #ff2f24 !important;
-  border-color: #e21207 !important;
+  background-color: #ff3b30 !important;
+  border-color: #ff3b30 !important;
 }
 
 .inputMissingAttr {
-    border-color: #FF4136 !important;
+    border-color: #ff4136 !important;
 }
 
-
 .list-group-details {
-    background: #444444;
+    background: #555;
 }
 .list-group-header {
-    background: #333;
+    background: #444;
 }
 
+span.mail-address-item {
+    background-color: #444;
+    border-radius: 4px;
+    border: 1px solid #555;
+    padding: 2px 7px;
+    display: inline-block;
+    margin: 2px 6px 2px 0;
+}
+
+table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before:hover,
+table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before:hover {
+  background-color: #7a7a7a !important;
+}
+
+table.dataTable.dtr-inline.collapsed>tbody>tr>td.dtr-control:before,
+table.dataTable.dtr-inline.collapsed>tbody>tr>th.dtr-control:before {
+  background-color: #7a7a7a !important;
+  border: 1.5px solid #5c5c5c !important;
+  color: #e0e0e0 !important;
+}
+
+table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td.dtr-control:before,
+table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th.dtr-control:before {
+  background-color: #949494;
+}
+
+table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,
+table.dataTable.dtr-inline.collapsed>tbody>tr>th.child,
+table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty {
+  background-color: #414141;
+}
+
+table.table, .table-striped>tbody>tr:nth-of-type(odd)>*, tbody tr {
+    color: #ccc !important;
+}
+
+.table-secondary {
+    --bs-table-bg: #282828;
+    --bs-table-striped-bg: #343434;
+    --bs-table-striped-color: #f2f2f7;
+    --bs-table-active-bg: #4c4c4c;
+    --bs-table-active-color: #f2f2f7;
+    --bs-table-hover-bg: #3a3a3a;
+    --bs-table-hover-color: #f2f2f7;
+    color: #ccc;
+    border-color: #3a3a3a;
+}
+
+.table-light {
+    --bs-table-bg: #3a3a3a;
+    --bs-table-striped-bg: #444444;
+    --bs-table-striped-color: #f2f2f7;
+    --bs-table-active-bg: #5c5c5c;
+    --bs-table-active-color: #f2f2f7;
+    --bs-table-hover-bg: #4c4c4c;
+    --bs-table-hover-color: #f2f2f7;
+    color: #ccc;
+    border-color: #4c4c4c;
+}
+
+.table-bordered {
+    border-color: #3a3a3a;
+}
+
+.table-bordered th,
+.table-bordered td {
+    border-color: #3a3a3a !important;
+}
+
+.table-bordered thead th,
+.table-bordered thead td {
+    border-bottom-width: 2px;
+}
+
+.table-striped>tbody>tr:nth-of-type(odd)>td,
+.table-striped>tbody>tr:nth-of-type(odd)>th {
+    background-color: #282828;
+}
+
+.table-hover>tbody>tr:hover {
+    background-color: #343434;
+}
+
+.table>:not(caption)>*>* {
+    border-color: #5c5c5c;
+    --bs-table-color-state:#bbb;
+    --bs-table-bg: #3a3a3a;
+}
+.text-muted {
+    --bs-secondary-color: #8e8e93;
+}
+input::placeholder {
+    color: #8e8e93 !important;
+}
+
+.form-select {
+    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%238e8e93' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+}
+.btn-light, .btn-light:hover {
+    background-image: none;
+}
\ No newline at end of file