/**
 * jsPanel - A JavaScript library to create highly configurable multifunctional floating panels that can also be used as modal, tooltip, hint or contextmenu
 * @version v4.16.1
 * @homepage https://jspanel.de/
 * @license MIT
 * @author Stefan Sträßer - info@jspanel.de
 * @author of dialog extension: Michael Daumling - michael@terrapinlogo.com
 * @github https://github.com/Flyer53/jsPanel4.git
 */
.jsPanel {
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline;
  font-family: Roboto, "Open Sans", Lato, "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  display: flex;
  flex-direction: column;
  opacity: 0;
  overflow: visible;
  position: absolute;
  /* top: 0  do not remove, otherwise panel is at the very bottom of the page -> results in vertical scrollbars -> positioning at right incorrect */
  z-index: 100;
}

.jsPanel-hdr {
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline;
  font-family: Roboto, "Open Sans", Lato, "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  display: flex;
  flex-direction: column;
  line-height: normal;
}

.jsPanel-content {
  border: 0;
  box-sizing: border-box;
  vertical-align: baseline;
  font-family: Roboto, "Open Sans", Lato, "Helvetica Neue", Arial, sans-serif;
  font-weight: normal;
  background: #ffffff;
  color: #000000;
  font-size: 1rem;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  flex-grow: 1;
}
.jsPanel-content pre {
  color: inherit;
}

.jsPanel-ftr {
  flex-direction: row;
  justify-content: flex-end;
  flex-wrap: nowrap;
  align-items: center;
  display: none;
  box-sizing: border-box;
  font-size: 1rem;
  height: auto;
  background: #f5f5f5;
  font-weight: normal;
  color: black;
  overflow: hidden;
}

.jsPanel-ftr.active {
  display: flex;
  flex-shrink: 0;
  margin: 0;
  padding: 3px 8px;
}

.jsPanel-hdr.jsPanel-hdr-dark .jsPanel-btn:hover {
  background-color: rgba(255, 255, 255, 0.4);
}

.jsPanel-hdr.jsPanel-hdr-light .jsPanel-btn:hover {
  background-color: rgba(0, 0, 0, 0.15);
}

.jsPanel-hdr-toolbar {
  font-size: 1rem;
}

.jsPanel-headerbar {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
}
.jsPanel-headerbar img {
  vertical-align: middle;
  max-height: 38px;
}

.jsPanel-titlebar {
  display: flex;
  align-items: center;
  font-size: 1rem;
  flex: 1 1 0;
  cursor: move;
  height: 100%;
  overflow: hidden;
  user-select: none;
}
.jsPanel-titlebar .jsPanel-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-variant: small-caps;
  font-weight: normal;
  margin: 0 5px 0 8px;
  min-width: 0;
}

.jsPanel-titlebar.jsPanel-rtl {
  flex-direction: row-reverse;
}

