/******************** GENERAL *************************/

body {
  color: #eee;
  margin: 0;
  padding: 0;
  font-family: 'Montserrat', sans-serif;
  font-weight: 300;
}

a,
a:visited {
  color: #ccc;
}

a:hover,
a:active {
  color: #08f;
}


/******************** DEVICE *************************/

#desktop {}

.mobile {
  display: none;
}


/******************** HEADER *************************/

#about-link {
  float: right;
  font-weight: 300;
  margin-right: 20px;
  cursor: pointer; 
}

#legend-mobile {
  display: none;
  float: right;
  font-weight: 300;
  margin-right: 20px;
  cursor: pointer;
}

#header {
  background: rgba(12, 12, 12, 0.8);
  color: #eee;
  height: 50px;
  line-height: 50px;
  position: absolute;
  top: 0px;
  width: 100%;
  z-index: 1000000;
}

#modes {
  margin-left: 20px;
  display: inline-block;
}

.mode,
.mode-selected {
    display: inline-block;
    height: 28px;
    line-height: 28px;
    color: #eee;
    border-radius: 2px;
    z-index: 3;
    cursor: pointer;
    font-weight: 400;
    margin-right: 10px;
    padding: 5px 10px;
}

.mode-selected {
  background: #444;
}

.mode:hover,
.mode:active,
.mode-selected:hover,
.mode-selected:active {
    color: #fff;
}

#title {
  float: left;
  font-weight: 300;
  margin-left: 20px;
  font-size: 24px;
}


/******************** ABOUT *************************/

#about {
  display: none;
  position: absolute;
  z-index: 20202020;
  background: rgba(0, 0, 0, 0.88);
  width: 100%;
  height: 100%;
  overflow:auto;
}

#about-close {
  border: 1px solid #eee;
  position: fixed;
  right: 0px;
  margin-top: 20px;
  margin-right: 20px;
  float: right;
  top: 0px;
  width: 38px;
  height: 38px;
  border-radius: 19px;
  background: url('../assets/close.svg') center center no-repeat;
  cursor: pointer;
  opacity: 0.6;
  font-size: 13px;
}

#about-close:hover {
  opacity: 0.9;
}

#about-content {
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-bottom: 40px;
  max-width: 570px;
  padding: 10px;
}

#about-credits {
  font-size: 13px;
  line-height: 20px;
}

#about-header {
  font-weight: 400;
  font-size: 24px;
  color: #ccc;
}

#about-map-button:hover {
  background: #0cf;
}

#about-text {
  font-size: 12px;
  line-height: 16px;
  color: #ccc;
}


/******************** SIDEBAR *************************/

#sidebar {
  position: absolute;
  z-index: 1012022;
  top: 60px;
  right: 10px;
  width: 150px;
}


/******************** LEGEND *************************/

.av {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.caption {
  display: inline-block;
}

#legend {
  z-index: 1012022;
  background: rgba(12, 12, 12, 0.85);
  font-size: 12px;
}

#legend-content {
  padding: 5px;
  display: block;
}

.line {
  line-height: 18px;
  display: flex;
}

/******************** NEIGHBORHOOD FILTER *************************/

.av2 {
  display: inline-block;
  margin-right: 8px;
}

#cbs {
  z-index: 1012022;
  background: rgba(12, 12, 12, 0.85);
  font-size: 12px;
}

#cbs-content {
  padding: 5px;
  display: block;
  margin-top: 10px;
}


/******************** STATS LEGEND *************************/

#statslegend {
  z-index: 1012022;
  background: rgba(12, 12, 12, 0.85);
  font-size: 12px;
}

#statslegend-content {
  padding: 5px;
  display: none;
}


/******************** INFO *************************/

#info {
 position: absolute;
 z-index: 1012022;
 top: 60px;
 left: 10px;
 width: 300px;
 background: rgba(12, 12, 12, 0.8);
 color: #eee;
 padding: 10px;
 display: none;
}

#info-content {
 font-size: 13px;
}

#info-header {
 font-weight: 400;
 margin-bottom: 10px;
 text-align: left;;
 font-size: 15px;
}

.item {
  font-size: 12px;
  line-height: 22px;
  cursor: pointer;
}

.item-id {
  display: inline-block;
}

.item-name {
  display: inline-block;
}

.item-value {
  display: inline-block;
  float: right;
}

.param-subheader {}

.param {
  line-height: 28px;
}

.param-value {
  float: right;
  display: inline-block;
  color: #eee;
  font-size: 14px;
}

.param-caption {
  display: inline-block;
  color: #ccc;
  font-size: 12px;
}

