* {
  font-family: "Gotham SSM Book",Arial,Helvetica,Verdana,sans-serif;
  font-size: 12px;
}

html, body {
  overflow-x: hidden;
}
body {
  position: relative
}

select {
  height: 20px;
  margin: -1px;
}
#spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);  
  z-index: 9999;
}
.element.style {
  width: 20px;
  height: 20px;
}

.leaflet-editing-icon {
  height: 40px;
  width: 30px;
  margin:0px;
  padding:0px;
  overflow: visible;
}

.leaflet-div-icon {
  height: 40px;
  width: 30px;
  margin:0px;
  padding:0px;
  overflow: visible;
}

.marker-icon-from {
  line-height:30px;
  line-width:30px;
  content:url(from.png);
  height: 40px;
  width: 30px;
  margin:0px;
  padding:0px;
  overflow: visible;

}

.marker-icon-to {
  content:url(to.png);
  height: 40px;
  width: 30px;
  margin:0px;
  padding:0px;
  overflow: visible;
}
body {
  margin: 0px;
  padding: 0px;
  font-family: "Gotham SSM Book",Arial,Helvetica,Verdana,sans-serif;
  font-size: 12px;
  overflow-x: hidden;
  overflow-y: hidden;
}
#map {
  margin:0px;
  padding: 0px;
  width:100%;
  height:100%;
}
#location-box {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 9998;
  border: 1px;
  min-width: 60px;
  min-height: 20px;
  padding: 10px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style:solid;
}

#crosshair {
  margin: 0px;
  padding: 0px;
  visibility: hidden;
  width:50px;
  height:50px;
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 9999;
}

#gps-button {
  visibility: visible;
  position: absolute;
  bottom: 148px;
  left: 10px;
  z-index: 9999;
  -webkit-filter: drop-shadow(5px 5px 5px #888);
  filter: drop-shadow(5px 5px 5px #888);}

#query {
  width: 260px;
  font-size:14px;
}

#bridge-box {
  opacity: 0.8;
  padding: 10px;
  position: absolute;
  top: 117px;
  left: 10px;
  z-index: 9999;
  border: 1px;
  width: 540px;
  padding: 10px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style: solid;
  max-height: 280px;
  overflow-x: hidden;
  overflow-y: scroll;
}

#search-box {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 60px;
  left: 10px;
  z-index: 9999;
  border: 1px;
  width: 340px;
  min-height: 20px;
  padding: 10px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style: solid;
}

#boatlist {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 9990;
  border: 1px;
  width: 340px;
  padding: 10px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style: solid;
  visibility: hidden;
  max-height: 500px;
  overflow-y: scroll;
}

#search-box2 {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 60px;
  left: 10px;
  z-index: 999;
  border: 1px;
  min-height: 20px;
  padding: 10px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style: solid;
}

#fs-box {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 80px;
  right: 10px;
  z-index: 9999;
  border: 1px;
  min-height: 20px;
  padding: 10px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style:solid;
}

#searchresults {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 100px;
  left: 10px;
  z-index: 9999;
  border: 1px;
  width: 500px;
  min-height: 20px;
  max-height: 400px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style:solid;
  visibility: hidden;
  overflow-x: hidden;
  overflow-y: scroll;
}
.route-summary {
  opacity: 0.8;	
  padding: 10px;
  position: absolute;
  top: 118px;
  left: 10px;
  z-index: 9990;
  border: 1px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style:solid;
  visibility: hidden;
}

.route-qr {
  padding: 10px;
  position: absolute;
  top: 110px;
  left: 10px;
  z-index: 9990;
  border: 1px;
  color: #404040;
  background-color: white;
  border-radius: 4px;
  border-color: #c0c0c0;
  border-width: 1px;
  border-style:solid;
  visibility: hidden;
}

.searchresult {
  opacity: 0.8;	
  padding: 5px;
  color: #404040;
  font-size: 14px;
  font-weight: normal;
  background-color: white;
}

.searchresult:hover {
  background: #c0c0c0;
  font-weight: bold;
}

.leaflet-control-attribution {
  visibility: hidden;
}
.submit {
  margin: auto;
  width: 50%;
  border-width: 1px;
}

.logo {
  position: absolute;
  bottom: 0px;
  left: 0px;
  z-index: 9999;
}

.panel {
  overflow: hidden;
  opacity: 0.8;	
  background-color: white;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  max-width: 210px;
  border-radius: 8px;
  border-style:solid;
  border-width:1px;
  border-color: #404040;
  padding: 5px;
  margin: 5px;
  position: absolute;
  bottom: 0px;
  right: 0px;
  z-index: 9999;
}
.expand {
  right: 8px;
  top: 5px;
  position: absolute;
}

