/*
  Global
*/
html {
  height: 100%;
}
body {
  height: calc(100% - 56px);
}
#main {
  margin-top: 56px;
  /*padding: 0;*/
}

.btn:focus,
.btn-check:focus + .btn-outline-dark,
.btn-outline-dark:focus {
  box-shadow: none !important;
}
#logs-top,
#logs-goto,
#logs-bottom,
#log-details-open,
#log-details-export {
  height: 26px;
  font-size: 12px;
  margin: 7px 14px;
  border-color: #999;
  color: #666;
}
#logs-top:hover,
#logs-goto:hover,
#logs-bottom:hover,
#log-details-open:hover,
#log-details-export:hover {
  background: #aaa;
  border-color: #666;
  color: #fff;
}

.navbar-brand {
  cursor: default;
}
.navbar-brand .logo {
  padding-right: 11px;
  margin-top: -4px;
  height: 25px;
}
.navbar-brand a {
  color: #fff;
  text-decoration: none;
  font-size: 17px;
}
#vhosts {
  font-size: 14px;
  /**margin-top: 94px;**/
}
#vhosts thead {
  /**margin-top: 56px;**/
  background: #f8f8f8;
  font-size: 13px;
}
#vhosts thead th {
  height: 38px;
  border-bottom-color: #ccc;
}
#vhosts .col_domain {
  padding: 10px 8px 10px 8px;
  font-size: 14px;
}
#vhosts .col_vhost i,
#vhosts .col_vhost a {
  color: #007eb0;
  text-decoration: none;
}
#vhosts .col_vhost .vhost-open {
  display: none;
  position: relative;
  top: 5px;
  margin-top: -12px;
  font-size: 22px;
  color: #666 !important;
}
#vhosts .col_vhost .vhost-open i {
  color: #666 !important;
}
#vhosts .col_vhost:hover .vhost-open,
#vhosts .col_vhost:hover .vhost-open i {
  display: block;
}
#vhosts td {
  font-size: 12px;
  padding: 10px 8px 0px 8px;
}
#vhosts td.col_vhost {
  padding: 8px;
  font-size: 14px;
}
#vhosts td.col_vhost .suspended,
#vhosts td.col_vhost .disabled,
.navbar-brand .suspended,
.navbar-brand .disabled {
  padding: 2px 8px;
  background: lightcoral;
  text-transform: uppercase;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
}
#vhosts td.col_vhost .suspended,
.navbar-brand .suspended {
  background: lightsalmon;
}
.navbar-brand .suspended,
.navbar-brand .disabled {
  position: relative;
  top: -2px;
  padding: 0 8px 2px 8px;
}
#vhosts td.col_vhost,
#vhosts td.col_last,
#vhosts td.col_period {
  cursor: pointer;
}
#vhosts .col_access,
#vhosts .col_errors {
  cursor: help;
  width: 80px;
}
#vhosts td.col_errors_stats {
  width: 120px !important;
  cursor: help;
}
#vhosts td.col_last {
  width: 50px !important;
}
#vhosts td.col_archives {
  width: 80px !important;
}
#vhosts td.col_archives .select-archives {
  cursor: pointer;
}

.errors-stats {
  margin-top: 1px;
  border: 1px solid #fff;
  width: 102px;
  height: 16px;
  background: #90ee90;
}
.errors-stats > div {
  position: relative;
  top: 0;
  height: 14px;
  background: #f08080;
}
.errors-stats.errors-stats-empty {
  border: 1px solid #ccc;
  height: 14px;
  background: #fff;
}
#vhosts td.col_open_ext {
  width: 24px !important;
  padding-top: 1px;
  padding-bottom: 0;
  cursor: pointer;
}
#vhosts td.col_open_ext i {
  font-size: 22px;
  color: #666;
}

#logs-nblines,
#logs-nblines-filtered {
  color: #fff;
}
.logs-nblines-filtered-wrapper {
  color: #bb0000;
}

.logs-nblines-new {
  color: orange;
}

#plesk-logs-home {
  cursor: pointer;
  font-size: 20px;
}

#loader {
  z-index: 10000;
  top: 56px;
  background: rgba(50, 50, 50, 0.8);
  height: calc(100vh - 96px);
  user-select: none;
  text-align: center;
  color: #fff;
}
#loader div {
  margin-top: 40vh;
  letter-spacing: 10px;
}

#grid {
  height: 1200px;
  width: 100%;
}