.x.axis text,
.y.axis text {
  fill: #aaa;
  font-size: 10px;
}

.x.axis line,
.y.axis line {
  stroke: #aaa;
}

.x.axis path,
.y.axis path {
  fill: none;
  stroke: #666;
}


/******************** STORYMODE *************************/

#storymode {
 position: absolute;
 z-index: 1012022;
 top: 60px;
 left: 10px;
 width: 300px;
 height: 300px;
 background: rgba(12, 12, 12, 0.8);
 color: #eee;
 padding: 10px;
 display: block;
}

#storymode-content {
 font-size: 12px;
 line-height: 16px;
}

#storymode-header {
 font-weight: 600;
 margin-bottom: 10px;
 text-align: left;
 font-size: 14px;
}

#storymode-controls {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
}

#storymode-controls-numbers {
  display: inline-block;
  text-align: center;
  width: 60px;
}

#story-back {
  visibility: hidden;
}

i {
    border: solid white;
    border-width: 0 3px 3px 0;
    display: inline-block;
    padding: 3px;
    cursor: pointer;
}

.right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}

.left {
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}



/******************** SEOUL *************************/

#cbs-content {
  max-height: 46vh;
  overflow-y: auto;
}

.cbs-actions {
  margin-bottom: 4px;
  color: #aaa;
}

.cbs-actions span {
  cursor: pointer;
  text-decoration: underline;
  margin-right: 8px;
}

.legend-threshold {
  color: #aaa;
  font-size: 11px;
  margin: 2px 0;
}

#info-histgraph {
  margin: 4px 0 8px;
}

.bar-far {
  fill: #ef6548;
}

.bar-near {
  fill: #fdd49e;
}

.threshold-line {
  stroke: #eee;
  stroke-dasharray: 3 2;
}

#loading {
  display: none;
}

.loading #loading {
  display: block;
  position: absolute;
  z-index: 1012023;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  color: #ccc;
}

.loading #sidebar,
.loading #controls,
.loading #info {
  visibility: hidden;
}

#slider-caption {
  font-size: 12px;
  line-height: 18px;
  padding-top: 6px;
  color: #ddd;
}

#slider-w {
  margin: 8px 34px 16px;
}

#info-hint {
  color: #aaa;
  font-size: 12px;
}

.maplibregl-ctrl-attrib {
  background: rgba(12, 12, 12, 0.7) !important;
  color: #aaa;
}

.maplibregl-ctrl-attrib a {
  color: #ccc !important;
}

/******************** CONTROLS *************************/

#controls {
  z-index: 101010;
  position: absolute;
  left: 50%;
  bottom: 30px;
  margin-left: -250px;
  width: 500px;
  text-align: center;
  color: #fff
}

#slider-area-b {
  display: inline-block;
  width: 300px;
  background: rgba(0,0,0,0.5);
  line-height: 30px;
}

#slider-area-t {
  display: inline-block;
  width: 300px;
  background: rgba(0,0,0,0.5);
  line-height: 30px;
  margin-bottom: 20px;
}


/******************** MAP *************************/

#map {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  margin: 0;
  padding: 0;
}


/******************** MEDIA QUERIES *************************/

@media screen and (max-width: 620px) {
    
    .desktop {
        display: none;
    }
    
    .mobile {
      display: inline;
    }

    #about-link {
      background: url('../assets/info.svg') center center no-repeat;
      width: 24px;
      margin: 0px 10px;
      height: 50px;
      line-height: 50px;
      opacity: 0.75;
    }

    #legend-mobile {
      display: inline-block;
      background: url('../assets/info2.svg') center center no-repeat;
      width: 24px;
      margin: 0px 10px;
      height: 50px;
      line-height: 50px;
      opacity: 0.75;
    }

    #sidebar {
      top: 50px;
      right: 0;
    }

    #storymode {
      position: absolute;
      z-index: 1012022;
      bottom: 0;
      left: auto;
      top: auto;
      height: auto;
      width: calc(100% - 20px);
      background: rgba(12, 12, 12, 0.8);
      color: #eee;
      padding: 10px;
      display: none;
    }

    #storymode-content {
      font-size: 12px;
      line-height: 16px;
      margin-bottom: 30px;
    }

    #info {
      position: absolute;
      z-index: 1012022;
      top: auto;
      left: auto;
      bottom: 0;
      width: calc(100% - 20px);
      background: rgba(12, 12, 12, 0.8);
      color: #eee;
      padding: 10px;
      display: none;
    }

    #info-popgraph {
      display: none;
    }

    .param {
      line-height: 22px;
    }

    #legend {
      display: none;
    }

    #statslegend {
      display: none;
    }




}


