body {
 margin: 8px 48px;
}
#navMenuToggle {
 top: 24px;
 left: 8px;
}
div#context-menu {
 visibility: hidden;
 width: 150px;
 line-height: 30px;
 position: absolute;
 padding-left: 10px;
 border: 1px solid black;
 background-color: #EEEEEE;
}
div#nsl-header {
 width: calc(100% - 168px);
 padding: 20px 80px 0 75px;
 text-align: left;
 margin: 0 auto;
 position: relative;
}
div#nsl-footer {
 width: calc(100% - 52px);
 padding: 5px 20px;
 text-align: center;
 margin: 5px auto;
}
td.nsl-footer-cell:first-child {
 text-align: left;
}
td.nsl-footer-cell:last-child {
 text-align: right;
}
div.main-content {
 padding: 0;
 border-width: 0;
 width: 100%;
}
#pagetitle {
 max-width: 62%;
 white-space: nowrap;
 overflow: hidden;
}
.page-menu .page-menu-item {
 width: 24.5%;
}
#thumbnail-block {
 margin: 0px 5px;
 padding: 15px 20px 5px 20px;
 min-height: 18px;
 text-align: center;
 clear: both;
 position: relative;
}
#current-view {
 margin: 5px;
 padding: 5px 20px;
 text-align: center;
 position: relative;
 z-index: 1;
}
#current-view>hr {
 color: transparent;
 background: transparent;
}
#current-view.max #camera-block {
 min-width: 100%;
}
#current-view.max #map-block {
 position: absolute;
 visibility: hidden;
}
#current-view.max #loc-ctrl-container {
 display: none;
}
#current-view.max .ui-resizable-handle.ui-resizable-e {
 visibility: hidden;
}
#current-view.max .ui-resizable-handle.ui-resizable-e::after {
 display: none;
}
#camera-title>a {
 margin-left: 8px;
 position: relative;
 top: 2px;
}
#camera-title>a>img {
 width: 20px;
 height: 20px;
}
#camera-block {
 width: 60%;
 float: left;
}
#camera-block-image {
 width: 100%;
 height: 100%;
 background-color: transparent;
}
#camera-block .camStatus {
 right: 14px;
 bottom: 3px;
}
#camera-block-timelapse-image {
 display: none;
 width: 100%;
 height: 100%;
 position: relative;
 background-color: rgba(0,0,0,.9);
}
#timelapseImg {
 height: 100%;
}
#camera-block-image.play {
 padding-bottom: 30px;
}
#camera-block-image.play #camera-block-timelapse-image {
 display: block;
}
#camera-block-image.play .leaflet-map-pane {
 display: none;
}
#timelapseBusy {
 display: none;
 width: 50px;
 height: 50px;
 position: absolute;
 top: calc(50% - 25px);
 left: calc(50% - 25px);
 opacity: .9;
}
#timelapseBusy.busy {
 display: block;
}
#timelapseControls {
 display: none;
 height: 20px;
 position: absolute;
 top: 100%;
 left: 0;
 right: 0;
 margin-top: 5px;
}
#timelapseBtns {
 position: absolute;
 top: -12px;
 left: -32px;
 transform: scale(.65);
}
#camera-block-image.play #timelapseControls {
 display: block;
}
.timelapseBtn {
 font-size: 11px;
 font-weight: bold;
 text-align: center;
 width: 43px;
 height: 43px;
 margin-left: 1px;
 float: left;
 border-radius: 3px;
 background-color: #fff;
 position: relative;
 cursor: pointer;
}
.timelapseBtn span {
 position: absolute;
 bottom: 4px;
 left: 0;
 right: 0;
}
.timelapseBtn .imgWrap {
 width: 25px;
 height: 25px;
 overflow: hidden;
 position: relative;
 top: -9px;
 left: 5px;
 margin: 0 auto;
}
.timelapseBtn .imgWrap img {
 width: 30px;
 overflow: hidden;
}
#timelapsePlay .playLabel {
 display: none;
}
#timelapsePlay.pause .playLabel {
 display: block;
}
#timelapsePlay.pause .pauseLabel {
 display: none;
}
#timelapsePlay.pause .imgWrap {
 left: -6px;
}
#timelapsePlay .imgWrap img {
 margin-left: -27px;
}
#timelapsePlay.pause .imgWrap img {
 margin-left: 10px;
}
#timelapsePrev .imgWrap,
#timelapseNext .imgWrap {
 top: -6px;
 left: -3px;
 height: 18px;
}
#timelapsePrev .imgWrap img,
#timelapseNext .imgWrap img {
 width: 18px;
}
#timelapseBtns .btnIcon {
 color: black;
 font-size: 20px;
 margin: 0 auto;
 position: relative;
 top: -8px;
}
#timelapsePct {
 position: absolute;
 top: 1px;
 right: 6px;
 font-size: 11px;
 color: white;
}
#timelapseProgressWrap {
 position: absolute;
 left: 118px;
 right: 42px;
 height: 20px;
 padding-top: 2px;
}
#timelapseProgress {
 -webkit-appearance: none;
 -moz-appearance: none;
 appearance: none;
 top: 4px;
 border: none;
 width: 100%;
 height: 14px;
 border-radius: 4px;
 background-color: #777;
 color: #fff;
 opacity: 0.8;
 cursor: pointer;
}
#timelapseProgress::-webkit-progress-bar {
 background-color: rgba(1,1,1,.7);
 border-radius: 4px;
}
#timelapseProgress::-webkit-progress-value {
 background-image:
  -webkit-linear-gradient(45deg, transparent 40%, rgba(0, 0, 0, .1) 40%, rgba(0, 0, 0, .1) 70%, transparent 70%),
  -webkit-linear-gradient(top, rgba(255, 255, 255, .25), rgba(0, 0, 0, .25)),
  -webkit-linear-gradient(left, #f1c40f, #e74c3c);
 border-radius: 4px;
}
#timelapsePtr {
 position: absolute;
 top: 4px;
 width: 1%;
 height: 9px;
 min-width: 8px;
 background-color: #fff;
 border-radius: 3px;
 transition: left 0.1s;
 border: 1px solid rgba(0,0,0,.2);
 z-index: 2;
}
#camera-block, #map-block {
 display: table-cell;
 height: 540px;
 padding: 0px;
 text-align: center;
}
#map-block {
 width: 40%;
 float: right;
}
#map-block.loc-pick {
 cursor: crosshair;
}
.max-btn {
 height: 16px;
 width: 16px;
 position: absolute;
 top: 10px;
 left: 10px;
 padding: 4px;
 z-index: 90;
 background-color: #fff;
 box-shadow: 1px 1px 3px rgba(0,0,0,0.6);
 border: 1px solid #ddd;
 border-radius: 4px;
 opacity: 0.9;
 cursor: pointer;
}
.max-btn:hover {
 color: #fff;
 border-color: #eee;
 opacity: 1;
}
.max-btn img {
 fill: white;
}
.play-ctrl {
 position: relative;
 height: 16px;
 width: 16px;
 position: absolute;
 top: 44px;
 left: 10px;
 padding: 4px;
 z-index: 90;
 background-color: #fff;
 box-shadow: 1px 1px 3px rgba(0,0,0,0.6);
 border: 1px solid #ddd;
 border-radius: 4px;
 opacity: 0.9;
 cursor: pointer;
 font-family: Verdana, Ariel, sans-serif;
}
.play-ctrl .play-btn {
 width: 17px;
 height: 20px;
 position: absolute;
 top: 1px;
 left: 1px;
 overflow: hidden;
}
.play-ctrl:not(.expand):hover {
 border-color: #eee;
 opacity: 1;
}
.play-ctrl .play-btn img {
 width: 34px;
 height: 22px;
 fill: white;
}
.play-ctrl #play-pane {
 display: none;
 position: relative;
 padding: 0 10px;
}
.play-ctrl #play-pane h3 {
 margin-top: 0;
}
.play-ctrl #play-pane .close-btn {
 display: block;
 position: absolute;
 top: -4px;
 right: -12px;
}
.play-ctrl .playtime-btn {
 display: block;
 width: 100%;
 margin-bottom: 2px;
 font-size: 16px;
 font-weight: 600;
 padding: 2px 12px;
 border-width: 2px;
 border-radius: 8px;
 cursor: pointer;
}
.play-ctrl.expand {
 width: auto;
 height: auto;
 padding: 10px 16px;
 cursor: default;
 opacity: 1;
}
.play-ctrl.expand .play-btn {
 display: none;
}
.play-ctrl.expand #play-pane {
 display: block;
}
.play-ctrl.play {
 display: none;
}
.resizable {
 height: 100%;
 padding: 0;
 display: block;
 float: left;
 position: relative; 
}
.ui-resizable-handle.ui-resizable-e { 
 cursor: e-resize;
 cursor: col-resize; 
 display: block !important;
 width: 12px; 
 right: 0; 
 top: 0; 
 bottom: 0;
 background-color: rgb(0, 23, 46);
} 
.ui-resizable-handle.ui-resizable-e:after {
 content: ' ';
 display: block;
 height: 80px;
 margin: 230px 0 0 2px;
 transform: scaleX(.5);
 opacity: 0.7;
 background: url('../images/v-splitter-bg.png') repeat-y;
}
.ui-resizable-handle.ui-resizable-e:hover {
 background-color: rgb(0, 40, 80);
}
.ui-resizable-handle.ui-resizable-e:hover:after {
 opacity: 0.9;
}
div.thumbNail {
 color: #ffffff;
 background-color: #000000;
 padding: 2px;
 text-align: center;
 display: inline-block;
 overflow: hidden;
 cursor: pointer;
 border: 1px solid transparent;
 position: relative;
}
div.thumbNail.currentItem {
 border: 1px solid #ffbe00;
}
.camStatus {
 position: absolute;
 right: 6px;
 bottom: 8px;
 width: 8px;
 height: 8px;
 border-radius: 50%;
 background-color: transparent;
 border: 1px solid #333;
 opacity: 0.9;
}
.camStatus.warn {
 background-color: yellow;
}
.camStatus.error {
 background-color: red;
}
.popThumb {
 width: 100px;
 cursor: pointer;
}
p.camLabel {
 color: #ffbe00;
 text-align: left;
 margin-top: 1px;
 margin-bottom: 2px;
 padding-left: 5px;
 font-family: Verdana, Geneva, sans-serif;
}
#loc-ctrl-container {
 display: inline-block;
 background-color: white;
 border-radius: 4px;
 position: absolute;
 top: 110px;
 right: 30px;
 width: 28px;
 height: 28px;
 padding: 4px;
 z-index: 100;
 cursor: pointer;
 font-family: Verdana, Ariel, sans-serif;
 box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
