/*
	POPUPS / DIALOGS ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

.popup {
  position: fixed;
  top: 62px;
  left: 120px;
  min-height: 100vh;
  z-index: 20;
}
/*
.popup:before {
    content: ' ';
    background: rgba(0,0,0,0.75);
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    min-height: 100%;
    z-index: -1;
}
    */

.popup > div {
  position: fixed;
  top: 5%;
  right: 5%;
  left: 5%;
  height: 85%;
  background: #ffffff;
  overflow: hidden;
  overflow-y: auto;
  padding-bottom: 20px;
}
div::-webkit-scrollbar {
  width: 10px;
}
div::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
div::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.2);
  outline: 1px solid rgba(255, 255, 255, 0.25);
}
.popup > div > h2 {
  position: relative;
  background: #11add4;
  color: #FFFFFF;
  padding: 40px;
  margin-bottom: 0;
  font-weight: 300;
  letter-spacing: 1px;
  font-size: 20px;
}
.popup > div > h2 > button.close {
  position: absolute;
  right: 0;
  top: 10px;
  height: 26px;
  width: 26px;
  padding: 0;
  font-size: 26px;
  justify-content: center;
  border: none;
}
/*
.popup > div > h2:before {
    font-family: Material Icons;
    content: 'edit';
    position: relative;
    top: -2px;
    font-size: 1.4em;
    vertical-align: middle;
    padding-right: 10px;
}
*/

.popup.security > div > h2:before {
  font-family: Material Icons;
  content: 'security';
}
/*
	TOOLBARS -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

.toolbar {
  display: flex;
  flex-wrap: wrap;
}
.toolbar.owned-by-title {
  position: absolute;
  right: 10px;
  top: 10px;
}
.popup .toolbar.owned-by-title {
  right: 60px;
  top: 5px;
}
.popup > div > .toolbar {
  background: #202446;
}
.toolbar li {
  display: inline-flex;
  margin-right: 10px;
}
.toolbar li:last-child {
  margin-right: 0;
}
/*
	UBIQUITOUS JQUI -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

input[type=text].hasDatepicker + .icon_datepicker {
  padding-left: 5px;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 50%;
  padding: 0.2em;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  background-image: unset !important;
  text-indent: unset !important;
  left: unset !important;
  top: unset !important;
  margin: 0 !important;
  position: static !important;
  width: unset !important;
  height: unset !important;
}
.ui-datepicker .ui-datepicker-prev span:before,
.ui-datepicker .ui-datepicker-next span:before {
  font-family: Material Icons;
  font-size: 2em;
}
.ui-datepicker .ui-datepicker-prev span:before {
  content: 'chevron_left';
}
.ui-datepicker .ui-datepicker-next span:before {
  content: 'chevron_right';
}
.ui-datepicker-container {
  white-space: nowrap;
}
/*
	ANIMATIONS ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/

@keyframes waiter {
  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);
  }
}
.waiter:before {
  display: inline-block;
  font-family: Material Icons;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -webkit-animation: fa-spin 2s infinite linear;
  animation: waiter 2s infinite linear;
  content: 'more_horiz';
}
.waiter.wait-large:before,
.popup .waiter:before {
  font-size: 64px;
}
.waiter.content-wait {
  text-align: center;
  margin: 40px;
}
.waiter.content-wait:before {
  font-size: 64px;
}
table.waiting {
  overflow: hidden;
}
table.waiting thead:before {
  content: ' ';
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  z-index: 1;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.waiting .waiter-bar,
.waiter-bar.waiting {
  background: linear-gradient(315deg, #3d9292, #ffffff 0%, #3d9292);
  animation: PagerWaitingAnimation 1s ease infinite;
  height: 15px;
}
.waiting .pager-row .waiter-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 8px;
}
input[type=text].waiting {
  background-image: url('data:image/gif;base64,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');
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-position: right 10px center;
  transition: none;
}
/* ================================================================================================================================================================ */

/* ERRORS */

/* ================================================================================================================================================================ */