.ag-theme-alpine .ag-root-wrapper {
  border: none;
}
.ag-theme-alpine .ag-header {
  /*background: none;*/
  border-color: #dde2eb;
}
.ag-theme-alpine .ag-header-cell,
.ag-theme-alpine .ag-header-group-cell {
  border-color: #dde2eb !important;
}
.ag-header-cell.ag-header-active .ag-header-cell-menu-button {
  opacity: 0;
  display:none;
}
.ag-header-cell-filtered * {
  color: #bb0000;
  cursor: pointer;
}
.ag-header-cell-filtered .ag-icon-filter:after {
  content: 'X';
  position: relative;
  top: -3px;
  left: -2px;
  font-family: sans-serif;
  font-size: 10px;
}
.ag-floating-filter select {
  border-color: #babfc7;
  border-radius: 3px;
  background-color: #fff;
  font-size: 13px;
  padding: 3px 3px;
}
.ag-watermark {
  display: none !important;
}
#grid .ag-row-even,
#grid .ag-row-odd {
  /**background: none !important;**/
  background: none;
}
#grid .ag-row-hover {
  /**background: #f8f8f8 !important;**/
  background: #eee !important;
}
#grid .ag-row-focus {
  /**background: #eee !important;**/
  /**background: #dde2eb !important;**/
  background: #dde2eb;
}
#grid .ag-row.ag-row-focus.goto-current {
  border-top: 1px solid #93a0c2;
}
#grid .ag-row.ag-row-focus.goto-current:before {
  content: '';
  position: absolute;
  top: -10px;
  left: 50%;
  margin-left: -40px;
  color: #93a0c2;
  text-transform: uppercase;
  font-size: 11px;
  background: #fff;
  padding: 2px 12px;
}


#grid .ag-theme-alpine .ag-row-last {
  border-bottom: none;
}
#grid .ag-row.log-new,
#grid .ag-row.ag-row-odd.log-new,
#grid .ag-row.ag-row-even.log-new,
#grid .ag-row.ag-row-focus.log-new,
#grid .ag-row.ag-row-hover.log-new {
  background-color: rgba(255, 255, 200, 0.5);
  animation: newLog 1s;
}
@keyframes newLog {
  0%   { background-color: rgba(255, 255, 200, 0.5); }
  25%  { background-color: rgba(255, 255, 100, 0.5); }
  50%  { background-color: rgba(255, 255, 150, 0.5); }
  100% { background-color: rgba(255, 255, 200, 0.5);  }
}
#grid .ag-row.log-new-first {
  border-top: 1px solid orange;
}
#grid .ag-row.log-new-first:before,
#grid .ag-row.log-new-first.log-new-first-prev:before {
  content: 'new lines';
  position: absolute;
  top: -10px;
  left: 50%;
  margin-left: -40px;
  color: orange;
  text-transform: uppercase;
  font-size: 11px;
  background: #fff;
  padding: 2px 12px;
}
#grid .ag-row.log-new-first.log-new-first-prev:before {
  content: 'new lines (previous reload)';
  margin-left: -93px;
}