.smallpanel {
  overflow: hidden;
  opacity: 0.8;	
  background-color: white;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  border-style:solid;
  border-width:1px;
  border-color: #404040;
  padding: 5px;
  margin: 5px;
  position: absolute;
  bottom: 0px;
  right: 0px;
  z-index: 9999;
}

h2 {
  margin-top: 2px;
  margin-bottom: 4px;
  text-transform: uppercase;
  font-size:12px;
}

input {
  font-family: inherit;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

@media screen and (orientation:landscape) {
  .portrait {
    visibility: hidden;
  }
  #t_plan {
  }
  #t_clear {
  }
}

input[type=button] {
  background-color: #4C4C4C;
  border: none;
  color: white;
  padding: 3px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  margin: 2px;
  cursor: pointer;
}
input[type=range] {
  -webkit-appearance: none;
  width: 100%;
  margin: 4.5px 0;
}
input[type=range]:focus {
  outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
  background: #141414;
  border-radius: 0px;
  border: 0px solid #000101;
}
input[type=range]::-webkit-slider-thumb {
  box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
  border: 1px solid #000000;
  height: 10px;
  width: 10px;
  border-radius: 9px;
  background: #ffffff;
  cursor: pointer;
  -webkit-appearance: none;
  margin-top: -4.5px;
}
input[type=range]:focus::-webkit-slider-runnable-track {
  background: #141414;
}
input[type=range]::-moz-range-thumb {
  box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
  border: 1px solid #000000;
  height: 10px;
  width: 10px;
  border-radius: 9px;
  background: #ffffff;
  cursor: pointer;
}
input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
  background: #141414;
  border-radius: 0px;
  border: 0px solid #000101;
}
input[type=range]::-moz-range-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
  background: #141414;
  border-radius: 0px;
  border: 0px solid #000101;
}
input[type=range]::-ms-track {
  width: 100%;
  height: 1px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  color: transparent;
}
input[type=range]::-ms-fill-lower {
  background: #141414;
  border: 0px solid #000101;
  border-radius: 0px;
  box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
}
input[type=range]::-ms-fill-upper {
  background: #141414;
  border: 0px solid #000101;
  border-radius: 0px;
  box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
}
input[type=range]::-ms-thumb {
  box-shadow: 1px 1px 1px #000000, 0px 0px 1px #0d0d0d;
  border: 1px solid #000000;
  height: 10px;
  width: 10px;
  border-radius: 9px;
  background: #ffffff;
  cursor: pointer;
  height: 1px;
}
input[type=range]:focus::-ms-fill-lower {
  background: #141414;
}
input[type=range]:focus::-ms-fill-upper {
  background: #141414;
}
input[type=range] {
  margin-top:10px;
  margin-bottom:10px;
}
input[type=text] {
  width: 40px;
  height: 22px;
  margin: 0px;
  margin-top: 0px;
  padding: 2px;
}
#mmsi {
  width: 75px;
}

::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(30,30,30,0.3);
	border-radius: 10px;
	background-color: #F5F5F5;
}

::-webkit-scrollbar
{
	width: 5px;
	background-color: #F5F5F5;
}

input[type=text] {
  text-align: center;
}

::-webkit-scrollbar-thumb
{
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background-color: #606060;
}

.decrement {
  width: 20px;
  height: 20px;
}

.increment {
  width: 20px;
  height: 20px;
}

#map-style {
  width:210px;
}

#boat-type {
  width:210px;
}

