.form-control.error, .form-select.error {
    border-color: #dc3545;
}
.input-group-addon {
    top: 8px!important;
    z-index: 10;
}
.form-control.error ~ .error {
    width: 100%;
}

/* ------------------------------------------------------------------------------
*
*  # Pick-a-date - Picker base
*
*  The mobile-friendly, responsive, and lightweight jQuery date & time input picker
*
*  Version: 1.0
*  Latest update: May 25, 2015
*
* ---------------------------------------------------------------------------- */
.picker {
    width: 100%;
    text-align: left;
    position: absolute;
    top: 100%;
    margin-top: -1px;
    z-index: 990;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .picker__input {
    cursor: default;
  }
  .picker__holder {
    width: 100%;
    overflow-y: auto;
    position: absolute;
    display: none;
    background-color: #fff;
    border: 1px solid #ddd;
    border-top-width: 0;
    border-bottom-width: 0;
    max-width: 280px;
    max-height: 0;
    -webkit-overflow-scrolling: touch;
  }
  .picker--opened .picker__holder {
    max-height: 480px;
    border-top-width: 1px;
    border-bottom-width: 1px;
    display: block;
  }
/* ------------------------------------------------------------------------------
  *
  *  # Pick-a-date - Date picker
  *
  *  The mobile-friendly, responsive, and lightweight jQuery date & time input picker
  *
  *  Version: 1.0
  *  Latest update: May 25, 2015
  *
  * ---------------------------------------------------------------------------- */
  .picker__box {
    padding: 5px;
  }
  .picker__header {
    text-align: center;
    position: relative;
    font-size: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .picker__month,
  .picker__year {
    font-weight: 500;
    display: inline-block;
    margin-left: 5px;
    margin-right: 5px;
  }
  .picker__year {
    color: #999999;
    font-size: 12px;
    font-weight: normal;
  }
  .picker__select--month,
  .picker__select--year {
    border-color: #ddd;
    height: 32px;
    font-size: 13px;
    line-height: 1.6666667;
    margin-left: 5px;
    margin-right: 5px;
    outline: 0;
  }
  .picker__select--month {
    width: 35%;
  }
  .picker__select--year {
    width: 22.5%;
  }
  .picker__nav--prev,
  .picker__nav--next {
    position: absolute;
    padding: 8px;
    top: 50%;
    margin-top: -16px;
    border-radius: 2px;
    line-height: 1;
  }
  .picker__nav--prev:before,
  .picker__nav--next:before {
    font-family: 'Material Icons Outlined';
    display: block;
    font-size: 16px;
    width: 16px;
    text-align: center;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .picker__nav--prev:hover,
  .picker__nav--next:hover {
    cursor: pointer;
    background-color: #f5f5f5;
  }
  .picker__nav--prev {
    left: 0;
  }
  .picker__nav--prev:before {
    content: 'arrow_back';
  }
  .picker__nav--next {
    right: 0;
  }
  .picker__nav--next:before {
    content: 'arrow_forward';
  }
  .picker__nav--disabled,
  .picker__nav--disabled:hover,
  .picker__nav--disabled:before,
  .picker__nav--disabled:before:hover {
    cursor: default;
    background: none;
    border-right-color: #f5f5f5;
    border-left-color: #f5f5f5;
  }
  .picker__table {
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    table-layout: fixed;
    font-size: inherit;
    width: 100%;
    margin-bottom: 10px;
  }
  .picker__table td {
    margin: 0;
    padding: 0;
  }
  .picker__weekday {
    width: 14.285714286%;
    font-size: 12px;
    text-align: center;
    padding-bottom: 10px;
    color: #999999;
    font-weight: 400;
  }
  .picker__day {
    padding: 7px;
  }
  .picker__day--today {
    position: relative;
    background-color: #f5f5f5;
  }
  .picker__day--today:before {
    content: "";
    position: absolute;
    top: 2px;
    right: 2px;
    width: 0;
    height: 0;
    border-top: 6px solid #26A69A;
    border-left: 6px solid transparent;
  }
  .picker__day--outfocus {
    color: #ccc;
  }
  .picker__day--infocus:hover,
  .picker__day--outfocus:hover {
    cursor: pointer;
    color: #333333;
    background-color: #f5f5f5;
  }
  .picker__day--highlighted:before {
    border-top-color: #fff;
  }
  .picker__day--highlighted,
  .picker__day--selected {
    border-radius: 3px;
  }
  .picker__day--highlighted,
  .picker__day--highlighted:hover,
  .picker--focused .picker__day--highlighted {
    cursor: pointer;
    color: #fff;
    background-color: #26A69A;
  }
  .picker__day--selected,
  .picker__day--selected:hover,
  .picker--focused .picker__day--selected {
    background-color: #26A69A;
    color: #fff;
  }
  .picker__day--disabled,
  .picker__day--disabled:hover {
    background: #fafafa;
    color: #999999;
    cursor: default;
  }
  .picker__day--disabled:before {
    border-top-color: #999;
  }
  .picker__day--highlighted .picker__day--disabled,
  .picker__day--highlighted .picker__day--disabled:hover {
    background-color: #bbbbbb;
  }
  .picker__footer {
    text-align: center;
  }
  .picker__footer button {
    border: 0;
    background: #fff;
    padding: 7px 12px;
    border-radius: 3px;
    font-weight: 500;
    cursor: pointer;
    display: inline-block;
  }
  .picker__footer button:hover,
  .picker__footer button:focus {
    outline: 0;
    background-color: #f5f5f5;
  }
  .picker__footer button:before {
    height: 0;
  }
  .picker__button--today:before {
    content: '';
    margin-right: 5px;
    position: relative;
    display: inline-block;
    top: -1px;
    width: 0;
    border-top: 6px solid #2196F3;
    border-left: 6px solid transparent;
  }
  .picker__button--close:before {
    content: '\D7';
    display: inline-block;
    position: relative;
    margin-right: 5px;
    top: 1px;
    font-size: 16px;
  }
  .picker__button--clear:before {
    content: '';
    display: inline-block;
    position: relative;
    top: -3px;
    width: 8px;
    margin-right: 5px;
    border-top: 2px solid #F44336;
}
.control-with-mask {
    color: transparent!important;
}
/* ------------------------------------------------------------------------------
*
*  # Anytime picker
*
*  jQuery datepicker/timepicker and a Date/String parse/format utility
*
*  Version: 1.1
*  Latest update: Oct 20, 2015
*
* ---------------------------------------------------------------------------- */
.AnyTime-pkr {
    text-align: center;
  }
  .AnyTime-pkr * {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .AnyTime-pkr .AnyTime-date {
    float: left;
  }
  .AnyTime-pkr .AnyTime-date + .AnyTime-time {
    margin-left: 50px;
    float: left;
  }
  .AnyTime-win {
    padding: 5px;
    background-color: #fff;
    border: 1px solid #ddd;
    display: inline-block;
    border-radius: 3px;
    z-index: 10;
    position: fixed!important;
  }
  .AnyTime-cloak {
    position: absolute;
    opacity: 0.7;
    filter: alpha(opacity=70);
  }
  .AnyTime-hdr {
    font-size: 15px;
    margin: 20px 10px;
    line-height: 1;
  }
  .AnyTime-x-btn {
    display: none;
    font-size: 0;
    cursor: pointer;
    float: right;
    border-radius: 2px;
    opacity: 0.6;
    filter: alpha(opacity=60);
  }
  .AnyTime-x-btn:hover {
    opacity: 1;
    filter: alpha(opacity=100);
  }
  .AnyTime-x-btn:after {
    content: '\ed6b';
    font-family: 'icomoon';
    font-size: 16px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .AnyTime-lbl {
    font-size: 13px;
    margin-bottom: 10px;
    font-weight: 500;
    margin-top: 25px;
  }
  .AnyTime-lbl:first-child {
    margin-top: 5px;
  }
  .AnyTime-yrs .ui-state-highlight,
  .AnyTime-yrs .ui-state-highlight:hover {
    background-color: #F44336;
    color: #fff;
  }
  .AnyTime-mons .ui-state-highlight,
  .AnyTime-mons .ui-state-highlight:hover {
    background-color: #26A69A;
    color: #fff;
  }
  .AnyTime-time .ui-state-highlight,
  .AnyTime-time .ui-state-highlight:hover {
    background-color: #607D8B;
    color: #fff;
  }
  .AnyTime-dom-table .ui-state-highlight,
  .AnyTime-body-yr-selector .ui-state-highlight,
  .AnyTime-dom-table .ui-state-highlight:hover,
  .AnyTime-body-yr-selector .ui-state-highlight:hover {
    background-color: #2196F3;
    color: #fff;
  }
  .AnyTime-yrs-past-btn,
  .AnyTime-yrs-ahead-btn {
    display: inline-block;
  }
  .AnyTime-yr-prior-btn,
  .AnyTime-yr-cur-btn,
  .AnyTime-yr-next-btn {
    display: inline-block;
    min-width: 50px;
  }
  .AnyTime-mons:after {
    content: "";
    display: table;
    clear: both;
  }
  .AnyTime-dom-table {
    width: 100%;
  }
  .AnyTime-pkr th.AnyTime-dow {
    color: #999999;
    font-size: 12px;
    padding: 7px;
    font-weight: 400;
  }
  .AnyTime-mon-btn {
    float: left;
  }
  .AnyTime-mon7-btn {
    clear: left;
  }
  .AnyTime-dom-btn:hover {
    background-color: #f5f5f5;
  }
  .AnyTime-dom-btn-empty {
    display: none;
  }
  .AnyTime-time,
  .AnyTime-hrs-am,
  .AnyTime-hrs-pm,
  .AnyTime-mins-tens,
  .AnyTime-mins-ones,
  .AnyTime-secs-tens,
  .AnyTime-secs-ones,
  .AnyTime-hrs,
  .AnyTime-mins,
  .AnyTime-secs,
  .AnyTime-offs {
    display: inline-block;
  }
  .AnyTime-btn {
    padding: 7px 12px;
    cursor: pointer;
    border-radius: 2px;
  }
  .AnyTime-btn:hover {
    background-color: #f5f5f5;
  }
  .AnyTime-hr-btn,
  .AnyTime-min-ten-btn,
  .AnyTime-min-one-btn,
  .AnyTime-sec-ten-btn,
  .AnyTime-sec-one-btn {
    min-width: 40px;
  }
  .AnyTime-hrs-pm,
  .AnyTime-mins-ones,
  .AnyTime-secs-ones {
    margin-left: 2px;
  }
  .AnyTime-mins-tens,
  .AnyTime-secs-tens {
    margin-left: 20px;
  }
  .AnyTime-off-cur-btn {
    display: inline-block;
    overflow: hidden;
  }
  .AnyTime-off-select-btn {
    display: inline-block;
    vertical-align: top;
  }
  .AnyTime-off-selector {
    margin: 10px;
    position: absolute;
  }
  .AnyTime-body-off-selector {
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    white-space: nowrap;
  }
  .AnyTime-off-off-btn {
    text-align: left;
  }
  .AnyTime-yr-selector {
    position: absolute;
    width: 90%;
  }
  .AnyTime-body-yr-selector {
    margin: 0;
  }
  .AnyTime-yr-mil,
  .AnyTime-yr-cent,
  .AnyTime-yr-dec,
  .AnyTime-yr-yr,
  .AnyTime-yr-era {
    display: inline-block;
    vertical-align: top;
    width: 20%;
  }
  .AnyTime-era-btn {
    margin-left: 10px;
  }
  @media (max-width: 769px) {
    .AnyTime-pkr .AnyTime-date {
      float: none;
    }
    .AnyTime-mon-btn {
      float: none;
      display: inline-block;
    }
    .AnyTime-date + .AnyTime-time {
      margin-left: 0;
      margin-top: 25px;
      float: none;
    }
  }
  .select2-container--open {
      z-index: 10000;
  }
.form-group .select2 {
    width: 100%!important;
}
.select2-results__option[aria-selected=false]:hover {
    background: #def1f0 !important;
    color: #333;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #aed4d1 !important;
    color: #333;
}

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

.mask-loading-effect {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    top: 0;
    left: 0;
    text-align: center;
    z-index: 1000000;
}
.mask-loading-effect .content {
    display: block;
    margin: auto;
    position: fixed;
    width: 100%;
    top: 40%;
    text-align: center;
    z-index: 100000000000;
    color: #fff;
    font-size: 20px;
    font-style: italic;
}

.lds-ellipsis {
    display: inline-block;
    position: relative;
    width: 64px;
    height: 20px;
  }
  .lds-ellipsis div {
    position: absolute;
    top: 10px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #aaa;
    animation-timing-function: cubic-bezier(0, 1, 1, 0);
  }
  .lds-ellipsis div:nth-child(1) {
    left: 6px;
    animation: lds-ellipsis1 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(2) {
    left: 6px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(3) {
    left: 26px;
    animation: lds-ellipsis2 0.6s infinite;
  }
  .lds-ellipsis div:nth-child(4) {
    left: 45px;
    animation: lds-ellipsis3 0.6s infinite;
  }
  @keyframes lds-ellipsis1 {
    0% {
      transform: scale(0);
    }
    100% {
      transform: scale(1);
    }
  }
  @keyframes lds-ellipsis3 {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(0);
    }
  }
  @keyframes lds-ellipsis2 {
    0% {
      transform: translate(0, 0);
    }
    100% {
      transform: translate(19px, 0);
    }
  }