#m4n-container {
  height: 100%;
  overflow: auto;
}
.map {
  height: 600px;
  background-color: transparent;
}
/* CUSTOM SETTINGS */
.legend,
.touch-info,
.leaflet-bar a,
.leaflet-bar a.leaflet-disabled,
.leaflet-bar.leaflet-control-locate a,
.leaflet-bar.leaflet-control-home a,
.leaflet-sidebar > .leaflet-control{
  color: white;
  background-color: rgba(0,0,0,0.5);
}
/* Makes sure SVG bounding box is always correct */
.leaflet-marker-icon.leaflet-interactive.svg-element, .leaflet-marker-icon.leaflet-interactive.svg-element svg {
  pointer-events: none; 
}

.leaflet-marker-icon.leaflet-interactive.svg-element svg g{
  pointer-events: auto;
}
/* Map controls background hover color */
.leaflet-bar a:hover{
  background-color: rgba(0,0,0,0.6);
}
.leaflet-popup img {
  max-width: 100%;
}

.leaflet-popup iframe {
  max-width: 100%;
}
/* Map controls icons */ 
.touch-info-icon,
.leaflet-control-locate a,
.leaflet-control-home a {
  background-image: url('../images/map-icons.png?v=1');
}

/* Sidebar controls and close btn color */
.leaflet-sidebar > .leaflet-control,
.leaflet-sidebar .counter,
.leaflet-sidebar .close{
  color: white;
}
/* END CUSTOM SETTINGS */

/* CUSTOM SETTINGS WHITE */
.white .legend,
.white .touch-info,
.white .leaflet-bar a,
.white .leaflet-bar a.leaflet-disabled,
.white .leaflet-bar.leaflet-control-locate a,
.white .leaflet-bar.leaflet-control-home a,
.white .leaflet-sidebar > .leaflet-control{
  color: black;
  background-color: rgba(255,255,255,1);
}

/* Map controls background hover color */
.white .leaflet-bar a:hover{
  color: black;
  background-color: white;
}

/* Map controls icons */ 
.white .touch-info-icon,
.white .leaflet-control-locate a,
.white .leaflet-control-home a {
  background-image: url('../images/map-icons-white.png?v=1');
}

/* Sidebar controls and close btn color */
.white .leaflet-sidebar > .leaflet-control,
.white .leaflet-sidebar .counter,
.white .leaflet-sidebar .close{
  color: black;
}
/* END CUSTOM SETTINGS */


.header {
  text-align: center;
}
.footer {
  text-align: center;
}



/* MARKER CLUSTERS */
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
  -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
  -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
  -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
  transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
  -webkit-transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
  -moz-transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
  -o-transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