/* mobile */
@media screen and (max-device-aspect-ratio: 1/1),(max-aspect-ratio: 1/1),(orientation:portrait)   {
  body {
    zoom:100%;
  }
  #mmsi-input {
    visibility: hidden;
  }
  .landscape {
    visibility: hidden;
  }
  #t_demo1 {
    visibility: hidden;
  }
  #t_demo2 {
    visibility: hidden;
  }
  #route-summary {
    left: 5px;
    top: 5px;
    position: absolute;
    z-index: 9999;
    max-width: 100%;
    margin-right: 5px;
    opacity: 0.8;	
  }
  .leaflet-control-zoom {
    visibility: hidden;
  }
  input[type=text] {
    width: 28px;
  }
  .sync {
    visibility: hidden;
  }
  #t_map {
    visibility: hidden;
  }
  #t_boat {
    visibility: hidden;
  }
  #map-style {
    visibility: hidden;
  }
  input[type=range] {
    -webkit-appearance: none;
    width: 130px;
    margin: 4.5px 0;
  }
  @supports (-moz-appearance:none) {
    input[type=range] {
      margin-top: -2px;
    }
  }  
  input[type=range]::-webkit-slider-runnable-track {
    width: 140px;
    height: 1px;
    cursor: pointer;
    box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
    background: #141414;
    border-radius: 0px;
    border: 0px solid #000101;
  }
  input[type=range]::-moz-range-track {
    width: 130px;
    height: 1px;
    cursor: pointer;
    box-shadow: 0.2px 0.2px 0.1px #000000, 0px 0px 0.2px #0d0d0d;
    background: #141414;
    border-radius: 0px;
    border: 0px solid #000101;
  }
  input[type=range]::-ms-track {
    width: 130px;
    height: 1px;
    cursor: pointer;
    background: transparent;
    border-color: transparent;
    color: transparent;
  }
  #boat-type {
    left: 5px;
    width:165px;
    top: 7px;
    position: absolute;
  }
  #heightstepper {
    left: 89px;
    top: 31px;
    position: absolute;
  }
  #widthstepper {
    left: 89px;
    top: 54px;
    position: absolute;
  }
  #speedstepper {
    left: 89px;
    top: 77px;
    position: absolute;
  }
  #depthstepper {
    left: 89px;
    top: 100px;
    position: absolute;
  }
  #t_height {
    left: 9px;
    top: 36px;
    position: absolute;
  }
  #t_width {
    left: 9px;
    top: 59px;
    position: absolute;
  }
  #t_speed {
    left: 9px;
    top: 82px;
    position: absolute;
  }
  #t_depth   {
    left: 9px;
    top: 105px;
    position: absolute;
  }
  #t_avoid_closed_bridges {
    left: 200px;
    top: 7px;
    position: absolute;
  }
  #avoidbridges {
    left: 200px;
    top: 22px;
    position: absolute;
  }
  #t_avoid_big_canals {
    left: 200px;
    top: 35px;
    position: absolute;
  }
  #avoidbigcanals {
    left: 200px;
    top: 50px;
    position: absolute;
  }
  #t_avoid_obstructions {
    left: 214px;
    top: 65px;
    position: absolute;
  }
  #avoidobstructions {
    left: 194px;
    top: 63px;
    position: absolute;
  }
  #t_avoid_sea {
    left: 214px;
    top: 85px;
    position: absolute;
  }
  #avoidopenwater {
    left: 200px;
    top: 22px;
    position: absolute;
  }
  #t_avoid_open_water {
    left: 200px;
    top: 7px;
    position: absolute;
  }
  #avoidsea {
    left: 194px;
    top: 83px;
    position: absolute;
  }
  #t_plan {
    right: 1px;
    bottom: 1px;
    position: absolute;
  }
  #t_clear {
    right: 1px;
    bottom: 1px;
    position: absolute;
  }
  .leaflet-tooltip {
    visibility: hidden;
  }
  .panel {
    overflow: hidden;
    opacity: 0.8;	
    background-color: white;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    max-height: 120px;
    max-width: 100%;
    border-radius: 8px;
    border-style:solid;
    border-width:1px;
    border-color: #404040;
    padding: 5px;
    margin: 5px;
    position: absolute;
    bottom: 0px;
    left: 0px;
    z-index: 9999;
  }
  .smallpanel {
    overflow: hidden;
    opacity: 0.8;	
    background-color: white;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    border-style:solid;
    border-width:1px;
    border-color: #404040;
    padding: 5px;
    margin: 5px;
    position: absolute;
    bottom: 0px;
    right: 0px;
    z-index: 9999;
    display:inline;
    width: 25px;
  }
  .logo {
    position: absolute;
    top: 5px;
    right: 10px;
    z-index: 9999;
    text-align: right;
    zoom: 0.75;
    visibility: hidden;
  }
  #map {
    zoom: 1;
  }
  #bridge-box {
    visibility: hidden;
  }
  #location-box {
    visibility: hidden;
  }
  #search-box {
    opacity: 0.8;	
    top: 5px;
    left: 5px;
    width: 240px;
  }
  #search-box2 {
    opacity: 0.8;	
    top: 5px;
    left: 5px;
  }
  #fs-box {
    opacity: 0.8;	
    top: 5px;
    right: 5px;
  }
  #query {
    width: 160px;
  }
  #searchresults {
    opacity: 0.8;	
    top: 45px;
    left: 5px;
    width: 240px;
  }
  #route-qr {
    top: 5px;
    left: 5px;
    z-index: 10000;
  }
}
div table tr td {
  padding: 0px;
  margin: 0px;
}

/* Needed to handle popup keyboard on mobile devices */
@media only screen and (max-height: 420px) {
  .panel {
    visibility: hidden;
  }
  .logo {
    visibility: hidden;
  }
  .leaflet-control-zoom {
    visibility: hidden;
  }
  #t_plan {
    visibility: inherit;
  }
  #t_clear {
    visibility: inherit;
  }
}

