@font-face {
  font-family: 'igvt';
  src: url("../fonts/igvt/igvt.eot?cg2xoh");
  src: url("../fonts/igvt/igvt.eot?cg2xoh#iefix") format("embedded-opentype"), url("../fonts/igvt/igvt.ttf?cg2xoh") format("truetype"), url("../fonts/igvt/igvt.woff?cg2xoh") format("woff"), url("../fonts/igvt/igvt.svg?cg2xoh#igvt") format("svg");
  font-weight: normal;
  font-style: normal; }

.igvt-icon {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'igvt' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.igvt-icon-line:before {
  content: "\e900"; }

.igvt-icon-poligon:before {
  content: "\e901"; }

.igvt-icon-text:before {
  content: "\e902"; }

app header {
  position: relative;
  float: left;
  width: 100%;
  height: 60px;
  padding: 0;
  color: #fff;
  font-family: 'Roboto Light';
  background-color: #ff6801; }

app header appheader {
  position: relative;
  float: left;
  width: 100%;
  height: 60px; }

app header ul.menu {
  position: relative;
  float: left;
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 60px; }
  app header ul.menu li {
    position: relative;
    float: left;
    font-size: 18px;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .6s ease-in-out; }
    app header ul.menu li.active, app header ul.menu li:hover {
      background-color: #e85901; }
  app header ul.menu li:first-child {
    transition: none; }
    app header ul.menu li:first-child.active, app header ul.menu li:first-child:hover {
      background-color: transparent; }
  app header ul.menu li:first-child a, app header ul.menu li:first-child span {
    width: 250px;
    padding: 10px 0;
    color: transparent;
    background-image: url("../svgs/logo.svg");
    background-position: 50px 10px;
    background-repeat: no-repeat; }
  app header ul.menu li a, app header ul.menu li span {
    position: relative;
    float: left;
    padding: 10px 20px;
    color: #fff;
    font-size: 18px;
    line-height: 40px;
    text-transform: uppercase;
    text-decoration: none; }

app header .menu-handle {
  position: relative;
  float: right;
  width: 60px;
  height: 60px;
  padding: 10px;
  background-image: url(../svgs/menu.svg);
  background-position: center center;
  background-repeat: no-repeat;
  transition: background-color .6s ease-in-out;
  cursor: pointer;
  display: none; }
  app header .menu-handle.open {
    background-image: url(../svgs/close-menu.svg); }
  app header .menu-handle:hover {
    background-color: #e85901; }

app header .modal-dialog {
  height: calc(100% - 60px); }

app header .modal-content {
  height: 100%;
  padding-left: 0 !important;
  padding-right: 0 !important; }

app header .modal-header {
  color: #000;
  padding-left: 30px !important;
  padding-right: 30px !important; }
  app header .modal-header i {
    margin: 0 10px;
    font-size: 20px; }
  app header .modal-header .modal-title {
    display: inline-block; }

app header .modal-body {
  height: calc(100% - 12px);
  margin: 0 !important;
  padding: 0 !important; }
  app header .modal-body object {
    width: 100%;
    height: 100%; }

@media all and (max-width: 1000px) {
  app header ul.menu {
    float: right;
    width: 250px;
    height: calc(100vh - 60px);
    margin-top: 60px;
    margin-right: -320px;
    transition: margin-right .6s ease-in-out;
    box-shadow: -2px 2px 2px rgba(0, 0, 0, 0.5);
    background-color: #fff;
    z-index: 3; }
    app header ul.menu > li {
      position: relative;
      float: left;
      width: 100%;
      height: 50px;
      padding: 10px 10px 10px 50px;
      font-size: 15px;
      line-height: 30px;
      border-bottom: 1px solid #808184;
      color: #808184;
      background-color: #fff; }
      app header ul.menu > li:before {
        position: absolute;
        content: '';
        top: 15px;
        left: 15px;
        width: 20px;
        height: 20px;
        background-image: url(../svgs/gear.svg);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain; }
      app header ul.menu > li.active, app header ul.menu > li:hover {
        color: #e85901;
        background-color: #fff; }
        app header ul.menu > li.active:before, app header ul.menu > li:hover:before {
          background-image: url(../svgs/gear-colored.svg); }
      app header ul.menu > li a, app header ul.menu > li span {
        color: #ccc;
        padding: 0px;
        line-height: 30px; }
      app header ul.menu > li a:hover, app header ul.menu > li span:hover {
        color: #e85901; }
    app header ul.menu.open {
      margin-right: 0px; }
    app header ul.menu li:first-child a, app header ul.menu li:first-child span {
      width: 250px;
      padding: 0;
      color: #ccc;
      background-image: url("../svgs/logo.svg");
      background-position: 50px 10px;
      background-repeat: no-repeat; }
    app header ul.menu li:first-child a:hover, app header ul.menu li:first-child span:hover {
      color: #e85901; }
  app header .menu-handle {
    position: absolute;
    top: 0;
    right: 0;
    display: block; }
    app header .menu-handle:before {
      position: fixed;
      content: '';
      top: 60px;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: -1;
      opacity: 0;
      background-color: rgba(0, 0, 0, 0.5);
      transition: opacity .6s ease-in-out; }
    app header .menu-handle.open:before {
      z-index: 3;
      opacity: 1; } }

@media all and (max-width: 400px) {
  app header ul.menu {
    position: absolute;
    width: 100%;
    left: calc(100% + 10px);
    transition: left .6s ease-in-out; }
    app header ul.menu.open {
      left: 0; } }

app footer {
  position: relative;
  float: left;
  width: 100%;
  height: 50px;
  color: #ccc;
  font-family: 'Roboto Light';
  background-color: #414141;
  overflow: hidden; }
  app footer appFooter {
    position: relative;
    float: left;
    width: 100%;
    height: 100%;
    padding: 10px;
    font-size: 12px;
    line-height: 30px;
    color: inherit;
    text-align: left; }
    app footer appFooter ul {
      position: relative;
      float: left;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 0;
      list-style: none;
      overflow: hidden; }
      app footer appFooter ul > li {
        position: relative;
        float: left;
        margin: 5px 0;
        padding: 0 10px;
        font-size: 11px;
        line-height: 20px;
        text-transform: uppercase;
        cursor: pointer; }
        app footer appFooter ul > li.grouped {
          float: right;
          border-left: 1px solid #ccc; }
          app footer appFooter ul > li.grouped:last-of-type {
            border-left: none; }

@media all and (max-width: 800px) {
  appFooter ul > li.grouped.fixed {
    border: none; }
  appFooter ul > li.grouped:not(.fixed) {
    display: none; } }

app {
  position: relative;
  float: left;
  width: 100%;
  height: 100%; }

app main {
  position: relative;
  float: left;
  width: 100%;
  height: 100%; }
  app main.with-header {
    height: calc(100% - 60px); }
  app main.with-footer {
    height: calc(100% - 50px); }
  app main.with-header.with-footer {
    height: calc(100% - 60px - 50px); }

app footer div.basemap {
  position: absolute;
  top: 10px;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  display: none; }
  app footer div.basemap > span {
    margin: 5px 0;
    font-size: 11px;
    line-height: 20px;
    text-transform: uppercase;
    display: none; }
    app footer div.basemap > span:before {
      position: relative;
      float: left;
      content: '';
      width: 20px;
      height: 20px;
      background-image: url(../svgs/basemap-show-white.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain; }
    app footer div.basemap > span.show-basemap:before {
      background-image: url(../svgs/basemap-hide-white.svg); }

app footer > ul {
  position: relative;
  float: left;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 10px;
  list-style: none;
  overflow: hidden; }
  app footer > ul > li {
    position: relative;
    float: left;
    margin: 5px 0;
    padding: 0 10px;
    font-size: 11px;
    line-height: 20px;
    text-transform: uppercase;
    cursor: pointer; }
    app footer > ul > li.grouped {
      float: right;
      border-left: 1px solid #ccc; }
      app footer > ul > li.grouped:last-of-type {
        border-left: none; }
    app footer > ul > li.single.search:before {
      position: relative;
      float: left;
      content: '';
      width: 20px;
      height: 20px;
      margin-right: 5px;
      background-image: url(../svgs/search.svg);
      background-repeat: no-repeat;
      background-position: center center;
      background-size: contain; }
    app footer > ul > li.info {
      pointer-events: none;
      text-align: center !important;
      /* position: absolute; */
      text-transform: none;
      /* left: 33%; */
      float: none;
      font-style: italic;
      font-size: 1.2rem;
      /* pointer-events: none; */
      /* cursor: not-allowed; */ }

@media all and (max-width: 800px) {
  app footer div.basemap {
    display: block; }
  app footer ul > li.grouped.fixed {
    border: none; }
  app footer ul > li.grouped:not(.fixed) {
    display: none; } }

@media all and (max-device-width: 800px) {
  app footer div.basemap > span {
    display: inline-block; } }

@media all and (max-width: 400px) {
  app footer ul > li.info {
    line-height: 0.8rem;
    font-size: 1rem; } }

map region {
  /* IE calc animation fix... */
  -ms-transition: width .6s ease-in-out, height .6s ease-in-out !important; }

/* --- west region --- */
map region.west {
  height: calc(100% - 50px);
  margin: 50px 0 0 0;
  background-color: #fff;
  overflow: hidden; }
  map region.west.open {
    width: 250px !important;
    box-shadow: 2px 0 2px rgba(128, 128, 128, 0.5); }

/* --- center region --- */
map region.center {
  padding: 0 !important;
  margin: 50px 0 0 0;
  height: calc(100% - 50px);
  overflow: hidden; }
  map region.center .side-panel {
    position: relative;
    float: right;
    width: 50px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    transition: all .6s ease-in-out; }
    map region.center .side-panel .side-tool-area {
      position: relative;
      float: left;
      width: 100%;
      height: 100%;
      transition: padding .6s ease-in-out; }
    map region.center .side-panel.hidden-toolbar .side-tool-area {
      padding-top: 50px; }
      map region.center .side-panel.hidden-toolbar .side-tool-area toolbarOnMap {
        top: 90px; }
  map region.center .widget-container {
    position: absolute;
    right: 60px;
    bottom: 10px; }
    map region.center .widget-container.mobile {
      bottom: -30px; }

/* --- horizontal bar --- */
map region.horizontal-bar {
  position: fixed;
  left: 0;
  top: 60px;
  width: 100%;
  height: 50px;
  z-index: 2;
  box-shadow: 0px 2px 2px rgba(128, 128, 128, 0.5);
  background-color: #fff;
  transition: none; }

map region.horizontal-bar + region.open + region.center {
  width: calc(100% - 250px); }

map region.horizontal-bar.open + region.open + region.center {
  width: calc(100% - 250px - 250px); }

map region.horizontal-bar.open + region:not(.open) + region.center {
  width: calc(100% - 0px - 250px); }

map region.horizontal-bar:not(.open) + region:not(.open) + region.center {
  width: calc(100% - 0px - 0px); }

@media all and (max-width: 800px) {
  map region.horizontal-bar + region.open + region.center,
  map region.horizontal-bar.open + region.open + region.center {
    width: calc(100% - 250px); }
  map region.horizontal-bar.open + region:not(.open) + region.center,
  map region.horizontal-bar:not(.open) + region:not(.open) + region.center {
    width: 100%; } }

@media all and (max-width: 400px) {
  map region.west.open {
    width: 100% !important; }
  map region.horizontal-bar + region.open + region.center,
  map region.horizontal-bar.open + region.open + region.center {
    width: 0;
    overflow: hidden; } }

/*=========== Fullscreen ===========*/
app.fullscreen map region.horizontal-bar {
  top: 0; }

map .system,
appheader .system {
  color: #fff;
  background-color: #6f8a91; }
  map .system .system,
  appheader .system .system {
    color: #fff;
    background-color: #93a7ac; }
    map .system .system .system,
    appheader .system .system .system {
      color: #666;
      background-color: #dbe2e3; }

.popover {
  z-index: 9999; }

.irs {
  height: 60px;
  margin: -10px 0px; }

.irs-min,
.irs-max {
  top: 10px !important; }

.irs-from,
.irs-to,
.irs-single {
  top: 7px !important; }

.irs-slider {
  top: 28px;
  width: 20px;
  height: 20px; }

.irs-bar {
  border-left: none !important; }

.irs-bar-edge {
  width: 10px !important; }

/* =============
   Notification
============= */
.notifyjs-metro-base {
  position: relative;
  min-height: 52px;
  min-width: 250px;
  color: #444;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);
  -webkit-animation: dropdownOpen 0.3s ease-out;
  -o-animation: dropdownOpen 0.3s ease-out;
  animation: dropdownOpen 0.3s ease-out; }

.notifyjs-metro-base .image {
  display: table;
  position: absolute;
  height: auto;
  width: auto;
  left: 25px;
  top: 50%;
  font-size: 24px;
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.notifyjs-metro-base .text-wrapper {
  display: inline-block;
  vertical-align: top;
  text-align: left;
  margin: 10px 10px 10px 52px;
  clear: both; }

.notifyjs-metro-base .title {
  font-size: 15px;
  line-height: 20px;
  margin-bottom: 5px;
  font-weight: bold; }

.notifyjs-metro-base .text {
  font-size: 12px;
  font-weight: normal;
  max-width: 360px;
  vertical-align: middle; }

.notifyjs-metro-cool {
  color: #fafafa !important;
  background-color: #4A525F;
  border: 1px solid #4A525F; }

.notifyjs-metro-base .close-btn {
  position: absolute;
  top: 5px;
  right: 10px; }

.notifyjs-progress-base {
  position: relative;
  min-height: 69px;
  min-width: 250px;
  color: #444;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.2);
  -webkit-animation: dropdownOpen 0.3s ease-out;
  -o-animation: dropdownOpen 0.3s ease-out;
  animation: dropdownOpen 0.3s ease-out; }
  .notifyjs-progress-base .progress-title i {
    padding: 2px 10px; }
  .notifyjs-progress-base .progress-title div {
    display: inline-block;
    line-height: 35px;
    font-size: 15px;
    font-weight: bold; }
  .notifyjs-progress-base .progress-content {
    padding: 2px 10px; }
  .notifyjs-progress-base .progress-bar-text {
    white-space: nowrap;
    padding: 0 0 0 5px; }

.notifyjs-metro-default,
.notifyjs-progress-default {
  color: #fafafa !important;
  background-color: #4c5667;
  border: 1px solid #212121; }
  .notifyjs-metro-default .progress-bar-text,
  .notifyjs-progress-default .progress-bar-text {
    color: #555; }

.notifyjs-metro-error,
.notifyjs-progress-error {
  color: #fafafa !important;
  background-color: #ef5350;
  border: 1px solid #ef5350; }

.notifyjs-metro-custom,
.notifyjs-progress-custom {
  color: #fafafa !important;
  background-color: #5fbeaa;
  border: 1px solid #5fbeaa; }

.notifyjs-metro-success,
.notifyjs-progress-success {
  color: #fafafa !important;
  background-color: #81c868;
  border: 1px solid #33b86c; }

.notifyjs-metro-info,
.notifyjs-progress-info {
  color: #fafafa !important;
  background-color: #3ddcf7;
  border: 1px solid #3ddcf7; }

.notifyjs-metro-warning,
.notifyjs-progress-warning {
  color: #fafafa !important;
  background-color: #ffbd4a;
  border: 1px solid #ffd740; }

.notifyjs-metro-black,
.notifyjs-progress-black {
  color: #fafafa !important;
  background-color: #4c5667;
  border: 1px solid #212121; }

.notifyjs-metro-white,
.notifyjs-progress-white {
  background-color: #e6eaed;
  border: 1px solid #ddd; }

/* Absolute Center Spinner */
.igeo-loading {
  position: absolute;
  z-index: 1051;
  top: 50%;
  left: 50%; }

/* Transparent Overlay */
.igeo-loading:before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 104, 1, 0.7); }

/* :not(:required) hides these rules from IE9 and below */
.igeo-loading:not(:required) {
  /* hide "igeo-loading..." text */
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0; }

.igeo-loading:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: .5em;
  height: .5em;
  margin-top: -0.5em;
  -webkit-animation: spinner 3000ms infinite linear;
  -moz-animation: spinner 3000ms infinite linear;
  -ms-animation: spinner 3000ms infinite linear;
  -o-animation: spinner 3000ms infinite linear;
  animation: spinner 3000ms infinite linear;
  border-radius: 0.25em;
  -webkit-box-shadow: #fff 1.5em 0 0 0, #fff 1.1em 1.1em 0 0, #fff 0 1.5em 0 0, #fff -1.1em 1.1em 0 0, #fff -1.5em 0 0 0, white -1.1em -1.1em 0 0, #fff 0 -1.5em 0 0, #fff 1.1em -1.1em 0 0;
  box-shadow: #fff 1.5em 0 0 0, #fff 1.1em 1.1em 0 0, #fff 0 1.5em 0 0, #fff -1.1em 1.1em 0 0, #fff -1.5em 0 0 0, #fff -1.1em -1.1em 0 0, #fff 0 -1.5em 0 0, #fff 1.1em -1.1em 0 0; }

/* Animation */
@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg); } }