.efs {
  padding: 0 !important;
  margin: 0 !important;
}
.efs:empty {
  display: none;
}
.ef {
  display: none;
  padding: 0.25em;
  background: #FE6565;
  color: #ffffff;
  border-radius: 2px;
  margin-bottom: 0.25em;
}
.wf {
  display: none;
  padding: 0.5em;
  background: #f9c500;
  color: #000000;
  border-radius: 2px;
  margin-bottom: 0.25em;
}
.if {
  display: none;
  padding: 5px !important;
  background: #4f1eff;
  color: #ffffff;
  border-radius: 2px;
  margin-bottom: 5px;
}
.if:before {
  font-family: FontAwesome;
  content: '\f05a';
  padding-right: 10px;
}
.ef.static,
.wf.static,
.if.static {
  display: inherit;
}
/*
    ========================================================================================================================================================================================
*/

.flash-message {
  position: fixed;
  top: 0;
  text-align: center;
  font-size: 24px;
  border: 1px solid #efe04c;
  border-top: none;
  background: #fff900;
  z-index: 1000;
  transition: all ease 3s;
  opacity: 0;
  width: 800px;
  margin-left: -400px;
  left: 50%;
  height: 0;
  overflow: hidden;
}
.flash-message > * {
  display: inline-block;
  padding: 33px;
}
.flash-message.show {
  transition: all ease 0.2s;
  opacity: 1;
  height: 100px;
}
.flash-message:before {
  font-family: 'Material Icons';
  content: '\e88e';
  padding-right: 20px;
  font-size: 48px;
  vertical-align: middle;
}
.attention-item {
  color: #ff4f1e;
}
.good-item {
  color: #00d15e;
}
.warning-item {
  color: #f9c500;
}
.na-item {
  color: #aaaaaa;
}
/*
    ========================================================================================================================================================================================
*/

table .pager-row {
  color: #FFFFFF;
}
table .pager-row td {
  position: relative;
}
.generic_pager {
  display: flex;
  align-items: stretch;
}
.waiting .generic_pager {
  visibility: hidden;
}
.generic_pager > .pager_action,
.generic_pager > .pager_info {
  display: inline-flex;
  align-items: center;
  color: #FFFFFF;
}
.generic_pager > .pager_action:before {
  font-family: 'Material Icons';
  font-size: 24px;
  font-weight: 800;
}
.generic_pager > .pager_first:before {
  content: 'first_page';
}
.generic_pager > .pager_prev:before {
  content: 'chevron_left';
}
.generic_pager > .pager_next:before {
  content: 'chevron_right';
}
.generic_pager > .pager_last:before {
  content: 'last_page';
}
.generic_pager input[type=text] {
  font-size: 18px !important;
  padding: 5px !important;
  color: #7F90B2 !important;
  border: 1px solid #7F90B2;
  text-align: center;
  margin: 0 10px;
}
.generic_pager .pager_pages,
.generic_pager .pager_total_records {
  margin-right: 10px;
}
.ui-lookup {
  display: flex;
  align-items: center;
}
.ui-lookup .ui-lookup-search {
  margin-left: 10px;
}
.ui-autocomplete .ui-menu-item span.ui-menu-item-wrapper {
  display: block;
  border: none !important;
  background: none !important;
  padding: 3px 0 3px 0 !important;
  margin: 0 !important;
}
.ui-autocomplete .ui-menu-item .flag_IsAddOn:after {
  content: ' (Add-On)';
}
/* ================================================================================================================================================================ */

/* ANIMATIONS */

/* ================================================================================================================================================================ */

@keyframes PagerWaitingAnimation {
  0% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 0%, #14ccc5);
  }
  10% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 10%, #14ccc5);
  }
  20% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 20%, #14ccc5);
  }
  30% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 30%, #14ccc5);
  }
  40% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 40%, #14ccc5);
  }
  50% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 50%, #14ccc5);
  }
  60% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 60%, #14ccc5);
  }
  70% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 70%, #14ccc5);
  }
  80% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 80%, #14ccc5);
  }
  90% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 90%, #14ccc5);
  }
  100% {
    background: linear-gradient(315deg, #14ccc5, rgba(20, 204, 197, 0.1) 100%, #14ccc5);
  }
}
@keyframes fadeInAnimation {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    opacity: 0;
    display: inherit;
  }
  100% {
    opacity: 1;
    display: inherit;
  }
}
@keyframes fadeOutAnimation {
  0% {
    opacity: inherit;
    display: inherit;
  }
  99% {
    opacity: 0;
    display: inherit;
  }
  100% {
    opacity: 0;
    display: none;
  }
}
