body { 
	margin: 0;
	padding: 0;
	font-family: "proxima-nova", sans-serif;
}

#map {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	-webkit-text-size-adjust: 100%;
}

#menubutton {
	top: 2px;
	left: 2px;
	position: fixed;
	z-index: 2;
	cursor: pointer;
	margin: 8px;
	background: #000942;
	padding: 5px 4px 0px 5px;
    border-radius: 5px;
	-moz-box-shadow: 0 0 2px rgba(0,0,0,0.1);
	-webkit-box-shadow: 0 0 2px rgba(0,0,0,0.1);
	box-shadow: 0 0 0 2px rgba(0,0,0,0.1);
}

#menubutton .menutitle {
	 padding: 0px;
	 margin: 0px;
	 width: 100%;
  	 top: 0px;
	 z-index: 3;
}		

#menubutton h1.menutitle {
	 text-transform: uppercase;
	 color: #ffffff;
	 margin: 0px;
	 padding: 7px 50px 10px 10px;
	 font: 600 large "proxima-nova", sans-serif;
}

#menubutton .menuicon {
	 top: 15px;
	 right: 15px;
	 z-index: 10;
	 position: absolute;
} 

#sidepanel {
	 position: absolute;
	 top: 10px;
	 left: 10px;
	 width: 300px;
	 background-color: #000942;
	 -moz-box-shadow: 0 0px 32px #2b2da4;
     -webkit-box-shadow: 0 0px 32px #2b2da4;
     box-shadow: 0 0px 32px #2b2da4;
	 border-radius: 4px;
	 z-index: 5;
	 text-align: left;	
	 font-family: "proxima-nova", sans-serif;
	 display: none;
}

#sidepaneltitle {
	 padding: 0px;
	 margin: 0px;
	 width: 100%;
  	 top: 0px;
	 z-index: 3;
}		

#sidepaneltitle h1 {
	 text-transform: uppercase;
	 color: #ffffff;
	 margin: 0px;
	 padding: 12px 4px 10px 15px;
	 font: 600 large "proxima-nova", sans-serif;
}

#sidepanel .exitbutton {
	 top: 17px;
	 right: 17px;
	 z-index: 10;
	 position: absolute;
	 cursor: pointer;
} 
	  
#menu {
     position: relative;
	 width: 100%;
     z-index: 2;
}

#menu a {
     display: block;
     text-decoration: none;
     text-align:left;
	 font-size: 90%;
     padding: 0px 5px 8px 10px;
     color: #ffffff;
     font: 600 large "proxima-nova", sans-serif;
}

#menu a.active {
     background: #000942;
	 color: #ffffff;
}

#menu a.active::before {
     content:"\2713";
     padding: 0px 8px 0px 5px;
}
	
#menu a.passive {
     background: #000942;
     color: #56e7e0;
}

#menu a.passive::before {
     content:"\2718";
     padding: 0px 8px 0px 5px;
}


.mapboxgl-popup-content {
	 font: 600 large "proxima-nova", sans-serif;
	 background: #000942;
	 border-radius: 4px;
     -moz-box-shadow: 0 0px 32px #2b2da4;
     -webkit-box-shadow: 0 0px 32px #2b2da4;
     box-shadow: 0 0px 32px #2b2da4;
  	 padding: 12px 12px 14px 14px;
	 color: #ffffff;
	 line-height: 1.1;
}


@keyframes fadein {from {opacity: 0;} to {opacity: 1;}}

.mapboxgl-popup {
     z-index: 4000;
	 animation: fadein 0.5s;
	 cursor-events: none;
}

.mapboxgl-popup-close-button {
	color: #ffffff;
  	font-size: x-large;
	padding-right: 8px;
}

.mapboxgl-popup-close-button:hover {
	background-color: transparent;
}

.mapboxgl-popup.mapboxgl-popup-anchor-bottom, .mapboxgl-popup.mapboxgl-popup-anchor-bottom-right, .mapboxgl-popup.mapboxgl-popup-anchor-bottom-left {
    padding-bottom: 20px;
}

.mapboxgl-popup.mapboxgl-popup-anchor-top, .mapboxgl-popup.mapboxgl-popup-anchor-top-right, .mapboxgl-popup.mapboxgl-popup-anchor-top-left {
    padding-top: 20px;
}

.mapboxgl-popup.mapboxgl-popup-anchor-left {
    padding-left: 20px;
}

.mapboxgl-popup.mapboxgl-popup-anchor-right {
    padding-right: 20px;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip, .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip, .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {
    border-top-color: #000942;
}

.mapboxgl-popup-anchor-top .mapboxgl-popup-tip, .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip, .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {
    border-bottom-color: #000942;
}

.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
    border-right-color: #000942;
}

.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
    border-left-color: #000942;
}

.mapboxgl-popup .popuptitle {
	font-size: x-large;
	font-weight: 700;
	margin-right: 20px;
}

