/* Animations */
.element-hidden {visibility: hidden; opacity: 0; transition: .5s all ease-in-out;}
.element-hidden-fast {visibility: hidden; opacity: 0; transition: .3s all ease-in-out;}
.element-hidden-xfast {visibility: hidden; opacity: 0; transition: .2s all ease-in-out;}
.element-show {visibility: visible !important; opacity: 1 !important;}
.no-height {max-height: 0;}
.max-height {max-height: 1080px;}

/* Flexes */
.flex-box-centered {display: flex; justify-content: center; align-items: center;}
.flex-box-centered.top {align-items: flex-start;}
.flex-box-centered.bottom {align-items: flex-end;}
.flex-box-right {display: flex; justify-content: flex-end; align-items: center;}
.flex-box-right.top {align-items: flex-start;}
.flex-box-right.bottom {align-items: flex-end;}
.flex-box-left {display: flex; justify-content: flex-start; align-items: center;}
.flex-box-left.top {align-items: flex-start;}
.flex-box-left.bottom {align-items: flex-end;}
.flex-box-wrap {
  flex-wrap: wrap;
}

/* flex margins*/
.margin-r-0 {
  margin-left: auto;
  margin-right: 0;
}
.margin-l-0 {
  margin-right: auto;
  margin-left: 0;
}

.content-wrapper.initial, .main-footer.initial {
  margin-left: 0 !important;
}
.custom-hide {
  display: none;
}
.custom-show {
  display: inherit;
}
.mask-hidden {
  opacity: 0;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -ms-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}
.mask-show {
  opacity: 1;
}

.fi {
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: normal;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
}

.fi-reg {
  font-family: 'regions';
}
.fi-wll {
  font-family: 'well-icons';
}
.fi-anm {font-family: 'Flaticon-Animals';}
.fi-bld {font-family: 'Flaticon-Buildings';}
.fi-foo {font-family: 'Flaticon-Food';}
.fi-ind {font-family: 'Flaticon-Industrial','ftl-ind';}
.fi-ind2 {font-family: 'Flaticon-Industrial2';}
.fi-ltr {font-family: 'Flaticon-Letters';}
.fi-m_t {font-family: 'Flaticon-Map-Tourism';}
.fi-med {font-family: 'Flaticon-Medical';}
.fi-n_e {font-family: 'Flaticon-Nature-Ecology';}
.fi-nbr {font-family: 'Flaticon-Numbers';}
.fi-nbr2 {font-family: 'Flaticon-Numbers2';}
.fi-off {font-family: 'Flaticon-Office';}
.fi-s_l {font-family: 'Flaticon-Sports-Leisure';}
.fi-shp {font-family: 'Flaticon-Shapes';}
.fi-trp {font-family: 'Flaticon-Transportation';}
.fi-ppl {font-family: 'Flaticon-People';}
.fi-thg {font-family: 'Flaticon-Things';}
.fi-war {font-family: 'Flaticon-War';}

/* Theme override */

.content-wrapper.no-sidebar {
  margin-left: 0;
}

.gray-bg {
  background-color: #D2D6DE;
}

.ustats-opsb {
  height: 100px;
}

@media (min-width: 768px) {
  .content-wrapper.show-sidebar {
    margin-left: 230px;
  }
  .main-footer.show-sidebar {
    margin-left: 230px !important;
  }
  .map-info-window {
    width: 300px;
    padding-right: 15px;
  }
}

@media (min-width: 992px) {
  .ustats-opsb {
    height: 34px;
  }
  .side-border-l {
    border-left: 1px solid #F4F4F4;
  }
  .side-border-r {
    border-right: 1px solid #F4F4F4;
  }
  .map-info-window {
    width: 600px;
    padding-right: 25px;
  }
}
.main-footer.no-sidebar {
  margin-left: 0;
}

.auth-form .message {
  text-align: center;
  color: gray;
}
.auth-form .message.error {
  color: #FF4C4C;
}
.auth-form .message.success {
  color: #00A65A
}
.auth-form .message.success:before {
  content: '*';
  position: relative; top: 6px;
  color: #00A65A;
  margin-right: 5px;
  font-size: 20px;
}
.auth-form .message.error:before {
  content: '*';
  position: relative; top: 6px;
  color: #FF4C4C;
  text-shadow: 1px 1px 0px rgba(229, 0, 0, 0.3);
  margin-right: 5px;
  font-size: 20px;
}

.select2-container {
  display: block;
  width: 100% !important;
}

.select-icons {
  display: block;
  text-align: center;
  font-size: 18px;
}