.marker-cluster {
  font-family: "Arial", sans-serif;
  font-size: 12px;
  font-weight: bold;
  color: white;
  text-align: center;
  background-color: #dd0000;
  border: 2px solid white;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  -webkit-box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
.marker-cluster span{
  line-height: inherit;
}
.marker-cluster-small{
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.marker-cluster-medium{
  width: 35px;
  height: 35px;
  line-height: 35px;
}
.marker-cluster-large{
  width: 40px;
  height: 40px;
  line-height: 40px;
}



/* TRANSITIONS */
.leaflet-left {
  transition: left 0.5s; 
  -moz-transition: left 0.5s; 
  -webkit-transition: left 0.5s; 
}

.leaflet-right {
  transition: right 0.5s; 
  -moz-transition: right 0.5s; 
  -webkit-transition: right 0.5s; 
}



/* MAP CONTROLS */
/* Zoom controls (bottom right) */
.leaflet-touch .leaflet-control-layers, 
.leaflet-touch .leaflet-bar,
.leaflet-bar{
  border: 0;
  box-shadow: none;
  -webkit-box-shadow: none;
}

.leaflet-bar a{
  display: block;
  text-align: center;
  text-decoration: none;
  line-height: 26px;
  margin: 0;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
}
.leaflet-bar a, 
.leaflet-bar a:hover{
  width: 30px;
  height: 30px;
  color: white;
  border: none;
  outline: none;
}
/*.leaflet-bar a:hover {  background-color: rgba(0,0,0,0.6); }*/
/*.leaflet-bar a.leaflet-disabled { background-color: rgba(0,0,0,0.5); }*/
.leaflet-bar .leaflet-control-zoom-in{ margin-bottom: 1px; }

.leaflet-bar.leaflet-control-locate {
  margin-bottom: 3px;
}

/* mapcontrol zoom + touch icons */
.leaflet-bar.leaflet-control-locate a,
.leaflet-bar.leaflet-control-home a,
.leaflet-control .touch-info-icon {
  width: 30px;
  height: 30px;
  display: inline-block;
  vertical-align: middle;
  /*background: url('../images/map-icons.png?v=1') no-repeat center;*/
  background-position: -180px 0;
}
.leaflet-bar.leaflet-control-locate a,
.leaflet-bar.leaflet-control-home a{
  cursor: pointer;
}

.leaflet-bar.leaflet-control-home a{
  background-position: -240px 0;
}

.leaflet-bar.leaflet-control-locate.active.following a{
  background-position: -210px 0; 
}

/* TOUCH CONTROL (bottom left) */
.leaflet-control.touch-info{
  display: block;
  line-height: 30px;
  user-select: none;
  -o-user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  padding: 5px 10px 5px;
}
.leaflet-control .touch-info-icon {  padding-right: 5px; }
.leaflet-control .touch-info-icon.touch-enabled { background-position: 0 0; }
.leaflet-control .touch-info-icon.desktop-enabled { background-position: -120px 0; }
.leaflet-control .touch-info-icon.touch-disabled { background-position: -30px 0; }
.leaflet-control .touch-info-icon.desktop-disabled { background-position: -150px 0; }




/* LEGEND */
.legend{
  max-height: 400px;
  overflow: auto;
  padding: 10px 20px;
}
.legend ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.legend ul.hidden {
  display: none;
}
.minimize {
  position: absolute;
  right: 15px;
  top: -2px;
  font-weight: 900;
  font-size: 15px;
  cursor: pointer;
}





/* POPUP */


/* SIDEBAR */
.leaflet-sidebar {
  height: 100%;
  width: 100%;
  position: absolute;
  z-index: 2000; 
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}
.leaflet-sidebar > .leaflet-control{
  padding: 8px 24px; 
}

.leaflet-sidebar .close {
  font-size: 25px;
  text-align: center;
  top: 10px;
  right: 15px;
  cursor: pointer;
  position: absolute;
  z-index: 999;
}
.leaflet-sidebar .counter {
  text-align: center;
  width: 100%;
  bottom: 0;
  left: 0;
  padding: 7px 0;
  /*border-top: 1px solid #999;*/
  position: absolute;
  z-index: 999;
}
.leaflet-sidebar .counter .arrow {
  width: 24px;
  display: inline-block;
  cursor: pointer;
  font-weight: bold;
}

.leaflet-sidebar > .leaflet-control {
  font-size: 1.1em;
  height: 100%;
  width: 100%;
  padding: 8px 24px;
  overflow: auto;
  box-shadow: none;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  border-radius: 0; 
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

/* sidebar position left */
.leaflet-sidebar.left {
  left: -100%; 
  padding-right: 0; 
  transition: left 0.5s, width 0.5s;
  -o-transition: left 0.5s, width 0.5s;
  -moz-transition: left 0.5s, width 0.5s;
  -webkit-transition: left 0.5s, width 0.5s;
}
.leaflet-sidebar.left.visible { left: 0; }
.leaflet-sidebar.left.visible ~ .leaflet-left { left: 100%; }

/* sidebar position right */
.leaflet-sidebar.right {
  right: -100%; 
  padding-left: 0; 
  transition: right 0.5s, width 0.5s;
  -o-transition: right 0.5s, width 0.5s;
  -moz-transition: right 0.5s, width 0.5s;
  -webkit-transition: right 0.5s, width 0.5s;
}
.leaflet-sidebar.right.visible { right: 0; }
.leaflet-sidebar.right.visible ~ .leaflet-right { right: 100%; }

@media (min-width: 768px) and (max-width: 991px) {
  .leaflet-sidebar {
    width: 305px; 
  }
  .leaflet-sidebar.left.visible ~ .leaflet-left {
    left: 305px; 
  }
  .leaflet-sidebar.right.visible ~ .leaflet-right {
    right: 305px; 
  } 
}
@media (min-width: 992px) and (max-width: 1199px) {
  .leaflet-sidebar {
    width: 390px; 
  }
  .leaflet-sidebar.left.visible ~ .leaflet-left {
    left: 390px; 
  }
  .leaflet-sidebar.right.visible ~ .leaflet-right {
    right: 390px; 
  } 
}
@media (min-width: 1200px) {
  .leaflet-sidebar {
    width: 460px; 
  }
  .leaflet-sidebar.left.visible ~ .leaflet-left {
    left: 460px; 
  }
  .leaflet-sidebar.right.visible ~ .leaflet-right {
    right: 460px; 
  } 
}