html, body {
    height: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
}

#navbar {
    box-shadow: var(--box-shadow);
    z-index: 10000 !important;
}

#footer {
    display: none;
}

#container {
    position: relative;
}

#page {
    overflow: hidden;
    height: 100%;
}

#map {
    height: 100%;
    width: 100%;
}

#community {
    padding: 10px 5px;
}

.ui-overlay {
    z-index: 999999;
}

.box-overlay, .leaflet-control {
    background-color: rgba(255, 255, 255, 1);
    border: none !important;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

.box-overlay .section {
    border-top: 1px solid #ddd;
    font-size: 14px;
    padding: 10px 15px;
}

.box-overlay .section:first-child {
    border-top: none;
    padding-top: 5px;
}

.main-ul {
    font-size: 14px;
    margin: 0;
    max-height: 500px;
    overflow-y: scroll;
    padding: 0;
}

.main-ul li {
    font-size: 14px;
    list-style-type: none;
    padding: 5px 10px;
    width: 100%;
}

/* SELECTION */
.selection {
    cursor: pointer;
    min-width: 180px;
    padding-bottom: 2px;
    padding-top: 2px;
    position: relative;
}

.selection .arrow {
    margin-right: 10px;
}

.selection ul {
    background: white;
    border: 1px solid #ddd;
    cursor: pointer;
    padding: 0;
    position: absolute;
    width: 100%;
    z-index: 997;
}

.selection li:hover {
    background: #eee;
    font-weight: bold;
}

/* TOP LEFT INDICATOR */
#left-top {
    background: none;
    box-shadow: none;
    height: auto;
    left: 8px;
    position: absolute;
    /* width: 270px; */
    z-index: 1000;
}

#left-top.show {
    height: 100%;
}

#left-top .inner {
    padding-bottom: 8px;
    padding-top: 8px;
}

#left-top .loading {
    color: gray;
    font-size: 14px;
}

#left-top .selection ul {
    left: 0;
    top: 100%;
}

#left-top .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
}

#left-top .detail {
    font-size: 12px;
}

#left-top .name {
    font-size: 18px;
}

#left-top .name,
#top-center .name,
#left-top .region {
    font-weight: bold;
}

#left-top .loading,
#left-top .name,
#left-top .region,
#left-top .province,
#left-top .title {
    padding: 0 10px;
}

#left-top .region,
#left-top .province,
#left-top .description {
    opacity: 0.7;
}

#left-top .content {
    display: flex;
    flex-flow: column;
    height: 100%;
    overflow: visible;
}

#left-top .layer-list-show {
    display: none;
    border: none;
    flex-grow: 1;
    overflow-y: auto;
}

#layer-list-toggle {
    opacity: 0.5;
    padding: 10px;
    text-align: center;
}

#layer-list-toggle:hover {
    cursor: pointer;
    opacity: 1;
}

#left-top.show .layer-list-show{
    display: block;
}

/* toogle layer list */
#left-top #see-layer-list {
    display: inline-block;
}

#left-top #hide-layer-list {
    display: none;
}

#left-top.show #see-layer-list {
    display: none;
}

#left-top.show #hide-layer-list {
    display: inline-block;
}

.layer-list-show {
    font-size: 14px;
}

.layer-list-show i {
    cursor: pointer;
    margin-right: 5px;
}

.layer-list-show i:hover {
    opacity: 0.6;
}

.layer-list-show a:hover {
    text-decoration: none;
}

.layer-list-show .layer-list {
    padding-left: 37px;
}

.layer-list-show img {
    margin: 10px 0;
    width: 100%;
}

.layer-row, .layer-row a {
    color: #aaa;
}

.layer-row-sub, .layer-row-sub a .layer-row-sub {
  color: #aaa;
}

.layer-row img {
    filter: grayscale(100%);
    opacity: 0.5;
}

.layer-row .fa-check-square {
    display: none;
}

.layer-row-sub .fa-check-square {
  display: none;
}

.layer-row .fa-square-o {
    display: inline-block;
}

.layer-row-sub .fa-square-o {
  display: inline-block;
}

.layer-row.active, .layer-row.active a {
    color: green;
}

.layer-row-sub.active, .layer-row-sub.active a {
  color: green;
}

.layer-row.active .fa-check-square {
    display: inline-block;
}

.layer-row.active .fa-check-square {
    display: inline-block;
}

.layer-row.active .fa-square-o {
    display: none;
}

