body {
  margin:0;
  padding:0;
}
.modal-content {
  border-radius: .5em;
  overflow: hidden;
  position: relative;
}
.modal-header h1 {
  font-weight: 600;
  line-height:1em;
  font-size:2.2rem;
}
.modal-header h1:after{
  content:"A digital humanities experiment in mapping";
  font-size:1rem;
  font-weight: 400;
  display:block;
  line-height:1.8em;
  opacity: .5;
}
.modal-header img {
  width: 200px;
  opacity: .1;
  position:absolute;
  right: -2em;
  top: -4.5em;
}
.modal-backdrop.show {
  opacity:.6;
}
.modal-header,
.modal-body,
.modal-footer {
  padding: 1.2rem;
}
.modal-header {
  border:none;
}
.modal-body u {
  text-decoration: none;
  font-weight: 600;
}
#map {
  position:absolute;
  top:0;
  bottom:0;
  width:100%;
  overflow:hidden;
}
#sidebar {
  z-index: 888;
  width: 300px;
  position: absolute;
  left: 0px;
  top: 0px;
  padding: 1rem;
  border-radius:.3em;
}
.filtered {
  -webkit-filter: blur(5px);
}
#title {
  background: #333;
  padding: 1.25rem;
  margin-bottom: .5rem;
  color: white;
  border-radius:.25em;
  cursor: pointer;
  transition: all .2s ease-in-out;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
}
#title h1 {
  font-size: 2em;
  font-weight: 600;
  line-height: 1em;
}
#title h3 {
  margin-top:1.5em;
  font-size: .9em;
  font-weight: 400;
  line-height: 1.3em;
  opacity: 0.5;
}
#title img {
  width: 150px;
  opacity: .1;
  top: -2.7em;
  position: absolute;
  right: -2.5em;
}
#title:hover {
  transform: scale(1.05);
}
#accordionOptions {
  border-radius:0.25rem;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
}
#accordionOptions+.card {
  background: white;
}
#accordionOptions .card .btn {
  font-weight: 700;
}
#accordionOptions .card .btn-link {
  color: #333;
}
#accordionOptions .card .btn:focus {
  outline: none;
  box-shadow: none;
  text-decoration:none;
}
#accordionOptions .card .btn.collapsed {
  font-weight:400;
}
#accordionOptions .card-header {
  padding: .25rem;
  background: white;
}
#accordionOptions .card-body {
  padding: 1rem;
}
#accordionOptions .card-body p {
    font-size: .9em;
    line-height: 1.5em;
    margin-bottom: 1rem;
    display: block;
}
#accordionOptions .card svg.feather {
  width:16px;
  margin-right:.5rem;
  vertical-align: bottom;
}
svg.feather-calendar {
  width: 13px;
  margin-right: .2rem;
  height: 13px;
  vertical-align:text-top;
}
button:active, button:focus {
  outline:none !important;
}
#yearselect button {
  border: none;
  width: auto;
  margin-bottom: .3em;
  display: inline-block;
  width: 32%;
  text-align: center;
  border-radius: .2em;
  background: #007bff;
  cursor: pointer;
  color: white;
  border: 1px solid transparent;
}
#yearselect button.selected,
#yearselect button:hover {
	background: #666;
  border: 1px solid #666;
  color:white;}