#loc-ctrl-container.expand {
 width: auto;
 height: auto;
 padding: 8px;
 cursor: default;
}
#loc-ctrl-container img {
 width: 28px;
 height: 28px;
}
#loc-ctrl {
 display: none;
 margin: 2px 15px 8px 15px;
 position: relative;
}
#loc-ctrl.busy:after {
 display: block;
 content: ' ';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: url('/static/images/spinner.gif') no-repeat 50% 50%;
 background-size: 50px 50px;
}
#loc-ctrl .close-btn {
 position: absolute;
 top: -2px;
 right: -18px;
}
#loc-ctrl input[type=text] {
 margin-right: 6px;
 border-radius: 3px;
}
#loc-ctrl button {
 cursor: pointer;
}
#loc-ctrl input[type=button] {
 cursor: pointer;
 font-size: 14px;
 font-weight: 600;
 height: 30px;
 position: relative;
 top: -1px;
 background: linear-gradient(to bottom, rgba(250,250,250,0.3) 0%,rgba(160,160,160,0.3) 100%);
}
#loc-ctrl input[type=button]:hover {
 background: linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(210,210,210,0.5) 100%);
}
#loc-ctrl .loc-btn-border {
 border-width: 2px;
 border-radius: 6px;
 border-top-color: rgb(196,196,196);
 border-left-color: rgb(189,189,189);
 border-right-color: rgb(189,189,189);
 border-bottom-color: rgb(166,166,166,166);
}
#loc-ctrl .loc-btn-border:hover {
 border-top-color: rgb(216,216,216);
 border-left-color: rgb(209,209,209);
 border-right-color: rgb(209,209,209);
 border-bottom-color: rgb(186,186,186,186);
}
.loc-btn {
 display: block;
 font-size: 18px;
 font-weight: 600;
 padding: 8px 12px;
 margin: 0 auto;
 width: 230px;
 border-radius: 8px;
 background: linear-gradient(to bottom, rgba(240,240,240,0.3) 0%,rgba(120,120,120,0.3) 100%);
 position: relative;
}
.loc-btn:hover {
 background: linear-gradient(to bottom, rgba(255,255,255,0.5) 0%,rgba(210,210,210,0.5) 100%);
}
.loc-btn:hover:after {
 opacity: 0.7;
}
.loc-btn.error {
 border-color: red;
}
#loc-ctrl-geolocate:after {
 display: block;
 content: ' ';
 position: absolute;
 top: 3px;
 left: 2px;
 width: 32px;
 height: 32px;
 transform: scale(0.9);
 background: url('/static/images/geo.svg') no-repeat;
}
#loc-ctrl-pick {
 margin-top: 4px;
}
#loc-ctrl-pick:after {
 display: block;
 content: '+';
 font-size: 40px;
 position: absolute;
 top: 2px;
 left: 5px;
 line-height: 25px;
}
#loc-ctrl-addr {
 width: 200px;
 height: 25px;
 font-size: 16px;
 margin: 0 2px 0 0;
}
#loc-ctrl-addr.error {
 border-color: red;
}
#loc-ctrl-addrs {
 display: none;
 max-width: 248px;
 max-height: 120px;
 margin: 2px 0 0 0;
 border: 1px solid #ddd;
 position: relative;
 left: -1px;
 overflow-y: scroll;
 overflow-x: auto;
 box-shadow: inset 2px 2px 4px rgba(0,0,0,.6);
}
#loc-ctrl .loc-ctrl-addr-res {
 white-space: nowrap;
 padding: 6px 4px;
 margin-left: 3px;
 text-align: left;
 overflow: hidden;
 cursor: pointer;
}
#loc-ctrl .loc-ctrl-addr-res:first-child {
 margin-top: 3px;
}
#loc-ctrl .loc-ctrl-addr-res:nth-child(odd) {
 background-color: #eee;
}
#loc-ctrl-addrs .loc-ctrl-addr-res:hover {
 background-color: #ddd;
}
#loc-ctrl .loc-ctrl-ll {
 width: 50px;
 font-size: 16px;
}
#loc-ctrl input[type=text].invalid {
 border-color: #f66;
}
#loc-ctrl h3 {
 margin: 0 0 5px 0;
}
#loc-ctrl h4 {
 margin: 10px 0 4px 0; 
}
#loc-ctrl-btn {
 cursor: pointer;
}
#loc-ctrl-msg {
 display: none;
 color: red;
 padding-top: 10px;
}
#loc-ctrl-container.expand img {
 display: none;
}
#loc-ctrl-container.expand #loc-ctrl {
 display: block;
}
.leaflet-control-layers-list {
 text-align: left;
}
.close-btn {
 font-size: 20px;
 font-weight: bold;
 line-height: 8px;
 color: #bbb;
 transition: color 0.2s;
 cursor: pointer;
}
.close-btn:hover {
 color: #999;
}
#mini-busy {
 opacity: 0;
 width: 20px;
 height: 20px;
 top: 6px;
 left: 6px;
 position: absolute;
 transition: opacity .5s ease-in-out;
}
#mini-busy.busy {
 opacity: 1;
}
#mini-busy img {
 width: 100%;
 height: 100%;
}
@media screen and (max-width: 767px) {
 #mini-busy {
  width: 10px;
  height: 10px;
  top: 0;
  left: 2px;
 }
}
body.full-view {
 width: auto;
}
body.full-view a#view-full {
 display: none;
}
/* Mobile devices */
@media screen and (max-width: 767px) {
 body:not(.full-view) {
  margin: 8px 8px;
 }
 body:not(.full-view) #navMenuToggle {
  top: 3px;
  left: 0;
 } 
 body:not(.full-view) div#nsl-header {
  margin: 10px 5px;
  padding: 20px 15px 8px 15px;
  width: calc(100% - 42px);
  text-align: center;
 }
 body:not(.full-view) #masthead {
  float: none;
  width: calc(100% - 68px);
 }
 body:not(.full-view) #masthead a h3 {
  font-size: 16px;
 }
 body:not(.full-view) #masthead a h4 {
  font-size: 11px;
  margin-top: 5px;
 }
 body:not(.full-view) #pagetitle {
  display: none; 
 }
 body:not(.full-view) #tpc-logo {
  display: none; 
 }
 body:not(.full-view) .page-menu .page-menu-item {
  width: 50%;
 }
 body:not(.full-view) .top-menu>a>span.pipe {
  width: 32%;
  padding: 4px 0;
  border: 1px solid #555555;
 }
 body:not(.full-view) #view-full {
  display: block;
 }
 body:not(.full-view) pre#unr-mastlink {
  font-size: 8px;
  margin-top: 7px;
  white-space: pre-wrap;
 } 
 body:not(.full-view) #current-view {
  display: grid;
  height: auto;
  padding-left: 10px;
  padding-right: 10px;
 }
 body:not(.full-view) #camera-title button {
  display: block;
  margin: 0 auto;
 }
 body:not(.full-view) #map-block {
  display: block;
  width: 100% !important;
  margin-bottom: 25px;
  position: relative;
 }
 body:not(.full-view) #camera-block {
  display: block;
  width: 100% !important;
  position: relative;
 }
 body:not(.full-view) #camera-block .ui-resizable-handle {
  display: none !important;
 }
 body:not(.full-view) .max-btn {
  display: none;
 }
 body:not(.full-view) .play-ctrl {
  top: 6px;
  left: 6px;
 }
 body:not(.full-view) #timelapsePct {
  right: 0;
 }
 body:not(.full-view) #current-view #camera-block {
  transition: all 0.2s;
 }
 body:not(.full-view) #thumbnail-block {
  padding-left: 10px;
  padding-right: 10px;
 }
 body:not(.full-view) #thumbnail-title {
  font-size: 13px; 
 }
 body:not(.full-view) div.thumbNail {
  max-width: calc(50% - 6px);
  overflow: hidden;
 }
 body:not(.full-view) .camLabel {
  font-size: 12px;
 }
 body:not(.full-view) div#nsl-footer {
  padding: 0 5px;
  margin: 5px;
  width: auto;
 }
 #loc-ctrl-container {
  top: 108px;
  width: 36px;
  height: 30px;
 }
 body:not(.full-view) #loc-ctrl-container {
  top: 110px;
  right: 22px;
 }
}