.layer-row-type, .layer-row-type a {
  color: #aaa;
}

.layer-row-type, .layer-row-type a {
  color: #aaa;
}

.layer-row-type .fa-check-square {
  display: none;
}

.layer-row-type .fa-square-o {
  display: inline-block;
}

.layer-row-type.active, .layer-row-type.active a {
  color: green;
}

.layer-row-type.active, .layer-row-type.active a {
  color: green;
}

.layer-row.active img {
    filter: grayscale(0%);
    opacity: 1;
}

/* BUTTON COLLAPSE*/
.button-collapse .fa-caret-down {
    display: none;
}

.button-collapse .fa-caret-up {
    display: inline-block;
}

.button-collapse.collapsed .fa-caret-down {
    display: inline-block;
}

.button-collapse.collapsed .fa-caret-up {
    display: none;
}

/* TOP CENTER */
#top-center {
    left: 50%;
    margin-left: -100px;
    margin-top: 8px;
    position: absolute;
    top: var(--navbar-height);
    width: 220px;
  z-index: 1001;
}

#top-center .name {
    padding: 0 20px;
}

/* SYSTEM */
#system .selection {
    font-size: 14px;
}

#system input {
    cursor: pointer;
    margin-right: 5px;
}

#system .description {
    font-style: italic;
    font-size: 14px;
    padding-left: 20px;
}

#system .title {
    cursor: pointer;
}

/* STYLES */
#styles {
    display: none;
}

#styles .selection {
    font-size: 14px;
    padding: 5px 0;
}

#styles .selection ul {
    border-radius: 10px;
    left: 0;
    overflow-y: auto;
    top: 100%;
}

#basemaps {
    align-items: center;
    bottom: 16px;
    display: flex;
    gap: 8px;
    left: 8px;
    padding: 6px;
    position: absolute;
    z-index: 1001;
    box-shadow: none !important;
}

#basemaps .basemap-thumb {
    background: transparent;
    border: 2px solid transparent;
    border-radius: 6px;
    cursor: pointer;
    padding: 0;
}

#basemaps .basemap-thumb img {
    border-radius: 4px;
    display: block;
    height: 56px;
    object-fit: cover;
    width: 56px;
}

#basemaps .basemap-thumb.active {
    border-color: #2d7ff9;
}

/* SIDE PANEL */
.side-panel {
    background: white;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
    height: 100%;
    padding-top: var(--navbar-height);
    position: absolute;
    top: 0;
    z-index: 998;
}

.side-panel .inner {
    position: relative;
}

#side-panel-toggle-button {
    left: -26px;
    position: absolute;
    top: 75px;
}

.side-panel-toggle-button {
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    box-shadow: -1px 0px 4px rgb(0 0 0 / 30%);
}

.side-panel-toggle-button .toggle-button:first-child {
    border-top-left-radius: 4px;
    margin-top: 0 !important;
}

.side-panel-toggle-button .toggle-button:last-child {
    border-bottom-left-radius: 4px;
    margin-top: 0 !important;
}

.side-panel-toggle-button .toggle-button {
    background: var(--primary-color);
    color: var(--white);
    cursor: pointer;
    font-size: 14px;
    padding: 15px 8px;
    position: relative;
    width: 26px;
}

.side-panel-toggle-button .toggle-button.hidden {
    background: rgba(255, 255, 255, 0.9);
    box-shadow: none;
    color: #aaa;
}

.side-panel-toggle-button .widget-notification {
    background: white;
    border: 1px solid var(--alert-color);
    border-radius: 11px;
    color: var(--alert-color);
    display: none;
    font-size: 9px;
    height: 14px;
    left: 12px;
    position: absolute;
    text-align: center;
    top: 11px;
    width: 14px;
}

.side-panel-toggle-button .widget-notification-message {
    background: white;
    border-radius: 4px;
    box-shadow: -1px 0px 4px rgb(0 0 0 / 30%);
    color: var(--primary-color);
    top: 0;
    height: 50px;
    min-width: 180px;
    padding: 5px;
    position: absolute;
    right: 40px;
    display: none;
}

.side-panel-toggle-button .widget-notification-message:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid white;
    right: -8px;
    top: 17px;
}

.side-panel .toggle-button:hover {
    opacity: 0.8;
}

.side-panel .loading {
    position: relative;
    width: 100%;
}

.side-panel .loading p {
    font-size: 14px;
    left: 50%;
    margin-top: 10px;
    margin-bottom: 10px;
    opacity: 0.8;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
}