#slider {
  position:relative;
  padding-bottom:2.5em !important;
}
#slider div {
  display: block;
  margin-bottom:1em;
}
input[type=range] {
-webkit-appearance: none;
position: relative;
display: block;
width: 100%;
height: 5px;
border-radius: 5px;
background: #aaa;
outline: none;
-webkit-transition: .2s;
transition: opacity .2s;
margin-bottom: 1em;
}
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 20px;
height: 20px;
background: #007bff;;
border-radius:50em;
cursor: pointer;
}
input[type=range]::-moz-range-thumb {
  appearance: none;
  width: 20px;
  height: 20px;
  background: #007bff;
  border-radius:50em;
  cursor: pointer;
}
input[type=range]:focus {
  outline: none; /* Removes blue border */
}
input[type=range]::-ms-track {
  width: 100%;
  cursor: pointer;
  /* Hides the slider so custom styles can be added */
  background: transparent;
  border-color: transparent;
  color: transparent;
}
label#active-year {
  font-weight: 700;
}
span.befrange {
    font-size: .8em;
    float: left;
    margin-top: -.4em;
    margin-left: -.4em;
}
span.afrange {
    font-size: .8em;
    float: right;
    margin-top: -.4em;
    margin-right: -.4em;
}
a#resetslider {
  display: none;
  font-size: .6em;
  text-transform: uppercase;
  letter-spacing: .1em;
  background: black;
  color: white;
  font-style:normal;
  padding: 0.3em .8em;
  border-radius: 1em;
  line-height: 1em;
  vertical-align:middle;
}
a#resetslider:hover {
  text-decoration:none;
  opacity: 0.7;
}

label.Health.and.hygiene:before, .mapboxgl-popup-content label.Health.and.hygiene, u.Health {background-color:hsl(358, 89%, 74%) !important;}
label.Institutions:before, .mapboxgl-popup-content label.Institutions, u.Institutions {background-color:hsl(190, 50%, 68%) !important;}
label.Popular.education:before, .mapboxgl-popup-content label.Popular.education, u.Popular.education {background-color:hsl(255, 57%, 67%) !important;}
label.Infrastructures:before, .mapboxgl-popup-content label.Infrastructures, u.Infrastructures {background-color:hsl(29, 83%, 53%) !important;}
label.WorkersHousing:before, .mapboxgl-popup-content label.Workers, u.Workers {background-color:hsl(0, 80%, 41%) !important;}
label.Gardens.and.parks:before, .mapboxgl-popup-content label.Gardens.and.parks, u.Green {background-color:hsl(107, 64%, 61%) !important;}
label.Math.games:before, .mapboxgl-popup-content label.Math.games, u.Math.games {background-color:hsl(114, 82%, 28%) !important;}
label.Armillary.spheres:before, .mapboxgl-popup-content label.Armillary.spheres, u.Spheres {background-color:hsl(49, 68%, 62%) !important;}
label.Pavements:before, .mapboxgl-popup-content label.Portuguese.pavements, u.Pavements {background-color:hsl(0, 0%, 76%) !important;}

.popover {
  background: #333;
  border: none;
  max-width:200px;
  margin-left:-1.5em;
  padding:.5em;
}
.popover-body {
  color: white;
  line-height:1.2em;
}
.bs-popover-right>.arrow::after {
  border-right-color: #333;
}

.mapboxgl-ctrl-group {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.25) !important;
}
.mapboxgl-popup {
  max-width:300px !important;
}
.mapboxgl-popup-tip {
  border-right-width: 3px;border-left-width: 3px;
}
.mapboxgl-popup-content {
  padding: 0;
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.1);
}
.mapboxgl-popup-content .card {
  border: none;
}
.mapboxgl-popup-content .card-body {
  padding: 1rem;
}
span.source + .card-body {
  padding-top: .5rem;
}
.mapboxgl-popup-content label {
  font-size: .8em;
  padding: 0 .7em;
  border-radius: .25em;
  color: white;
  margin-bottom:.5em;
}
.mapboxgl-popup-content span.altname {
  font-size: .8em;
  display: block;
  line-height:1.2em;
  margin: .5em 0em;
}
.mapboxgl-popup-content span.name {
  font-weight:700;
  display:block;
  line-height: 1.2em;
  font-size: 1.1em;
}
.mapboxgl-popup-content span.evname {
  font-weight: 400;
  opacity: .5;
  display: block;
  font-style: italic;
  margin: .25em 0;
}
.mapboxgl-popup-content span.source {
  font-size: .7em;
  display:block;
  text-align:right;
  margin-right: .5rem;
}
.mapboxgl-popup.limits .mapboxgl-popup-content {
  padding: .5em 2em;
  border-radius: 5em;
}