.mapboxgl-popup .popupcategory  {
	font-size: large;
	font-weight: 700;
	margin: 5px 0px 5px 0px;
}

.mapboxgl-popup ul {
    padding: 0px 5px 0px 5px;
    margin: 0px 0px 10px 10px;
	
}

.mapboxgl-popup #popupdescription1, .mapboxgl-popup #popupdescription2, .mapboxgl-popup #popupdescription3, .mapboxgl-popup #popupdescription4  {
	font-size: medium;
	font-weight: 500;
	margin-top: 5px;
}

.mapboxgl-popup .popuplink a {
	font-size: large;
	font-weight: 700;
	margin-bottom: 5px;

}

.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
	font: "proxima-nova", sans-serif;
}

.mapboxgl-ctrl-group {
    border-radius: 4px;
    -moz-box-shadow: 0 0px 32px #2b2da4;
    -webkit-box-shadow: 0 0px 32px #2b2da4;
    box-shadow: 0 0px 32px #2b2da4;
    overflow: hidden;
    background: #fff;
}

.mapboxgl-popup-close-button {
    font-size: x-large;
}

.mapboxgl-ctrl-group {
    background: #000942;
}

.mapboxgl-ctrl-group:not(:empty) {
    -moz-box-shadow: 0 0px 32px #2b2da4;
    -webkit-box-shadow: 0 0px 32px #2b2da4;
    box-shadow: 0 0px 32px #2b2da4;
	border-radius: 4px;
}

.mapboxgl-ctrl-group button {
    background-color: #000942;	
}

.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {
    background-image: url('data:image/svg+xml,<svg width="29" height="29" viewBox="0 0 29 29" xmlns="http://www.w3.org/2000/svg" fill="%23ffffff"><path d="M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z"/></svg>');
}

.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {
    background-image: url('data:image/svg+xml,<svg width="29" height="29" viewBox="0 0 29 29" xmlns="http://www.w3.org/2000/svg" fill="%23ffffff"><path d="M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z"/></svg>');
}
	
.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23ffffff'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23cccccc'/%3E%3C/svg%3E");
}

.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23ffffff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E");
}
	
.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23ffffff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E");
}


@media only screen and (max-width: 480px) {
	
#menubutton {
	top: 2px;
	left: 2px;
	position: fixed;
	z-index: 2;
	width: 50px;
	height: 50px;
    padding: 0px;

}

#menubutton .menutitle {
	 display: none;
}		


#menubutton .menuicon {
	top: 15px;
	left: 15px;
	z-index: 10;
	position: absolute;
} 
	
#sidepanel {
	bottom: 0px;
	left: 0px;
	top: auto;
	right: auto;
	width: 100%;
	height: auto;
}
	
.mapboxgl-popup-content {
    position: fixed;
  	top: 0px;	
	width: calc(100% - 20px);
	padding: 10px;
}
	
	
.mapboxgl-popup {
	z-index: 4;
	position: relative;
	display: block;
}
	
.mapboxgl-popup-close-button {
	position: absolute;
}
	
.mapboxgl-popup.mapboxgl-popup-anchor-bottom, .mapboxgl-popup.mapboxgl-popup-anchor-bottom-right, .mapboxgl-popup.mapboxgl-popup-anchor-bottom-left, .mapboxgl-popup.mapboxgl-popup-anchor-top, .mapboxgl-popup.mapboxgl-popup-anchor-top-right, .mapboxgl-popup.mapboxgl-popup-anchor-top-left, .mapboxgl-popup.mapboxgl-popup-anchor-left, .mapboxgl-popup.mapboxgl-popup-anchor-right {
    padding-left: 0px;
    padding-right: 0px;
    transform: none !important;
    max-width: 100% !important;
}

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip, .mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip, .mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip, .mapboxgl-popup-anchor-top .mapboxgl-popup-tip, .mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip, .mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip, .mapboxgl-popup-anchor-left .mapboxgl-popup-tip, .mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
	padding-left: 0px;
    padding-right: 0px;
	display: none;
	}
}

.mapboxgl-ctrl-geocoder,
.mapboxgl-ctrl-geocoder *,
.mapboxgl-ctrl-geocoder *:after,
.mapboxgl-ctrl-geocoder *:before {
    box-sizing: border-box;
}

.mapboxgl-ctrl-geocoder {
    font-size: 18px;
    line-height: 24px;
    font-family: "proxima-nova", sans-serif;
    position: relative;
    background-color: #000942;
    width: 85%;
    min-width: 240px;
    z-index: 1;
    border-radius: 4px;
    transition: width .25s, min-width .25s;
}