.side-panel .loading .blink {
    animation: blinker 2s linear infinite;
}

.side-panel .loading .error {
    color: red;
}

#left-panel {
    left: 0;
    width: 300px;
}

#right-panel {
    right: 0;
    width: 350px;
    z-index: 9999 !important;
}

#right-panel .inner {
    padding-bottom: var(--navbar-height);
    margin-bottom: var(--navbar-height-minus);
}

#right-panel .footer-page {
    position: absolute;
    display: block;
    padding: 12px 20px;
    text-align: left;
    background: var(--primary-color);
    font-size: 10px;
    height: 70px;
}

#right-panel .footer-page a img {
    height: 15px;
}

#right-panel .footer-page .pull-right {
    float: none;
    margin-top: 3px;
}

@keyframes blinker {
    50% {
        opacity: 0.3;
    }
}

.leaflet-control-layers, .leaflet-control-layers-overlays label {
    cursor: pointer;
}

.modal {
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999999 !important;
}

.btn-color{
    background-color: #1f497d !important;
    color:white !important
}

.export{
    z-index: 9999999 !important;
}

.modal-backdrop{
    z-index: 997 !important;
}

#export_body{
    width: 100%;
    margin: 0 auto !important;
}



.modal-dialog{
  width: 98% !important;
  /* height: 110% !important; */
}


#pagin{
  position: absolute;
  bottom: -88px;
  left:-15px;
  border: none !important;
}

.sticky-th{
    top: 0;
    z-index: 9999;
    background-color: white;
    position: sticky;
}

.no-btn{
  background: none;
  width: 100%;
  border: none;
}

.parent-rel{
  position: relative;
}

.child-search-btn{
  position: absolute;
  top: -25px;
  right: -30px;
}

@media (min-width: 576px){
    .modal-dialog {
        max-width: 95% !important;
        margin: 1.75rem auto;
    }
}

@-moz-keyframes spin {
    100% {
        -moz-transform: rotate(360deg);
    }
}