.text-italic {
  font-style: italic;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-no-bold {
  font-weight: normal;
}
.text-no-shadow {
  text-shadow: none;
}
.text-shaded {
  text-shadow: 1px 1px 2px #000;
}
.text-light-shaded {
  text-shadow: 1px 1px 2px #AAA;
}
.text-white-shaded {
  color: #FFF !important;
  text-shadow: 1px 1px 1px #000;
}
.text-white-shaded-lean {
  color: #FFF;
  text-shadow: 1px 1px 1px #000;
}
.text-dark-shaded {
  color: #0a4465;
  text-shadow: 1px 1px 1px #FFF;
}
.bg-fade-to-right {
  background: linear-gradient(to right, rgba(0,0,0,.1), transparent);
}
.shadow-box {
  box-shadow: 0 0 2px #888;
}
.font-cartofact {
  color: #0a4566 !important;
}
.font-banana {
  color: #FF0 !important;
}
.font-gray-1 {
  color: #DDD !important;
}
.font-gray-2 {
  color: #AAA !important;
}
.font-gray-3 {
  color: #888 !important;
}
.font-dred {
  color: #E13C3C;
}
.font-dred-strict {
  color: #E13C3C !important;
}
.font-white {
  color: #FFF !important;

}
.font-memo {
  color: #FFFF70;
}
.scroll-box-inner-shadow {
  box-shadow: inset 2px 2px 2px #666;
}
.border-radius-3 {
  border-radius: 3px !important;
}
.disabled-action {
  color: #AAA !important;
  text-shadow: none;
  pointer-events: none;
}
.disabled-action.brighter {
  color: #DDD !important;
}
.disabled-action.tipped {
  pointer-events: all;
}
.opa-3 {
  opacity: .3 !important;
}
.opa-5 {
  opacity: .5 !important;
}
.opa-6 {
  opacity: .6 !important;
}
.opa-7 {
  opacity: .7 !important;
}
.opa-8 {
  opacity: .8 !important;
}
.text-scratched {
  text-decoration: line-through;
}
.bg-cartofact, .bg-cartofact-active {
  color: #FFF !important;
}
.bg-cartofact {
  background-color: #0a4566 !important;
}
.bg-cartofact-active {
  background-color: #043551 !important;
}
.bg-cartofact-gradient {
  background: #0a4566 !important;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #0a4566), color-stop(1, #0e547b)) !important;
  background: -ms-linear-gradient(bottom, #0a4566, #0e547b) !important;
  background: -moz-linear-gradient(center bottom, #0a4566 0%, #0e547b 100%) !important;
  background: -o-linear-gradient(#0e547b, #0a4566) !important;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0e547b', endColorstr='#0a4566', GradientType=0) !important;
  color: #fff;
}
.bgw {
  background-color: #FFF !important;
}
.bg-grayed {
  background-color: #DDD !important;
}
.border-cartofact {
  border: 1px solid #0a4566 !important;
}
.border-white {
  border: 1px solid #FFF;
}
.border-white-5 {
  border: 5px solid #FFF;
}
.border-gray-1 {
  border: 1px solid #DDD;
}
.border-gray-2 {
  border: 1px solid #AAA;
}
.border-gray-3 {
  border: 1px solid #888;
}
.border-cartofact.rounded, .border-white.rounded {
  border-radius: 3px !important;
}

.square-14 {
  width: 14px; height: 14px;
}
.square-16 {
  width: 16px; height: 16px;
}
.square-18 {
  width: 18px; height: 18px;
}
.square-20 {
  width: 20px; height: 20px;
}
.square-21 {
  width: 21px; height: 21px;
}
.square-22 {
  width: 22px; height: 22px;
}
.square-24 {
  width: 24px; height: 24px;
}
.square-26 {
  width: 26px; height: 26px;
}
.square-28 {
  width: 28px; height: 28px;
}
.square-30 {
  width: 30px; height: 30px;
}
.square-32 {
  width: 32px; height: 32px;
}
.square-33 {
  width: 33px; height: 33px;
}
.square-34 {
  width: 34px; height: 34px;
}
.square-36 {
  width: 36px; height: 36px;
}
.square-38 {
  width: 38px; height: 38px;
}
.square-42 {
  width: 42px; height: 42px;
}
.square-48 {
  width: 48px; height: 48px;
}
.square-60 {
  width: 60px; height: 60px;
}
.square-80 {
  width: 80px; height: 80px;
}
.square-100 {
  width: 100px; height: 100px;
}
.square-150 {
  width: 150px; height: 150px;
}
.square-200 {
  width: 200px; height: 200px;
}
.square-300 {
  width: 300px; height: 300px;
}

.c-float-tc {
  position: absolute;
  top: 0; left: 50%;
}
.c-float-bc {
  position: absolute;
  bottom: 0; left: 50%;
}
.c-float-tlc {
  position: absolute;
  top: 0; left: 0;
}
.c-float-trc {
  position: absolute;
  top: 0; right: 0;
}
.c-float-blc {
  position: absolute;
  bottom: 0; left: 0;
}
.c-float-brc {
  position: absolute;
  bottom: 0; right: 0;
}
.c-float-fill {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

.zindex-0, .z0 {
  z-index: 0 !important;
}
.zindex-5, .z5 {
  z-index: 5 !important;
}
.zindex-10, .z10 {
  z-index: 10 !important;
}
.zindex-100, .z100 {
  z-index: 100 !important;
}
.zindex-1000, .zindex-1k, .z1k {
  z-index: 1000 !important;
}
.zindex-2000,.zindex-2k, .z2k {
  z-index: 2000 !important;
}
.zindex-3000, .zindex-3k, .z3k {
  z-index: 3000 !important;
}
.zindex-5000, .zindex-5k, .z5k {
  z-index: 5000 !important;
}
.zindex-6000, .zindex-6k, .z6k {
  z-index: 6000 !important;
}
.zindex-7000, .zindex-7k, .z7k {
  z-index: 7000 !important;
}
.zindex-8000, .zindex-8k, .z8k {
  z-index: 8000 !important;
}
.zindex-9000, .zindex-9k, .z9k {
  z-index: 9000 !important;
}

.zindex-10k, .zindex-10000, .z10k {
  z-index: 10000 !important;
}
.zindex-12k, .zindex-12000, .z12k {
  z-index: 12000 !important;
}
.zindex-15k, .zindex-15000, .z15k {
  z-index: 15000 !important;
}

.zindex-m1k, .zm1k {
  z-index: -1000;
}
.zindex-m10k, .zm10k {
  z-index: -10000;
}

.item-with-menu {
  position: relative;
  display: inline-block;
}
.input-menu {
  width: 420px;
  left: 110%;
  top: -7px;
  padding: 12px;
  background-color: #f7f7f7;
}
.input-menu.pale {
  background-color: #FFF;
}
.input-menu.vertical {
  background-color: #FFF;
  padding: 10px;
  width: 44px;
  height: 140px;
  min-width: 0;
  top: 50%;
  margin-top: -70px;
}
.input-menu.offset {
  left: 22px;
}
.input-menu.vertical li {
  text-align: center;
}
.input-menu.vertical > li > a {
  padding: 3px 0 !important;
}
.input-menu.vertical > li.selected > a {
  color: #D81B60;
}
.input-menu.small {
  width: 320px;
}
.input-menu.left {
  right: 110%;
  left: auto;
}
.input-menu.left-less {
  right: 105%;
  left: auto;
}
.input-menu .slider {
  width: 100%;
  position: relative;
  top: 7px;
}

/*input type=file hack*/
.inputfile {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}
.inputfile + label {
  cursor: pointer;
  font-weight: normal;
  display: inline-block;
  margin-bottom: 0;
  padding: 2px 15px;
  border: 1px solid #0a4566;
  position: relative;
  user-select: none;
  text-align: center;
}
.inputfile.bulky + label {
  border-radius: 3px;
  padding: 6px 15px;
}

.inputfile:focus + label {
  outline: 1px dotted #000;
  outline: -webkit-focus-ring-color auto 5px;
}
.inputfile + label * {
  pointer-events: none;
}
.inputfile + label:active {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.inputfile[disabled] + label{
  opacity: .5;
  cursor: not-allowed;
}

a[disabled] {
  color: #DDDDDD !important;
  pointer-events: none;
}

.textarea-style {
  width: 100%; height: 200px; font-size: 14px; line-height: 18px; border: 1px solid #dddddd; padding: 10px;
}

tr.highlighted {
  background-color: #0a4566 !important;
  color: #FFF;
}

/* Modal */
.modal-centered.in {
  display: flex !important;
  justify-content: center;
  align-items: center;
}

/* Misc classes */
.no-margin {
  margin: 0 !important;
}
.no-margin-t {
  margin-top: 0 !important;
}
.no-margin-b {
  margin-bottom: 0 !important;
}
.margin-t-2 {
  margin-top: 2px !important;
}
.margin-t-3 {
  margin-top: 3px !important;
}
.margin-t-5 {
  margin-top: 5px !important;
}
.margin-t-10 {
  margin-top: 10px !important;
}
.margin-t-14 {
  margin-top: 14px !important;
}
.margin-t-15 {
  margin-top: 15px !important;
}
.margin-t-20 {
  margin-top: 20px !important;
}
.margin-t-30 {
  margin-top: 30px !important;
}
.margin-r-2 {
  margin-right: 2px !important;
}
.margin-r-3 {
  margin-right: 3px !important;
}
.margin-r-5 {
  margin-right: 5px !important;
}
.margin-r-30 {
  margin-right: 30px !important;
}
.margin-r-7 {
  margin-right: 7px !important;
}
.margin-r-10 {
  margin-right: 10px !important;
}
.margin-l-2 {
  margin-left: 2px !important;
}
.margin-l-3 {
  margin-left: 3px !important;
}
.margin-l-5 {
  margin-left: 5px !important;
}
.margin-l-10 {
  margin-left: 10px !important;
}
.margin-l-15 {
  margin-left: 15px !important;
}
.margin-l-20 {
  margin-left: 20px !important;
}
.margin-b-2 {
  margin-bottom: 2px !important;
}
.margin-b-3 {
  margin-bottom: 3px !important;
}
.margin-b-5 {
  margin-bottom: 5px !important;
}
.margin-b-10 {
  margin-bottom: 10px !important;
}
.margin-b-15 {
  margin-bottom: 15px !important;
}
.margin-b-30 {
  margin-bottom: 30px !important;
}
.margin-b-45 {
  margin-bottom: 45px !important;
}
.margin-b-75 {
  margin-bottom: 75px !important;
}
.padding-2 {
  padding: 2px !important;
}
.padding-4 {
  padding: 4px !important;
}
.padding-8 {
  padding: 8px !important;
}
.padding-10 {
  padding: 10px !important;
}
.padding-20 {
  padding: 20px !important;
}
.padding-l-5 {
  padding-left: 5px !important;
}
.padding-l-10 {
  padding-left: 10px !important;
}
.padding-r-10 {
  padding-right: 10px !important;
}
.padding-8-12 {
  padding: 8px 12px !important;
}
.no-pad {
  padding: 0 !important;
}
.no-pad-l {
  padding-left: 0 !important;
}
.no-pad-r {
  padding-right: 0 !important;
}
.margin-l-10 {
  margin-left: 10px !important;
}

.nudge-l-1 {
  position: relative;
  right: 1px;
}
.nudge-r-1 {
  position: relative;
  left: 1px;
}
.nudge-t-2 {
  position: relative;
  top: -2px;
}
.nudge-t-3 {
  position: relative;
  top: -3px;
}
.nudge-t-4 {
  position: relative;
  top: -4px;
}
.nudge-t-5 {
  position: relative;
  top: -5px;
}
.nudge-t-6 {
  position: relative;
  top: -6px;
}
.nudge-t-7 {
  position: relative;
  top: -7px;
}
.nudge-t-8 {
  position: relative;
  top: -8px;
}
.nudge-t-10 {
  position: relative;
  top: -10px;
}
.nudge-t-11 {
  position: relative;
  top: -11px;
}
.nudge-t-12 {
  position: relative;
  top: -12px;
}
.nudge-d-1 {
  position: relative;
  top: 1px;
}
.nudge-d-2 {
  position: relative;
  top: 2px;
}
.nudge-d-3 {
  position: relative;
  top: 3px;
}
.nudge-d-4 {
  position: relative;
  top: 4px;
}
.nudge-d-5 {
  position: relative;
  top: 5px;
}
.nudge-d-6 {
  position: relative;
  top: 6px;
}
.nudge-d-7 {
  position: relative;
  top: 7px;
}
.nudge-d-8 {
  position: relative;
  top: 8px;
}

.relative {
  position: relative;
}

.clickable {
  cursor: pointer;
}

.title-label{
  padding-right: 12px;
  background-color: #EEEEEE;
  line-height: 2.4;
  font-weight: bold;
}
.simple-label {
  margin-bottom: 5px;
  font-size: 12px;
  color: #ADADAD;
  padding: 0 6px;
  border-radius: 3px;
  background: linear-gradient(to right, #f7f7f7, transparent);
  display: block;
}
.small-label {
  font-size: 12px;
  color: #888;
}

.font-cartofact {
  color: #0a4566 !important;
}
.attr-key {
  color: #888 !important;
  line-height: 1;
  font-size: 12px;
}

.color-preview {
  width: 28px; height: 28px;
  margin-bottom: 5px;
  box-shadow: 0 0 2px #888;
  margin-left: auto;
  margin-right: auto;
}

.scale-checks {
  padding: 10px;
  background-color: #FFF;
  box-shadow: 0 0 2px #888;
  border-radius: 5px;
}
.scale-check {
  margin: 0 10px;
  width: 42px;
  text-align: center;
}

.cut-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.font-4 {
  font-size: 4px !important;
}   .font-6 {
      font-size: 6px !important;
    }  .font-8 {
         font-size: 8px !important;
       }  .font-10 {
            font-size: 10px !important;
          }  .font-12 {
               font-size: 12px !important;
             }  .font-14 {
                  font-size: 14px !important;
                }  .font-16 {
                     font-size: 16px !important;
                   }  .font-18 {
                        font-size: 18px !important;
                      }  .font-20 {
                           font-size: 20px !important;
                         }
.font-22 {
  font-size: 22px !important;
}  .font-24 {
     font-size: 24px !important;
   }  .font-26 {
        font-size: 26px !important;
      }  .font-28 {
           font-size: 28px !important;
         }  .font-30 {
              font-size: 30px !important;
            }  .font-32 {
                 font-size: 32px !important;
               }  .font-34 {
                    font-size: 34px !important;
                  }  .font-36 {
                       font-size: 36px !important;
                     }  .font-38 {
                          font-size: 38px !important;
                        }
.font-40 {
  font-size: 40px !important;
}  .font-42 {
     font-size: 42px !important;
   }  .font-44 {
        font-size: 44px !important;
      }  .font-46 {
           font-size: 46px !important;
         }  .font-48 {
              font-size: 48px !important;
            }  .font-50 {
                 font-size: 50px !important;
               }  .font-52 {
                    font-size: 52px !important;
                  }  .font-54 {
                       font-size: 54px !important;
                     }  .font-56 {
                          font-size: 56px !important;
                        }
.font-58 {
  font-size: 58px !important;
}  .font-60 {
     font-size: 60px !important;
   }  .font-62 {
        font-size: 62px !important;
      }  .font-64 {
           font-size: 64px !important;
         }  .font-66 {
              font-size: 66px !important;
            }  .font-68 {
                 font-size: 68px !important;
               }  .font-70 {
                    font-size: 70px !important;
                  }  .font-72 {
                       font-size: 72px !important;
                     }  .font-74 {
                          font-size: 74px !important;
                        }
.font-76 {
  font-size: 76px !important;
}  .font-78 {
     font-size: 78px !important;
   }  .font-80 {
        font-size: 80px !important;
      }  .font-82 {
           font-size: 82px !important;
         }  .font-84 {
              font-size: 84px !important;
            }  .font-86 {
                 font-size: 86px !important;
               }  .font-88 {
                    font-size: 88px !important;
                  }  .font-90 {
                       font-size: 90px !important;
                     }  .font-92 {
                          font-size: 92px !important;
                        }

.round-edges-3 {
  border-radius: 3px;
}
.round-edges-3-t {
  border-radius: 3px 3px 0 0;
}
.round-edges-3-b {
  border-radius: 0 0 3px 3px;
}
.round-edges-5 {
  border-radius: 5px;
}
.round-edges-5-t {
  border-radius: 5px 5px 0 0;
}
.round-edges-5-b {
  border-radius: 0 0 5px 5px;
}

.height-18 {
  height: 18px !important;
}
.height-20 {
  height: 20px !important;
}
.height-22 {
  height: 22px !important;
}
.height-24 {
  height: 24px !important;
}
.height-26 {
  height: 26px !important;
}
.height-28 {
  height: 28px !important;
}
.height-30 {
  height: 30px !important;
}
.height-32 {
  height: 32px !important;
}
.height-34 {
  height: 34px !important;
}
.height-35 {
  height: 35px !important;
}
.height-36 {
  height: 36px !important;
}
.height-38 {
  height: 38px !important;
}
.height-40 {
  height: 40px !important;
}
.height-42 {
  height: 42px !important;
}
.height-48 {
  height: 48px !important;
}
.height-50 {
  height: 50px !important;
}
.height-75 {
  height: 75px !important;
}
.height-80 {
  height: 80px !important;
}
.height-100 {
  height: 100px !important;
}
.height-120 {
  height: 120px !important;
}
.height-144 {
  height: 144px !important;
}
.height-150 {
  height: 150px !important;
}
.height-180 {
  height: 180px !important;
}
.height-210 {
  height: 210px !important;
}
.height-300 {
  height: 300px !important;
}

.width-18 {
  width: 18px !important;
}
.width-32 {
  width: 32px !important;
}
.width-34 {
  width: 34px !important;
}
.width-50 {
  width: 50px !important;
}
.width-55 {
  width: 55px !important;
}
.width-60 {
  width: 60px !important;
}
.width-64 {
  width: 64px !important;
}
.width-70 {
  width: 70px !important;
}
.width-80 {
  width: 80px !important;
}
.width-100 {
  width: 100px !important;
}
.width-110 {
  width: 110px !important;
}
.width-120 {
  width: 120px !important;
}
.width-130 {
  width: 130px !important;
}
.width-140 {
  width: 140px !important;
}
.width-148 {
  width: 148px !important;
}
.width-150 {
  width: 150px !important;
}
.width-160 {
  width: 160px !important;
}
.width-180 {
  width: 180px !important;
}
.width-200 {
  width: 200px !important;
}
.width-240 {
  width: 240px !important;
}
.width-250 {
  width: 250px !important;
}
.width-280 {
  width: 280px !important;
}
.width-300 {
  width: 300px !important;
}
.width-310 {
  width: 310px !important;
}
.width-315 {
  width: 315px !important;
}
.width-320 {
  width: 320px !important;
}

.small-cells td {
  padding: 2px !important;
}

.inl-bl {
  display: inline-block;
}
.block {
  display: block;
}
.no-bold {
  font-weight: normal !important;
}
.auto-width {
  width: auto;
}

.table-middle td {
  vertical-align: middle !important;
}

/*Map*/

.ol-map {
  width: 100%;
  height: 100%;
}
.ol-viewport {
  border-radius: 3px;
  border: 1px solid #ADADAD;
}

.ol-attribution {
  -webkit-transition: all .2s ease-in-out;
  -moz-transition: all .2s ease-in-out;
  -ms-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
}
.ol-attribution.relocated {
  right: 308px;
}

.map-loader {
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.5);
  z-index: 10;
  position: absolute; top: 0; left: 0;
  border-radius: 3px;
}
.map-loader .loader {
  border-radius: 3px;
  box-shadow: 1px 1px 2px #000;
  width: 80px; height: 80px;
  background-color: rgba(0,0,0,.6);
  text-shadow: 2px 2px 2px #000;
  color: #FFF;
  font-size: 24px;
}

.parent-banner-preview {
  padding: 4px 24px;
  border-radius: 5px;
}

.loading-overlay {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%;
  pointer-events: none;
}

.custom-popover {
  position: absolute;
  top: -5px; left: 43px;
  width: 350px;
  min-height: 100px;
  border: 1px solid #EEE;
  border-radius: 5px;
  background-color: #FFF;
  display: none;
  -webkit-box-shadow: 1px 0 1px #ADADAD;
  -moz-box-shadow: 1px 0 1px #ADADAD;
  box-shadow: 1px 0 1px #ADADAD;
}
.custom-popover .popover-wrapper {
  padding: 12px;
}
.custom-popover:after {
  content: '';
  position: absolute;
  border-style: solid;
  border-width: 7px 7px 7px 0;
  border-color: transparent #FFFFFF;
  display: block;
  width: 0;
  z-index: 1;
  left: -7px;
  top: 14px;
}
.custom-popover .cp-wrapper {
  padding: 4px;
  height: 90%;
}
.custom-popover.show {
  backface-visibility: visible !important;
  -webkit-animation: flipInX-2 0.7s both;
  -o-animation: flipInX-2 0.7s both;
  animation: flipInX-2 0.7s both;
}
@keyframes flipInX-2 {
  0% {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transition-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    transform: perspective(400px);
  }
}
@-webkit-keyframes flipInX-2 {
  0% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-transition-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-transition-timing-function: ease-in;
  }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  100% {
    -webkit-transform: perspective(400px);
  }
}

/*override bs slider*/
.slider-vertical {
  height: 115px !important;
}

.colorpicker-modal .colorpicker-saturation { width: 200px; height: 200px; }
.colorpicker-modal .colorpicker-hue,
.colorpicker-modal .colorpicker-alpha { width: 30px; height: 200px; }
.colorpicker-modal .colorpicker-color,
.colorpicker-modal .colorpicker-color div { height: 30px; }
.colorpicker-modal-hex .colorpicker-saturation { width: 236px; height: 236px; }
.colorpicker-modal-hex .colorpicker-hue,
.colorpicker-modal-hex .colorpicker-alpha { width: 30px; height: 236px; }
.colorpicker-modal-hex .colorpicker-color,
.colorpicker-modal-hex .colorpicker-color div { height: 30px; }
.colorpicker-selectors-color, .colorpicker-color {
  box-shadow: 0 0 2px #666 !important;
}

.set-icon {
  width: 32px; height: 32px;
  margin: 3px;
}

.set-icon.selected:after {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 2px solid orange;
  pointer-events: none;
}

.svg-preview, .svg-text-preview {
  width: 250px;
  border-radius: 5px;
  box-shadow: 1px 1px 2px #333;
}
.svg-text-preview {
  position: absolute;
  top: 0; left: 50%;
  height: 250px;
  z-index: 10;
  margin-left: -125px;
}
/* bg previews*/
.preview-bg-dg_ri {background-image: url("../img/basemaps/dg_ri.png")}
.preview-bg-dg_rih {background-image: url("../img/basemaps/dg_rih.png")}
.preview-bg-dg_street {background-image: url("../img/basemaps/dg_street.png")}
.preview-bg-dg_street_tp {background-image: url("../img/basemaps/dg_street_tp.png")}
.preview-bg-dg_terrain {background-image: url("../img/basemaps/dg_terrain.png")}
.preview-bg-osm {background-image: url("../img/basemaps/osm.png")}
.preview-bg-stamen_terrain {background-image: url("../img/basemaps/stamen_terrain.png")}
.preview-bg-stamen_terrain_bg {background-image: url("../img/basemaps/stamen_terrain_bg.png")}
.preview-bg-stamen_terrain_lines {background-image: url("../img/basemaps/stamen_terrain_lines.png")}
.preview-bg-stamen_toner {background-image: url("../img/basemaps/stamen_toner.png")}
.preview-bg-stamen_toner_bg {background-image: url("../img/basemaps/stamen_toner_bg.png")}
.preview-bg-stamen_toner_hybrid {background-image: url("../img/basemaps/stamen_toner_hybrid.png")}
.preview-bg-stamen_toner_lines {background-image: url("../img/basemaps/stamen_toner_lines.png")}
.preview-bg-stamen_toner_lite {background-image: url("../img/basemaps/stamen_toner_lite.png")}
.preview-bg-stamen_watercolor {background-image: url("../img/basemaps/stamen_watercolor.png")}
.preview-bg-stamen_watercolor_labels {background-image: url("../img/basemaps/stamen_watercolor_labels.png")}

.no-search .select2-search--inline {
  display: none;
}
.select-placeholder {
  position: absolute;
  top: 0; left: 0;
  padding: 6px;
  color: #DDD;
  z-index: 10;
  pointer-events: none;
}
.select2-search--inline .select2-search__field {
  border: none !important;
}

.info-box-icon.special-dash-widget {
  color: #FFF !important;
  background-color: #0a4566 !important;
}
.info-box-text.special-dash-widget {
  padding-top: 20px !important; color: #0a4566; font-size: 24px; text-align: center; font-weight: bold;
}

.full-height {
  height: 100% !important;
}
.full-width {
  width: 100% !important;
}

.tight-line {
  line-height: 1;
}
.tightish-line {
  line-height: 1.2;
}

.busy {
  pointer-events: none;
  opacity: .5;
}

.table-hover tr:not(.nh):hover {
  background-color: #0a4566 !important;
  color: #FFF !important;
}
.table-hover tr:not(.nh):hover a, .table-hover tr:not(.nh):hover .text-blue {
  color: #f39c12 !important;
}
.table-hover tr:not(.nh):hover input, .table-hover tr:not(.nh):hover ul, .table-hover select { color: #000 !important;}
.table-hover.just td, .table-hover.just th {
  vertical-align: middle;
}
.table-hover tr:not(.nh):hover
/* "cartofact" theme */
.full-height .mCSB_container {
  min-height: 100%;
}
.mCS-light-thin.mCSB_scrollTools .mCSB_draggerRail{ background-color: #fff; background-color: rgba(255,255,255,0.1); }
.mCS-light-thin.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar,
.mCS-cartofact.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ width: 2px; }
.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_draggerRail,
.mCS-cartofact.mCSB_scrollTools_horizontal .mCSB_draggerRail{ width: 100%; }
.mCS-light-thin.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar,
.mCS-cartofact.mCSB_scrollTools_horizontal .mCSB_dragger .mCSB_dragger_bar{
  width: 100%;
  height: 2px;
  margin: 7px auto;
}
.mCS-cartofact.mCSB_scrollTools .mCSB_draggerRail{ background-color: #0a4566; background-color: rgba(10,69,102,0.15); }
.mCS-cartofact.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ background-color: #0a4566; background-color: rgba(10,69,102,0.75); }
.mCS-cartofact.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #0a4566; background-color: rgba(10,69,102,0.85); }
.mCS-cartofact.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-cartofact.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #0a4566; background-color: rgba(10,69,102,0.9); }
.mCS-cartofact.mCSB_scrollTools .mCSB_buttonUp{	background-position: -80px 0; }
.mCS-cartofact.mCSB_scrollTools .mCSB_buttonDown{ background-position: -80px -20px; }
.mCS-cartofact.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -80px -40px; }
.mCS-cartofact.mCSB_scrollTools .mCSB_buttonRight{ background-position: -80px -56px; }

.mCS-cartofact-light.mCSB_scrollTools .mCSB_draggerRail{ background-color: #FFF; background-color: rgba(255,255,255,0.15); }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{ width: 2px; background-color: #FFF; background-color: rgba(255,255,255,0.75); }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar{ background-color: #FFF; background-color: rgba(255,255,255,0.85); }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCS-cartofact-light.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{ background-color: #FFF; background-color: rgba(255,255,255,0.9); }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_buttonUp{	background-position: -80px 0; }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_buttonDown{ background-position: -80px -20px; }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_buttonLeft{ background-position: -80px -40px; }
.mCS-cartofact-light.mCSB_scrollTools .mCSB_buttonRight{ background-position: -80px -56px; }

.hover-trigger .show-on-hover {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.hover-trigger .hint-on-hover {
  opacity: .3;
}
.hover-trigger:hover .show-on-hover, .hover-trigger:hover .hint-on-hover {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}
.hover-trigger:hover .hide-on-hover {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.super-hover-trigger:hover .hint-on-hover.super, .super-hover-trigger:hover .show-on-hover.super {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: all !important;
}

.btn-hover:hover, .btn-hv:hover {
  -webkit-box-shadow: inset 0 0 100px rgba(0,0,0,0.2);
  box-shadow: inset 0 0 100px rgba(0,0,0,0.2);
}

/* drag and drop*/

ul[dnd-list] .dndDraggingSource, div[dnd-list] .dndDraggingSource {
  display: none;
}

/**
 * An element with .dndPlaceholder class will be
 * added to the dnd-list while the user is dragging
 * over it.
 */
ul[dnd-list] .dndPlaceholder, div[dnd-list] .dndPlaceholder {
  display: block;
  background-color: #f39c20;
}
tr.dndPlaceholder {
  background-color: #f39c12 !important;
  color: #FFF !important;
}

/**
 * The dnd-lists's child elements currently MUST have
 * position: relative. Otherwise we can not determine
 * whether the mouse pointer is in the upper or lower
 * half of the element we are dragging over. In other
 * browsers we can use event.offsetY for this.
 */
ul[dnd-list] .drag-item, div[dnd-list] .drag-item {
  position: relative;
  /* Disable text selection if item is not draggable */
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

ul[dnd-list] .drag-item dnd-nodrag, div[dnd-list] .drag-item dnd-nodrag {
  display: block;
  width: 100%; height: 100%;
}

.handle {
  cursor: move;
}

.table.report-tbl {
  margin: 0;
  border: 1px solid #000;
}
.table-tight tr {
  height: 22px;
}
.table-tight td, .table-tight th {
  padding: 0 10px !important;
  vertical-align: middle !important;
}
.table.report-tbl td, .table.report-tbl th {
  border-top: 1px solid #000 !important;
  padding: 1px 6px !important;
  vertical-align: middle;
}
.table.report-tbl td:not(last-child), .table.report-tbl th:not(:last-child) {
  border-right: 1px solid #000 !important;
}

.table.report-tbl td.fade-border, .table.report-tbl th.fade-border, .table.report-tbl tr.fade-border {
  border-right-color: transparent !important;
}
.table.report-tbl td.no-border, .table.report-tbl th.no-border, .table.report-tbl tr.no-border {
  border: 0 !important;
}
.table.report-tbl tr:first-child > td {
  border-top: none !important;
}
.table.report-tbl tr.hb, .table.report-tbl td.hb, .table.report-tbl th.hb {
  background-color: #0a4566 !important;
  color: #FFF !important;
}
.table.report-tbl tr.hg, .table.report-tbl td.hg, .table.report-tbl th.hg {
  background-color: #DDD !important;
}
.table.report-tbl tr.hlg, .table.report-tbl td.hlg, .table.report-tbl th.hlg {
  background-color: #EEE !important;
}
.table.report-tbl tr.ho, .table.report-tbl td.ho, .table.report-tbl th.ho {
  background-color: #F39C12 !important;
  color: #FFF !important;
}

.table.report-tbl th .inc-head {
  position: absolute;
  transform: rotate(-45deg);
}

.report-header.lscp {
  position: absolute;
  transform: rotate(90deg);
  right: -1255px;
  top: 1615px;
  width: 2870px;
}
.report-footer {
  position: absolute; bottom: 0; right: 0; width: 736px; padding: 60px 80px;
}
.report-footer.lscp {
  bottom: 1638px;
  left: -1255px;
  width: 2870px;
  transform: rotate(90deg);
}

.tooltip {
  z-index: 2070;
}

.fade-hide {
  opacity: 0 !important;
  pointer-events: none !important;
}

.auto-overflow, .ao {
  overflow: auto;
}
.auto-overflow-y, .aoy {
  overflow-y: auto;
  overflow-x: hidden;
}
.auto-overflow-x, .aox {
  overflow-x: auto;
  overflow-y: hidden;
}
.hidden-overflow {
  overflow: hidden;
}
.scroll-overflow {
  overflow: scroll;
}
.hidden-scrollbars::-webkit-scrollbar {
  display: none !important;
}