.ag-theme-alpine .ag-ltr .ag-has-focus .ag-cell-focus:not(.ag-cell-range-selected) {
  border-color: transparent;
}
.ag-theme-alpine .ag-standard-button {
  /**border-color: #646464;**/
  border-color: var(--ag-alpine-active-color, #646464);
  /**color: #646464;**/
  color: var(--ag-alpine-active-color, #646464);
}
.ag-theme-alpine .ag-standard-button:hover {
  /**border-color: #646464;**/
  border-color: var(--ag-alpine-active-color, #646464);
  background-color: var(--ag-row-hover-color, rgba(100, 100, 100, 0.1));
}
.ag-theme-alpine input[class^=ag-] {
  box-shadow: none !important;
  border-color: var(--ag-input-focus-border-color, rgba(100, 100, 100, 0.4)) !important;
}
.ag-theme-alpine .ag-picker-field-wrapper:focus {
  box-shadow: none;
}
.ag-theme-alpine input[class^=ag-][type=button]:focus,
.ag-theme-alpine button[class^=ag-]:focus {
  box-shadow: none !important;
}

.custom-tooltip {
  position: absolute;
  max-width: 480px;
  /**height: 70px;**/
  border: 1px solid cornflowerblue;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 1s;
}

.custom-tooltip.ag-tooltip-hiding {
  opacity: 0;
}

.custom-tooltip p {
  margin: 5px;
  white-space: nowrap;
}

.custom-tooltip p:first-of-type {
  font-weight: bold;
}

.col_num,
.col_time,
.col_ip,
.col_type,
.col_code,
.col_line,
.col_size,
.col_service,
.col_process,
.col_pid,
.col_src {
  font-size: 12px;
}
.col_line {
  font-size: 13px;
  font-family: monospace;
}
.col_num,
.col_time,
.col_ip,
.col_size {
  font-family: monospace;
  font-size: 11px;
}

.col_num {
  /**font-size: 10px;**/
  text-align: right;
}
.col_size {
  text-align: right;
}

/** INFO - http 100 **/

/** ACCESS - http 200 **/
.log-a .col_time,
.log-mli .col_time,
.log-ms .col_time,
.log-bu .col_time,
.log-bs .col_time {
  border-left: 10px solid lightgreen;
}
.log-a .col_type,
.log-a .col_code,
.log-a .col_line,

.log-mli .col_type,
.log-mli .col_service,
.log-mli .col_process,
.log-mli .col_pid,
.log-mli .col_ip,
.log-mli .col_line,

.log-ms .col_type,
.log-ms .col_service,
.log-ms .col_process,
.log-ms .col_pid,
.log-ms .col_ip,
.log-ms .col_line,

.log-bu .col_type,
.log-bu .col_service,
.log-bu .col_process,
.log-bu .col_filter,
.log-bu .col_ip,
.log-bu .col_line,
.log-bs .col_type,
.log-bs .col_service,
.log-bs .col_process,
.log-bs .col_filter,
.log-bs .col_ip,
.log-bs .col_line {
  color: green;
}

/** REDIR - http 300 **/
.log-r .col_time,
.log-mi .col_time,
.log-mlo .col_time,
.log-bi .col_time {
  border-left: 10px solid rgb(58, 67, 75);
}
.log-r .col_type,
.log-r .col_code,
.log-r .col_line,

.log-mi .col_type,
.log-mi .col_service,
.log-mi .col_process,
.log-mi .col_pid,
.log-mi .col_ip,
.log-mi .col_line,

.log-mlo .col_type,
.log-mlo .col_service,
.log-mlo .col_process,
.log-mlo .col_pid,
.log-mlo .col_ip,
.log-mlo .col_line,

.log-bi .col_type,
.log-bi .col_service,
.log-bi .col_process,
.log-bi .col_filter,
.log-bi .col_ip,
.log-bi .col_line {
  color: lightslategray;
}
.log-mi .col_type,
.log-bi .col_type {
  background: #fafafa;
}
.log-mlo .col_type {
  background: #eee;
}

/** MAIL LOGIN / MAIL SENT **/
.log-mli .col_type,
.log-ms .col_type,
.log-bu .col_type,
.log-bs .col_type {
  background-color: lightgreen;
  color: white;
  font-weight: bold;
}

/** WARNING **/
.log-w .col_time,
.log-mw .col_time {
  border-left: 10px solid orange;
}
.log-w .col_type,
.log-mw .col_type {
  background-color: lightsalmon;
  color: white !important;
  font-weight: bold;
}
.log-w .col_line,
.log-mw .col_line,
.log-mw .col_code,
.log-mw .col_type,
.log-mw .col_service,
.log-mw .col_process,
.log-mw .col_pid,
.log-mw .col_ip,
.log-mw .col_line {
  color: orange;
}

/** ERRORS **/
.log-e .col_time,
.log-me .col_time,
.log-bb .col_time {
  border-left: 10px solid red;
  border-left: 10px solid lightcoral;
}
.log-e .col_type,
.log-me .col_type,
.log-bb .col_type {
  background-color: lightcoral;
  color: white !important;
  font-weight: bold;
}
.log-e .col_code,
.log-e .col_line,
.log-me .col_code,
.log-me .col_type,
.log-me .col_service,
.log-me .col_process,
.log-me .col_pid,
.log-me .col_ip,
.log-me .col_line,
.log-bb .col_type,
.log-bb .col_service,
.log-bb .col_process,
.log-bb .col_filter,
.log-bb .col_ip,
.log-bb .col_line {
  color: red;
}

/** SERVER ERRORS **/
.log-s .col_time,
.log-f .col_time {
  border-left: 10px solid red;
}
.log-s .col_type,
.log-f .col_type {
  /**background-color: lightcoral;**/
  background-color: red;
  color: white;
  font-weight: bold;
}
.log-s .col_code,
.log-f .col_code,
.log-s .col_line,
.log-f .col_line {
  color: red;
}

.col_service {
  text-transform: uppercase;
  font-size: 12px;
}
.col_pid {
  text-align: right;
}

.log-mli .col_type,
.log-mlo .col_type,
.log-mi .col_type,
.log-mw .col_type,
.log-me .col_type,
.log-ms .col_type,
.log-bi .col_type,
.log-bs .col_type,
.log-bu .col_type,
.log-bb .col_type {
  text-transform: capitalize;
}
.log-plesk .col_service:before,
.log-dovecot .col_service:before,
.log-qmail .col_service:before,
.log-postfix .col_service:before,
.log-quota .col_service:before,
.log-antivirus .col_service:before,
.log-spam .col_service:before,
.log-spf .col_service:before,
.log-domain_key .col_service:before {
  display: inline-block;
  padding-right: 1em;
  font-family: bootstrap-icons !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
}
.log-plesk .col_service:before {
  content: "\f585";
}
.log-qmail .col_service:before {
  content: "\f112";
}
.log-dovecot .col_service:before {
  content: "\f14c";
  content: "\f14b";
}
.log-postfix .col_service:before {
  content: "\f114";
  /**content: "\f137";**/
}
.log-spam .col_service:before {
  content: "\f32f";
}
.log-spf .col_service:before {
  content: "\f52f";
}
.log-domain_key .col_service:before {
  content: "\f44f";
}
.log-antivirus .col_service:before {
  content: "\f1dc";
}
.log-quota .col_service:before {
  content: "\f412";
}


#offcanvas-details {
  width: 800px;
}
#offcanvas-details.show {
  visibility: visible !important;
}
#offcanvas-details .offcanvas-header {
  background-color: #212529 !important;
  color: #fff;
}
#offcanvas-details .offcanvas-body {
  font-size: 13px;
}
#offcanvas-details .offcanvas-body p {
  margin-bottom: 0.25rem;
}
#offcanvas-details .log-details-nav {
  text-align: center;
  overflow: hidden;
  margin-bottom: 1rem !important;
}
#offcanvas-details .offcanvas-body label {
  font-weight: bold;
}
#offcanvas-details .offcanvas-body pre {
  font-size: 13px;
  word-wrap: break-word;
  word-break: break-all;
  white-space: pre-wrap;
  height: 250px;
  max-height: 250px;
}