@-webkit-keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes spin {
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


  
  /* GRID */
  
  .twelve { width: 100%; }
  .eleven { width: 91.53%; }
  .ten { width: 83.06%; }
  .nine { width: 74.6%; }
  .eight { width: 66.13%; }
  .seven { width: 57.66%; }
  .six { width: 49.2%; }
  .five { width: 40.73%; }
  .four { width: 32.26%; }
  .three { width: 23.8%; }
  .two { width: 15.33%; }
  .one { width: 6.866%; }
  
  
  /* CLEARFIX */
  
  .cf:before,
  .cf:after {
      content: " ";
      display: table;
  }
  
  .cf:after {
      clear: both;
  }
  
  .cf {
      *zoom: 1;
  }
  
  .row{
    margin: 30px 0;
  }
  
  .three{
    background-color: #eee;
    padding: 50px 0;
  }

  .left-panel-flex{
    height: 100%;
    display: flex;
    flex-direction: row-reverse;
  }
  
  #filterList{
    margin-top: 20px;
    /* position: absolute;
    right: -35px;
    top: 90px; */
  }

  #expandLayer{
    /* position: absolute;
    top: 90px; */
    margin-top: 20px;
    background-color: white;
    padding: 10px;
    left: 270px;
    width: 80vh;
    max-height: 90vh;
    overflow-y: scroll;
    display: none;
  }

  .moveFilterBtn{
    position: absolute !important;
    left: 80vh;
    right: 0px !important;
  }

  .moveLegendBtn{
    position: absolute !important;
    left: 1030px;
    right: 0px !important;
  }

  #showLegendBtn{
    background: rgba(255, 255, 255, 0.9);
    box-shadow: none;
    color: #aaa;
  }

  .legendURL{
    width: 100%;
    margin-bottom: 8px;
    margin-top: -10px !important;
  }

  .flex{
    display: flex;
    flex-direction: column;
  }
  .flex button{
    margin-bottom: 5px;
  }

  /* ALL LOADERS */
  
  .loader{
    width: 100px;
    height: 100px;
    border-radius: 100%;
    position: relative;
    margin: 0 auto;
  }
  
  /* LOADER 1 */
  
  #loader-1:before, #loader-1:after{
    content: "";
    position: absolute;
    top: -10px;
    left: -10px;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    border: 10px solid transparent;
    border-top-color: #3498db;
  }
  
  #loader-1:before{
    z-index: 100;
    animation: spin 1s infinite;
  }
  
  #loader-1:after{
    border: 10px solid #ccc;
  }
  
  @keyframes spin{
    0%{
      -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg);
    }
  
    100%{
      -webkit-transform: rotate(360deg);
      -ms-transform: rotate(360deg);
      -o-transform: rotate(360deg);
      transform: rotate(360deg);
    }
  }
  
  /* LOADER 2 */
  
  #loader-2 span{
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background-color: #3498db;
    margin: 35px 5px;
  }
  
  #loader-2 span:nth-child(1){
    animation: bounce 1s ease-in-out infinite;
  }
  
  #loader-2 span:nth-child(2){
    animation: bounce 1s ease-in-out 0.33s infinite;
  }
  
  #loader-2 span:nth-child(3){
    animation: bounce 1s ease-in-out 0.66s infinite;
  }
  
  @keyframes bounce{
    0%, 75%, 100%{
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0);
    }
  
    25%{
      -webkit-transform: translateY(-20px);
      -ms-transform: translateY(-20px);
      -o-transform: translateY(-20px);
      transform: translateY(-20px);
    }
  }
  
  /* LOADER 3 */
  
  #loader-3:before, #loader-3:after{
    content: "";
    width: 20px;
    height: 20px;
    position: absolute;
    top: 0;
    left: calc(50% - 10px);
    background-color: #3498db;
    animation: squaremove 1s ease-in-out infinite;
  }
  
  #loader-3:after{
    bottom: 0;
    animation-delay: 0.5s;
  }
  
  @keyframes squaremove{
    0%, 100%{
      -webkit-transform: translate(0,0) rotate(0);
      -ms-transform: translate(0,0) rotate(0);
      -o-transform: translate(0,0) rotate(0);
      transform: translate(0,0) rotate(0);
    }
  
    25%{
      -webkit-transform: translate(40px,40px) rotate(45deg);
      -ms-transform: translate(40px,40px) rotate(45deg);
      -o-transform: translate(40px,40px) rotate(45deg);
      transform: translate(40px,40px) rotate(45deg);
    }
  
    50%{
      -webkit-transform: translate(0px,80px) rotate(0deg);
      -ms-transform: translate(0px,80px) rotate(0deg);
      -o-transform: translate(0px,80px) rotate(0deg);
      transform: translate(0px,80px) rotate(0deg);
    }
  
    75%{
      -webkit-transform: translate(-40px,40px) rotate(45deg);
      -ms-transform: translate(-40px,40px) rotate(45deg);
      -o-transform: translate(-40px,40px) rotate(45deg);
      transform: translate(-40px,40px) rotate(45deg);
    }
  }
  
  /* LOADER 4 */
  
  #loader-4 span{
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 100%;
    background-color: #3498db;
    margin: 35px 5px;
    opacity: 0;
  }
  
  #loader-4 span:nth-child(1){
    animation: opacitychange 1s ease-in-out infinite;
  }
  
  #loader-4 span:nth-child(2){
    animation: opacitychange 1s ease-in-out 0.33s infinite;
  }
  
  #loader-4 span:nth-child(3){
    animation: opacitychange 1s ease-in-out 0.66s infinite;
  }
  
  @keyframes opacitychange{
    0%, 100%{
      opacity: 0;
    }
  
    60%{
      opacity: 1;
    }
  }
  
  /* LOADER 5 */
  
  #loader-5 span{
    display: block;
    position: absolute;
    left: calc(50% - 20px);
    top: calc(50% - 20px);
    width: 20px;
    height: 20px;
    background-color: #3498db;
  }
  
  #loader-5 span:nth-child(2){
    animation: moveanimation1 1s ease-in-out infinite;
  }
  
  #loader-5 span:nth-child(3){
    animation: moveanimation2 1s ease-in-out infinite;
  }
  
  #loader-5 span:nth-child(4){
    animation: moveanimation3 1s ease-in-out infinite;
  }
  
  @keyframes moveanimation1{
    0%, 100%{
      -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px);
      -o-transform: translateX(0px);
      transform: translateX(0px);
    }
  
    75%{
      -webkit-transform: translateX(30px);
      -ms-transform: translateX(30px);
      -o-transform: translateX(30px);
      transform: translateX(30px);
    }
  }
  
  @keyframes moveanimation2{
    0%, 100%{
      -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
      -o-transform: translateY(0px);
      transform: translateY(0px);
    }
  
    75%{
      -webkit-transform: translateY(30px);
      -ms-transform: translateY(30px);
      -o-transform: translateY(30px);
      transform: translateY(30px);
    }
  }
  
  @keyframes moveanimation3{
    0%, 100%{
      -webkit-transform: translate(0px, 0px);
      -ms-transform: translate(0px, 0px);
      -o-transform: translate(0px, 0px);
      transform: translate(0px, 0px);
    }
  
    75%{
      -webkit-transform: translate(30px, 30px);
      -ms-transform: translate(30px, 30px);
      -o-transform: translate(30px, 30px);
      transform: translate(30px, 30px);
    }
  }
  
  /* LOADER 6 */
  
  #loader-6{
    top: 40px;
    left: -2.5px;
  }
  
  #loader-6 span{
    display: inline-block;
    width: 5px;
    height: 20px;
    background-color: #3498db;
  }
  
  #loader-6 span:nth-child(1){
    animation: grow 1s ease-in-out infinite;
  }
  
  #loader-6 span:nth-child(2){
    animation: grow 1s ease-in-out 0.15s infinite;
  }
  
  #loader-6 span:nth-child(3){
    animation: grow 1s ease-in-out 0.30s infinite;
  }
  
  #loader-6 span:nth-child(4){
    animation: grow 1s ease-in-out 0.45s infinite;
  }
  
  @keyframes grow{
    0%, 100%{
      -webkit-transform: scaleY(1);
      -ms-transform: scaleY(1);
      -o-transform: scaleY(1);
      transform: scaleY(1);
    }
  
    50%{
      -webkit-transform: scaleY(1.8);
      -ms-transform: scaleY(1.8);
      -o-transform: scaleY(1.8);
      transform: scaleY(1.8);
    }
  }
  
  /* LOADER 7 */
  
  #loader-7{
    -webkit-perspective: 120px;
    -moz-perspective: 120px;
    -ms-perspective: 120px;
    perspective: 120px;
  }
  
  #loader-7:before{
    content: "";
    position: absolute;
    left: 25px;
    top: 25px;
    width: 50px;
    height: 50px;
    background-color: #3498db;
    animation: flip 1s infinite;
  }
  
  @keyframes flip {
    0% {
      transform: rotate(0);
    }
  
    50% {
      transform: rotateY(180deg);
    }
  
    100% {
      transform: rotateY(180deg)  rotateX(180deg);
    }
  }
  
  /* LOADER 8 */
  
  #loader-8:before{
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: calc(50% - 10px);
    left: 0px;
    background-color: #3498db;
    animation: rotatemove 1s infinite;
  }
  
  @keyframes rotatemove{
    0%{
      -webkit-transform: scale(1) translateX(0px);
      -ms-transform: scale(1) translateX(0px);
      -o-transform: scale(1) translateX(0px);
      transform: scale(1) translateX(0px);
    }
  
    100%{
      -webkit-transform: scale(2) translateX(45px);
      -ms-transform: scale(2) translateX(45px);
      -o-transform: scale(2) translateX(45px);
      transform: scale(2) translateX(45px);
    }
  }