.mapboxgl-ctrl-geocoder--input {
    font: inherit;
    width: 100%;
    border: 0;
    background-color: transparent;
    margin: 0;
    height: 50px;
    color: #ffffff;
    padding: 6px 45px;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.mapboxgl-ctrl-geocoder--input::-ms-clear {
    display: none;
}

.mapboxgl-ctrl-geocoder--input:focus {
    color: #ffffff;
    outline: 0;
    box-shadow: none;
    outline: none;
}

.mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--pin-right > * {
    z-index: 2;
    position: absolute;
    right: 8px;
    top: 7px;
    display: none;
}

.mapboxgl-ctrl-geocoder,
.mapboxgl-ctrl-geocoder .suggestions {
    -moz-box-shadow: 0 0px 32px #2b2da4;
    -webkit-box-shadow: 0 0px 32px #2b2da4;
    box-shadow: 0 0px 32px #2b2da4;}

.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {
    width: 50px;
    min-width: 50px;
    transition: width .25s, min-width .25s;
}

.mapboxgl-ctrl-geocoder .suggestions {
    background-color: #000942;
    border-radius: 4px;
    left: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    position: absolute;
    width: 100%;
    top: 110%;
    top: calc(100% + 6px);
    z-index: 1000;
    overflow: hidden;
    font-size: 15px;
}

.mapboxgl-ctrl-bottom-left .suggestions,
.mapboxgl-ctrl-bottom-right .suggestions {
    top: auto;
    bottom: 100%;
}

.mapboxgl-ctrl-geocoder .suggestions > li > a {
    cursor: default;
    display: block;
    padding: 6px 12px;
    color: #ffffff;
}

.mapboxgl-ctrl-geocoder .suggestions > .active > a {
    color: #ffffff;
    background-color: #000942;
    text-decoration: none;
    cursor: pointer;
}

.mapboxgl-ctrl-geocoder .suggestions > li > a:hover {
    color: #56e7e0;
    background-color: #000942;
    text-decoration: none;
    cursor: pointer;
}

.mapboxgl-ctrl-geocoder--suggestion-title {
    font-weight: bold;
}

.mapboxgl-ctrl-geocoder--suggestion-title,
.mapboxgl-ctrl-geocoder--suggestion-address {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.mapboxgl-ctrl-geocoder--icon {
    display: inline-block;
    vertical-align: middle;
    speak: none;
    fill: #ffffff;
    top: 15px;
}

.mapboxgl-ctrl-geocoder--icon-search {
    position: absolute;
    top: 13px;
    left: 12px;
    width: 23px;
    height: 23px;
}

.mapboxgl-ctrl-geocoder--button {
    padding: 0;
    margin: 0;
    border: none;
    cursor: pointer;
    background: #000942;
    line-height: 1;
}

.mapboxgl-ctrl-geocoder--icon-close {
    width: 20px;
    height: 20px;
    margin-top: 8px;
    margin-right: 3px;
}

.mapboxgl-ctrl-geocoder--button:hover .mapboxgl-ctrl-geocoder--icon-close {
    fill: #ffffff;
}

.mapboxgl-ctrl-geocoder--icon-geolocate {
    width: 22px;
    height: 22px;
    margin-top: 6px;
    margin-right: 3px;
}

.mapboxgl-ctrl-geocoder--icon-loading {
    width: 26px;
    height: 26px;
    margin-top: 5px;
    margin-right: 0px;
    -moz-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);
    -webkit-animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);
    animation: rotate 0.8s infinite cubic-bezier(0.45, 0.05, 0.55, 0.95);
}

.mapboxgl-ctrl-geocoder--powered-by {
    display: none;
    float: left;
    padding: 6px 12px;
    padding-bottom: 9px;
    font-size: 13px;
}

.mapboxgl-ctrl-geocoder--powered-by a {
    color: #ffffff;
}

.mapboxgl-ctrl-geocoder--powered-by a:not(:hover) {
    text-decoration: none;  
}

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate {
  from {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media screen and (min-width: 480px) {

.mapboxgl-ctrl-geocoder.mapboxgl-ctrl-geocoder--collapsed {
    width: 36px;
    min-width: 36px;
}

.mapboxgl-ctrl-geocoder {
    width: 33.3333%;
    font-size: 15px;
    line-height: 20px;
    max-width: 360px;
}
	
.mapboxgl-ctrl-geocoder .suggestions {
    font-size: 13px;
}

.mapboxgl-ctrl-geocoder--icon {
    top: 8px;
}

.mapboxgl-ctrl-geocoder--icon-close {
    width: 16px;
    height: 16px;
    margin-top: 3px;
    margin-right: 0;
}

.mapboxgl-ctrl-geocoder--icon-geolocate {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    margin-right: 0;
}

.mapboxgl-ctrl-geocoder--icon-search {
    left: 7px;
    width: 20px;
    height: 20px;
}

.mapboxgl-ctrl-geocoder--input {
    height: 36px;
    padding: 6px 35px;
}

.mapboxgl-ctrl-geocoder--icon-loading {
    width: 26px;
    height: 26px;
    margin-top: -2px;
    margin-right: -5px;
}

.mapbox-gl-geocoder--error{
    color:#ffffff;
    padding: 6px 12px;
    font-size: 16px;
    text-align: center;
}

.mapboxgl-ctrl-geocoder--powered-by {
    font-size: 11px !important;
}
}