.log-details-request th {
  white-space: nowrap;
}
.log-details-request td {
  word-wrap: break-word;
  word-break: break-all;
  white-space: pre-wrap;
  width: 90%;
}

#grid-bottom {
  margin: 0;
  padding: 0 8px;
  height: 40px;
  line-height: 40px;
  border-top: 1px solid #dde2eb;
  background: #f8f8f8;
  font-size: 13px;
  font-weight: 700;
}

#logs-health-summary {
  height: 20px;
  font-size: 12px;
}
#logs-health-summary .logs-nb-access {
  color: #90ee90;
}
#logs-health-summary .logs-nb-errors {
  color: #f08080;
}
#logs-health-summary .errors-stats {
}

#modal-open-archives .modal-body-scroll {
  height: 400px;
  overflow: auto;
}
#modal-open-archives .table {
  font-size: 14px;
}
#modal-open-archives .table tr {
  cursor: pointer;
}
#modal-open-archives .table tr.selected {
  cursor: default;
  background: rgba(0, 126, 176, 0.2);
  font-weight: bold;
}

#modal-goto th {
  font-size: 0.9em;
}
#modal-goto label {
  user-select: none;
  margin-top: 5px;
  margin-bottom: 0;
}
#modal-goto td.info {
  padding-top: 15px;
  padding-left: 0;
  padding-right: 20px;
  font-size: 0.7em;
}
#frm-goto-line,
#frm-goto-time {
  text-align: center;
}
#modal-goto tr.current {
  background: #dde2eb;
}
#modal-goto td.action {
  padding-top: 0;
  padding-bottom: 0;
}
#modal-goto td.action i {
  user-select: none;
  font-size: 30px;
  color: #999;
  cursor: pointer;
}
#modal-goto td .form-check-label {
  user-select: none;
  font-size: 0.9em;
}
#modal-goto td .form-check-input {
  user-select: none;
  margin-top: 8px;
}