@media(max-width:1000px){
  #innerFilterList{
    display: none;
  }
  #filterLegendBtn{
    display: none !important;
  }
  #risk_list{
    display: none !important;
  }
  #consequence-of-failure-button{
    display: none !important;
  }
  #probability-of-failure-button{
    display: none !important;
  }
  #risk-button{
    display: none !important;
  }
}

@media(max-width:367px){
  .inner.full{
    width: 250px !important;
  }
  #right-panel{
    width: 250px !important;
  }
}

/* Parcel layer popup */
.parcel-popup .maplibregl-popup-content {
    padding: 0;
    border-radius: 6px;
    overflow: hidden;
    max-width: 320px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.parcel-popup-content {
    max-height: 300px;
    overflow-y: auto;
}

.parcel-popup-content table {
    border-collapse: collapse;
    width: 100%;
    font-size: 13px;
}

.parcel-popup-content table tr:nth-child(even) {
    background-color: #f5f5f5;
}

.parcel-popup-content table th {
    text-align: left;
    padding: 5px 10px;
    color: #555;
    font-weight: 600;
    white-space: nowrap;
    width: 40%;
}

.parcel-popup-content table td {
    padding: 5px 10px;
    color: #222;
    word-break: break-word;
    display: none !important;
}

.parcel-popup-content{
  padding: 20px 10px !important;
}