.jsPanel-controlbar {
  display: flex;
  align-items: center;
  align-self: start;
  touch-action: none;
  margin: 3px;
}
.jsPanel-controlbar .jsPanel-btn {
  cursor: pointer;
  touch-action: none;
  border-radius: 3px;
  border: 0;
  padding: 0;
  margin: 0;
  background-color: transparent;
  box-shadow: none;
}
.jsPanel-controlbar .jsPanel-btn svg.jsPanel-icon, .jsPanel-controlbar .jsPanel-btn span, .jsPanel-controlbar .jsPanel-btn i {
  vertical-align: middle;
}
.jsPanel-controlbar .jsPanel-btn span.glyphicon {
  padding: 0 2px;
}
.jsPanel-controlbar .jsPanel-btn svg.svg-inline--fa {
  margin: 2px 3px;
}
.jsPanel-controlbar .jsPanel-btn-normalize {
  display: none;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xl svg:not(.svg-inline--fa), .jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xl span:not(.material-icons) {
  width: 2rem;
  height: 2rem;
  margin: 2px 3px;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xl .svg-inline--fa {
  font-size: 2rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xl span.material-icons {
  font-size: 2.2rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xl span[class^=fa] {
  width: auto;
  height: auto;
  font-size: 2rem;
  margin: 0 4px;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-lg svg:not(.svg-inline--fa), .jsPanel-controlbar .jsPanel-btn.jsPanel-btn-lg span:not(.material-icons) {
  width: 1.75rem;
  height: 1.75rem;
  margin: 2px 3px;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-lg .svg-inline--fa {
  font-size: 1.75rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-lg span.material-icons {
  font-size: 1.9rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-lg span[class^=fa] {
  width: auto;
  height: auto;
  font-size: 1.75rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-md svg:not(.svg-inline--fa), .jsPanel-controlbar .jsPanel-btn.jsPanel-btn-md span:not(.material-icons) {
  width: 1.5rem;
  height: 1.5rem;
  margin: 2px 3px;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-md .svg-inline--fa {
  font-size: 1.5rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-md span.material-icons {
  font-size: 1.6rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-md span[class^=fa] {
  width: auto;
  height: auto;
  font-size: 1.5rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-sm svg:not(.svg-inline--fa), .jsPanel-controlbar .jsPanel-btn.jsPanel-btn-sm span:not(.material-icons) {
  width: 1.25rem;
  height: 1.25rem;
  margin: 2px 3px;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-sm .svg-inline--fa {
  font-size: 1.25rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-sm span.material-icons {
  font-size: 1.3rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-sm span[class^=fa] {
  width: auto;
  height: auto;
  font-size: 1.25rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xs svg:not(.svg-inline--fa), .jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xs span:not(.material-icons) {
  width: 1rem;
  height: 1rem;
  margin: 1px 3px;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xs .svg-inline--fa {
  font-size: 1rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xs span.material-icons {
  font-size: 1rem;
}
.jsPanel-controlbar .jsPanel-btn.jsPanel-btn-xs span[class^=fa] {
  width: auto;
  height: auto;
  font-size: 1rem;
}

.jsPanel-hdr-toolbar {
  display: none;
  width: auto;
  height: auto;
}

.jsPanel-hdr-toolbar.active {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  padding: 3px 8px;
}

/* styles for panels using option.rtl */
.jsPanel-titlebar .jsPanel-title[dir=rtl] {
  margin: 0 8px 0 5px;
}

.jsPanel-hdr-toolbar[dir=rtl].active {
  padding: 0 8px 0 8px;
}

.jsPanel-content[dir=rtl] {
  text-align: right;
}

.jsPanel-ftr[dir=rtl] {
  flex-direction: row;
}

/* container that takes the minified jsPanels */
#jsPanel-replacement-container, .jsPanel-minimized-box, .jsPanel-minimized-container {
  display: flex;
  flex-flow: row wrap-reverse;
  background: transparent none repeat scroll 0 0;
  bottom: 0;
  height: auto;
  left: 0;
  position: fixed;
  width: auto;
  z-index: 9998;
}

.jsPanel-replacement {
  font-family: Roboto, "Open Sans", Lato, "Helvetica Neue", Arial, sans-serif;
  display: flex;
  align-items: center;
  width: 200px;
  height: 34px;
  margin: 1px 1px 0 0;
  z-index: 9999;
}
.jsPanel-replacement .jsPanel-hdr {
  flex-grow: 1;
  min-width: 0;
  padding: 0;
  height: 34px;
  overflow: hidden;
}
.jsPanel-replacement .jsPanel-hdr .jsPanel-headerlogo {
  max-width: 50%;
  overflow: hidden;
}
.jsPanel-replacement .jsPanel-hdr .jsPanel-headerlogo img {
  max-width: 100px;
  max-height: 34px;
}
.jsPanel-replacement .jsPanel-titlebar {
  cursor: default;
  min-width: 0;
}
.jsPanel-replacement .jsPanel-btn.jsPanel-btn-normalize {
  display: block;
}

.jsPanel-minimized-box, .jsPanel-minimized-container {
  position: absolute;
  width: 100%;
  overflow: hidden;
}

/* helper classes to make .jsPanel-content a flex box */
.flexOne {
  display: flex;
  flex-flow: row wrap;
}

/* css for resizeit handles -------------- */
.jsPanel-resizeit-handle {
  display: block;
  font-size: 0.1px;
  position: absolute;
  touch-action: none;
}

.jsPanel-resizeit-handle.jsPanel-resizeit-n {
  cursor: n-resize;
  height: 12px;
  left: 9px;
  top: -5px;
  width: calc(100% - 18px);
}

.jsPanel-resizeit-handle.jsPanel-resizeit-e {
  cursor: e-resize;
  height: calc(100% - 18px);
  right: -9px;
  top: 9px;
  width: 12px;
}

.jsPanel-resizeit-handle.jsPanel-resizeit-s {
  bottom: -9px;
  cursor: s-resize;
  height: 12px;
  left: 9px;
  width: calc(100% - 18px);
}

.jsPanel-resizeit-handle.jsPanel-resizeit-w {
  cursor: w-resize;
  height: calc(100% - 18px);
  left: -9px;
  top: 9px;
  width: 12px;
}

.jsPanel-resizeit-handle.jsPanel-resizeit-ne {
  cursor: ne-resize;
  height: 18px;
  right: -9px;
  top: -9px;
  width: 18px;
}

.jsPanel-resizeit-handle.jsPanel-resizeit-se {
  bottom: -9px;
  cursor: se-resize;
  height: 18px;
  right: -9px;
  width: 18px;
}

.jsPanel-resizeit-handle.jsPanel-resizeit-sw {
  bottom: -9px;
  cursor: sw-resize;
  height: 18px;
  left: -9px;
  width: 18px;
}

.jsPanel-resizeit-handle.jsPanel-resizeit-nw {
  cursor: nw-resize;
  height: 18px;
  left: -9px;
  top: -9px;
  width: 18px;
}

.jsPanel-drag-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

/* Error panel ----------------- */
.jsPanel-error .jsPanel-content {
  border: 0 !important;
  padding-top: 0 !important;
  font-size: 0.9rem;
  text-align: center;
}
.jsPanel-error .jsPanel-content p {
  margin: 0 0 10px 0;
}
.jsPanel-error .jsPanel-content mark {
  background: lavender;
  border-radius: 0.33rem;
  padding: 0 8px;
  font-family: monospace;
}
.jsPanel-error .jsPanel-content .jsPanel-error-content-separator {
  width: 100%;
  height: 1px;
  background-image: linear-gradient(90deg, rgb(255, 255, 255) 0%, rebeccapurple 50%, rgb(255, 255, 255) 100%);
  margin-bottom: 10px;
}

/* box-shadows -------------------------------------------------------- */
.jsPanel-depth-1 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.jsPanel-depth-2 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.jsPanel-depth-3 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.jsPanel-depth-4 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

.jsPanel-depth-5 {
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.3), 0 20px 14px rgba(0, 0, 0, 0.22);
}

/* snap sensitive areas ------------------------------------------------ */
.jsPanel-snap-area {
  position: fixed;
  background: black;
  opacity: 0.2;
  border: 1px solid silver;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.5), 0 10px 10px rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

.jsPanel-snap-area-lt, .jsPanel-snap-area-lc, .jsPanel-snap-area-lb, .jsPanel-snap-area-left-top, .jsPanel-snap-area-left-center, .jsPanel-snap-area-left-bottom {
  left: 0;
}

.jsPanel-snap-area-ct, .jsPanel-snap-area-cb {
  left: 37.5%;
}

.jsPanel-snap-area-rt, .jsPanel-snap-area-rc, .jsPanel-snap-area-rb, .jsPanel-snap-area-right-top, .jsPanel-snap-area-right-center, .jsPanel-snap-area-right-bottom {
  right: 0;
}

.jsPanel-snap-area-lt, .jsPanel-snap-area-ct, .jsPanel-snap-area-rt, .jsPanel-snap-area-left-top, .jsPanel-snap-area-center-top, .jsPanel-snap-area-right-top {
  top: 0;
}

.jsPanel-snap-area-lc, .jsPanel-snap-area-rc {
  top: 37.5%;
}

.jsPanel-snap-area-lb, .jsPanel-snap-area-cb, .jsPanel-snap-area-rb, .jsPanel-snap-area-left-bottom, .jsPanel-snap-area-center-bottom, .jsPanel-snap-area-right-bottom {
  bottom: 0;
}

.jsPanel-snap-area-ct, .jsPanel-snap-area-cb {
  width: 25%;
}

.jsPanel-snap-area-lc, .jsPanel-snap-area-rc {
  height: 25%;
}

.jsPanel-snap-area-lt, .jsPanel-snap-area-left-top {
  border-bottom-right-radius: 100%;
}

.jsPanel-snap-area-rt, .jsPanel-snap-area-right-top {
  border-bottom-left-radius: 100%;
}

.jsPanel-snap-area-rb, .jsPanel-snap-area-right-bottom {
  border-top-left-radius: 100%;
}

.jsPanel-snap-area-lb, .jsPanel-snap-area-left-bottom {
  border-top-right-radius: 100%;
}

/* tooltip and tooltip connectors */
.jsPanel-connector-left-top-corner,
.jsPanel-connector-right-top-corner,
.jsPanel-connector-left-bottom-corner,
.jsPanel-connector-right-bottom-corner {
  width: 12px;
  height: 12px;
  position: absolute;
  border-radius: 50%;
}

.jsPanel-connector-left-top-corner {
  left: calc(100% - 6px);
  top: calc(100% - 6px);
}

.jsPanel-connector-right-top-corner {
  left: -6px;
  top: calc(100% - 6px);
}

.jsPanel-connector-right-bottom-corner {
  left: -6px;
  top: -6px;
}

.jsPanel-connector-left-bottom-corner {
  left: calc(100% - 6px);
  top: -6px;
}

.jsPanel-connector-top,
.jsPanel-connector-topleft,
.jsPanel-connector-topright,
.jsPanel-connector-bottom,
.jsPanel-connector-bottomleft,
.jsPanel-connector-bottomright,
.jsPanel-connector-left,
.jsPanel-connector-lefttop,
.jsPanel-connector-leftbottom,
.jsPanel-connector-right,
.jsPanel-connector-righttop,
.jsPanel-connector-rightbottom {
  width: 0;
  height: 0;
  position: absolute;
  border: 12px solid transparent;
}

.jsPanel-connector-top,
.jsPanel-connector-topleft,
.jsPanel-connector-topright {
  top: 100%;
  border-bottom-width: 0;
}

.jsPanel-connector-top {
  left: calc(50% - 12px);
}

.jsPanel-connector-topleft {
  left: 0px;
}

.jsPanel-connector-topright {
  left: calc(100% - 24px);
}

.jsPanel-connector-bottom,
.jsPanel-connector-bottomleft,
.jsPanel-connector-bottomright {
  top: -12px;
  border-top-width: 0;
}

.jsPanel-connector-bottom {
  left: calc(50% - 12px);
}

.jsPanel-connector-bottomleft {
  left: 0px;
}

.jsPanel-connector-bottomright {
  left: calc(100% - 24px);
}

.jsPanel-connector-left,
.jsPanel-connector-lefttop,
.jsPanel-connector-leftbottom {
  left: 100%;
  border-right-width: 0;
}

.jsPanel-connector-left {
  top: calc(50% - 12px);
}

.jsPanel-connector-lefttop {
  top: 0px;
}

.jsPanel-connector-leftbottom {
  top: calc(100% - 24px);
}

.jsPanel-connector-right,
.jsPanel-connector-righttop,
.jsPanel-connector-rightbottom {
  left: -12px;
  border-left-width: 0;
}

.jsPanel-connector-right {
  top: calc(50% - 12px);
}

.jsPanel-connector-righttop {
  top: 0px;
}

.jsPanel-connector-rightbottom {
  top: calc(100% - 24px);
}

/* IE11 CSS styles go here */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .jsPanel-replacement .jsPanel-titlebar {
    max-width: 105px;
  }
}
/* XXXXXXXXXXXXXXXXXXXXXXX */
/* css3 animations */
@keyframes jsPanelFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.jsPanelFadeIn {
  opacity: 0;
  animation: jsPanelFadeIn ease-in 1;
  animation-fill-mode: forwards;
  animation-duration: 600ms;
}

@keyframes jsPanelFadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.jsPanelFadeOut {
  animation: jsPanelFadeOut ease-in 1;
  animation-fill-mode: forwards;
  animation-duration: 600ms;
}

@keyframes modalBackdropFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.65;
  }
}
.jsPanel-modal-backdrop {
  animation: modalBackdropFadeIn ease-in 1;
  animation-fill-mode: forwards;
  animation-duration: 750ms;
  background: rgb(0, 0, 0);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@keyframes modalBackdropFadeOut {
  from {
    opacity: 0.65;
  }
  to {
    opacity: 0;
  }
}
.jsPanel-modal-backdrop-out {
  animation: modalBackdropFadeOut ease-in 1;
  animation-fill-mode: forwards;
  animation-duration: 400ms;
}

.jsPanel-modal-backdrop-multi {
  background: rgba(0, 0, 0, 0.15);
}

.jsPanel-content .jsPanel-iframe-overlay {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
}

.jsPanel-addCloseCtrl {
  position: absolute;
  top: 0;
  right: 0;
  width: 0.8rem;
  height: 0.8rem;
  margin: 2px;
  cursor: pointer;
  line-height: 0.8rem;
  padding: 0;
  z-index: 100;
  border: 0;
  background-color: transparent;
}

.jsPanel-addCloseCtrl.rtl {
  right: unset;
  left: 0;
}

.jsPanel-progressbar {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
}
.jsPanel-progressbar .jsPanel-progressbar-slider {
  position: absolute;
  width: 0;
  height: 3px;
  background: lightgray;
  right: 0;
}

.jsPanel-progressbar.active {
  height: 3px;
}

@keyframes progressbar {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}
.jsPanel-content.jsPanel-content-noheader {
  border: none !important;
}

body {
  -ms-overflow-style: scrollbar;
}

/*# sourceMappingURL=jspanel.css.map */
