.device-marker{width:50px;height:50px;border-radius:50%;background-color:#94fb1f;box-shadow:1px 1px 5px #777;animation:device-animation .5s cubic-bezier(.45,.05,.55,.95) infinite;animation-direction:alternate;position:relative;z-index:100}.device-marker.device-marker-off{z-index:1}.device-marker-off{background-color:#c8c8c8e6;box-shadow:1px 1px 5px #777;animation:none}.device-marker-edited{background-color:#00f;animation:none}.device-marker:after{content:"";display:block;width:100%;height:100%;background-size:70%;background-position:center;background-repeat:no-repeat;background-image:url(../images/rfsensor.png)}.device-marker.radar:after{background-image:url(../images/radar.png)}.device-marker.camera{z-index:55}.device-marker.camera:after{background-image:url(../images/camera.png)}.device-marker.car{background:transparent;box-shadow:none;animation:none}.device-marker.car.device-marker-off{background:transparent}.device-marker.car:after{background-image:url(../images/car.png);background-size:95%}@keyframes device-animation{0%{opacity:.9}to{opacity:1}}.threat-marker{width:50px;height:50px;border-radius:50%;background-color:#ff3232cc;box-shadow:1px 1px 5px #777;border:1px solid #fff;cursor:pointer;position:relative}.threat-marker:before{content:"";display:block;width:100%;height:100%;background-size:70%;background-position:center;background-repeat:no-repeat;filter:invert(100%)}.threat-marker-drone:before{background-image:url(../images/drone.png)}.threat-marker-drone{z-index:99}.threat-marker-pilot:before{background-image:url(../images/pilot.png)}.threat-marker-pilot{z-index:89}.threat-marker-home:before{background-image:url(../images/home.png)}.threat-marker-home{z-index:79}.threat-marker-radar:before{background-image:url(../images/drone.png)}.threat-marker-radar{z-index:99}.threat-marker-drone-classic,.threat-marker-pilot-classic{background-color:#f4f4f4;border-color:#777}.threat-marker-drone-classic:before,.threat-marker-pilot-classic:before{filter:none}.threat-marker-drone-classic:before{background-image:url(../images/drone.png)}.threat-marker-pilot-classic:before{background-image:url(../images/pilot.png)}.threat-marker-clicked{background-color:#007fffcc}.threat-marker-label{width:18px;height:18px;border-radius:50%;box-shadow:1px 1px 2px #777;text-align:center;line-height:18px;font-size:12px;position:absolute;background-color:#fff;border:1px solid #000;color:#555;z-index:10000;top:-9px;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;padding:0}.threat-marker-drone-classic .threat-marker-label,.threat-marker-pilot-classic .threat-marker-label,.threat-marker-label-red{background-color:#ff3232;border:1px solid #fff;color:#fff;z-index:10001}.threat-marker-labels-only{position:relative;width:50px;height:50px;pointer-events:auto;z-index:99999}.threat-marker-label:nth-of-type(2){top:0;right:0;left:auto;transform:translate(0)}.threat-marker-label:nth-of-type(3){inset:auto 0 0 auto;transform:translate(0)}.threat-marker-label:nth-of-type(4){inset:auto auto 0 0;transform:translate(0)}.form-signin{max-width:400px;padding:15px;margin:50px auto}.form-signin-heading{margin-bottom:20px}.form-signin .form-control{position:relative;height:auto;box-sizing:border-box;padding:10px;font-size:16px}.form-signin .form-group{margin-bottom:15px}.form-signin .btn{margin-top:10px}.alert p{margin-bottom:10px}.alert p:last-child{margin-bottom:0}.location-search-overlay{position:absolute;right:1%;top:1%;background:#f5f5f5;border:1px solid #ddd;padding:10px;z-index:999;border-radius:5px;max-width:33%}.location-search-overlay input{display:inline;width:auto;min-width:180px;height:30px;margin-right:6px;vertical-align:middle}.location-search-overlay .btn{vertical-align:middle}.location-search-overlay form{margin:0}.location-search-overlay table{margin:10px 0 0}.location-search-overlay .map-search-error{display:block;margin-top:8px}.location-search-overlay .search-results tbody tr{cursor:pointer}.location-search-overlay .search-results td{padding:8px}.camera-overlay{position:absolute;right:1%;top:1%;background:#f5f5f5;border:1px solid #ddd;z-index:999;border-radius:5px}.camera-overlay button.expand{position:absolute;right:12px;top:12px;z-index:1000}.camera-overlay .camera-content{display:none}.camera-overlay .camera-stream{width:100%}.camera-overlay div.slider{height:1.5em}.camera-overlay input[type=range]{-webkit-appearance:none;border-radius:5px}.camera-overlay input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;position:relative;top:0;z-index:1;width:11px;height:11px;line-height:1.5;cursor:pointer;background:#555;border-radius:5px}.camera-overlay .camera-image-wrapper{position:relative}.camera-overlay .camera-tilt{position:absolute;top:50%;transform:translateY(-50%)}.camera-overlay .camera-tilt button{display:block;margin:5px}.camera-overlay .camera-pan{position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.camera-overlay .camera-pan button{margin:0 3px}.camera-overlay .camera-error{text-align:center;padding:80px}.camera-overlay .camera-autocuing{color:red}.camera-overlay.normal{padding:5px;width:33%}.camera-overlay.normal .camera-content{display:block}.camera-overlay.expanded{padding:5px;width:80%}.camera-overlay.expanded .camera-content{display:block}.monitor-container{display:flex;height:calc(100vh - 70px);margin-left:-15px;margin-right:-15px}.map-column{flex:2;position:relative;height:100%}.info-column{flex:1;position:relative;z-index:1;box-shadow:-10px 5px 15px -10px #000;padding:0;background-color:#f5f5f5;display:flex;flex-direction:column;min-height:0}.info-column .monitor-info-panel{flex:1;min-height:0;display:flex;flex-direction:column}.monitor-info-panel{min-height:0}.monitor-info-panel-main{flex:1 1 auto;min-height:0;overflow-y:auto}.threat-history{flex-shrink:0;max-height:40vh;overflow-y:auto;margin:0 10px 10px}.monitor-container.settings-split .map-column,.monitor-container.settings-split .info-column,.monitor-container.panel-closed .map-column{flex:1}.monitor-container.panel-closed .info-column{flex:0 0 0;min-width:0;overflow:hidden}.clearfix{position:relative}.hover-right{position:absolute;right:0;top:50px;opacity:.7}.mobile-only{display:none}@media only screen and (max-width:768px){.mobile-only{display:block}}.nav-tabs{margin-top:10px;border-bottom:1px solid #ddd;padding-left:10px}.nav-tabs>li>a{padding:10px 15px;color:#555;cursor:pointer}.nav-tabs>li.active>a{color:#333;font-weight:700;border:1px solid #ddd;border-bottom-color:transparent;background-color:#fff}.tab-content{padding:15px}.list-group-item{border-radius:0;border-left:0;border-right:0}.list-group-item:first-child{border-top:0}.map-view{width:100%;height:100%}.location-alert{position:absolute;top:10px;left:50%;z-index:100;transform:translate(-50%);background:#fff475;font-weight:700;color:#222;padding:10px;border-radius:20px;box-shadow:0 0 10px #333}.location-alert .glyphicon-alert{margin-right:6px}.map-controls-left{position:absolute;top:.5em;left:.5em;z-index:1000;display:flex;flex-direction:column;gap:.8em}.map-controls-right{position:absolute;top:.5em;right:.5em;z-index:1000}.custom-control-group{position:relative;display:flex;flex-direction:column;gap:0;background-color:#fff6;border-radius:4px;padding:2px}.custom-control-btn{display:flex;align-items:center;justify-content:center;margin:1px;padding:0;width:1.8em;height:1.8em;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15.96px;font-weight:700;text-align:center;color:#fff;background-color:#003c8880;border:none;border-radius:0;cursor:pointer;box-sizing:border-box}.custom-control-btn:hover,.custom-control-btn:focus{background-color:#003c88a6;text-decoration:none;outline:none;color:#fff}.custom-control-btn::-moz-focus-inner{border:none;padding:0}.zoom-controls{display:flex;flex-direction:column;gap:0}.zoom-controls .zoom-btn{border-radius:0}.style-selector-btn .glyphicon-globe{color:#fff}.ol-zoom,.ol-rotate{display:none!important}.ol-scale-line{position:absolute!important;left:10px;bottom:10px;background-color:#003c8880!important;padding:4px 8px!important;border:none!important;border-radius:4px}.ol-scale-line-inner{border:1px solid #fff!important;border-top:none!important;color:#fff!important;font-weight:400!important;font-size:11px!important;text-align:center!important;margin:0!important;padding:0 5px!important}.style-selector-container{position:relative}.style-options{color:#fff;left:2.2em;position:absolute;top:0;margin-left:.2em;border-radius:7px;min-width:10.4em}.style-options ul{background-color:#003c8880;list-style-type:none;padding:2px 10px;margin:0;border-radius:7px}.style-options ul:hover{background-color:#003c88b3}.style-options li{margin-bottom:5px}.style-options label{cursor:pointer;font-weight:400;display:block;margin:0}.style-options input[type=radio]{margin-right:8px}.ol-control button{height:1.8em;width:1.8em}.threat-icons{float:right}.threat-icons:after{content:"";display:table;clear:both}.threat-icon{width:30px;height:30px;background-size:30px;background-repeat:no-repeat;background-position:center;float:right;opacity:.7;cursor:pointer;border:none;padding:0}.threat-icon:hover{opacity:1}.threat-icon-drone{background-image:url(../images/drone.png)}.threat-icon-home{background-image:url(../images/home.png)}.threat-icon-pilot{background-image:url(../images/pilot.png)}.threat-selected{border:1px solid #ebccd1;padding:5px;margin-bottom:10px;cursor:pointer;position:relative}.busy-view .threat-selected{background:#fff}.threat-selected-close{position:absolute;top:5px;right:5px;margin:0;padding:2px 6px;line-height:1.2}.threat-selected .details{display:flow-root}.threat-body.column .threat-connected-icon{margin-left:4px;opacity:.8}.threat-selected .details:after{content:"";display:table;clear:both}.threat-selected .column{float:left;padding:10px;width:33%;box-sizing:border-box}.threat-selected .threat-icons.column{float:right}.threat-selected .title.column .name{font-weight:700}.threat-selected .title.column .mac{font-size:.9em;color:#666}.threat-list{margin:0;padding:0;list-style:none}.threat-single{border:1px solid #ebccd1;margin-bottom:10px;background-color:#fff;cursor:pointer}.threat-single .title{background:#f2dede;color:#555;font-weight:700;font-size:15px;padding:10px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.info-column .monitor-info-panel{font-size:15px}@media(min-width:1500px)and (min-height:900px){.info-column .monitor-info-panel,.threat-single .title{font-size:18px}.threat-single .threat-body{font-size:16px}}.threat-single .title .name{display:inline}.threat-single .title .mac{display:block;font-size:.9em;font-weight:400;color:#555}.threat-single .threat-body{padding:10px;font-size:14px;background-color:#fff}.threat-single.selected{border:1px solid #aaa;background-color:#fff}.threat-single .title.selected{background:#007fffcc;color:#fff}.threat-single .title .connecting{margin-right:4px}.threat-single .title .whitelist{color:#aaa;cursor:pointer}.threat-single .title .whitelist:hover{color:#333}.busy-view .threat-single .title.selected{background:#f2382b;color:#fff}.threat-grid{display:flex;flex-wrap:wrap;gap:8px;margin:0 -4px}.threat-card{font-size:14px;width:calc(33.333% - 8px);min-width:120px;padding:8px 10px;border:1px solid #ddd;border-radius:4px;cursor:pointer;background:#fff;transition:background .15s ease}.threat-card:hover{background:#ffd8d6}.threat-card.selected{border-color:#f2382b;background:#f2382b;color:#fff}.threat-card.selected .threat-card-mac,.threat-card.selected .threat-card-status{color:#fffffff2}.threat-card-title{font-weight:500;margin-bottom:2px;word-break:break-word}.threat-card-mac{font-size:.85em;color:#666;margin-bottom:4px}.threat-card-status{display:inline-block;margin-top:2px;padding:2px 8px;font-size:.85em;font-weight:400;background:#f2dede;color:#555;border-radius:3px}.threat-card.selected .threat-card-status{background:#ffffff40;color:#fff}.whitelist-add{cursor:pointer;margin-left:4px;color:#5cb85c;font-weight:700}.whitelist-add:hover{color:#449d44;text-decoration:underline}.threat-history-loading{padding:10px;text-align:center}.threat-history-loading .glyphicon-repeat{display:inline-block;animation:loading-spin 1s linear infinite}.account-settings .setting{padding:10px 0}.settings-home-devices table tr,table.search-results tr{cursor:pointer}#antenna-table{overflow-x:auto}#antenna-table .port-col,#antenna-table .angle-col,#antenna-table .width-col,#antenna-table .range-col{width:15%}#antenna-table .delete-col{width:5%}#antenna-table .device-simplified .range-col{width:25%}#antenna-table .device-simplified .angle-col,#antenna-table .device-simplified .width-col{width:18%}#antenna-table .port-input{padding-right:6px;padding-left:6px}#antenna-table .type-input{padding-right:0;padding-left:0}#settings .right-col .panel-heading{font-size:1.5em}#settings .ol-overlay-container{pointer-events:none}.panel-with-tabs .panel-heading{padding-bottom:0}.panel-with-tabs .nav-tabs{border-bottom:none;margin-bottom:-1px}#settings{height:100%}.map-col{padding:0}.right-col{overflow-y:auto;height:100vh;padding-top:20px}.modal-error{width:100%;height:100%;text-align:center;z-index:999;position:fixed;top:0;left:0;padding-top:30vh;background:#fffc;font-size:2em}.modal-error .glyphicon-remove{color:red}.modal-error .support{text-align:left;margin:2em auto;width:35em}.jammers{background:#fff;margin:10px}.jammers .panel{margin-bottom:0}.jammers .panel-heading{font-size:18px}.jammers .panel-body{padding:0 0 15px}.jammers table{margin-bottom:0;margin-right:auto;margin-left:auto;border-collapse:separate;border-spacing:10px 5px}.jammers thead{font-size:16px}.jammers tbody{font-size:15px}.jammers td,.jammers th{text-align:center;padding:5px!important}.jammers .btn+.btn{margin-left:8px}.jammers .jamming-status{padding:8px 25px;font-size:inherit}.jammers .jammer-warning{font-size:80%}.jammers .label-default.jamming-status{background-color:#bbb}.jammers .jamming-status.jamming-on{animation:jamming-label-animation .5s cubic-bezier(.45,.05,.55,.95) infinite;animation-direction:alternate}@keyframes jamming-label-animation{0%{opacity:.9}to{opacity:1}}.loading-animation .glyphicon-repeat{display:inline-block;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#no-reports{font-size:18px}#loading.loading-animation .status{display:flex;align-items:center;justify-content:center;gap:8px}.modal-background{position:fixed;top:0;left:0;background:#555c;width:100vw;height:100vh;z-index:1000}.modal-content{background:#fff;border:1px solid #999;border-radius:10px;margin:90px 5% 0;padding:20px;height:calc(90vh - 70px);max-height:calc(100vh - 90px);position:relative;display:flex;flex-direction:column}.modal-content .flight-map-wrapper{flex:1;min-height:0;overflow:hidden;position:relative}.modal-content .flight-map{width:100%;height:100%}.modal-close{display:block;position:absolute;top:-15px;right:-10px;width:35px;text-align:center;color:#eee;line-height:35px;font-size:40px;background:#ef7676;border-radius:20px;cursor:pointer;font-family:Arial,sans-serif;text-decoration:none;z-index:10}.modal-close:hover,.modal-close:active{color:#fff;text-decoration:none;background:#f74343}.flight-map{width:100%;border:1px solid #ddd;border-radius:4px}.threat-arrow{cursor:pointer}.threat-arrow:after{content:"";display:block;width:0;height:0;border-left:60px solid rgba(255,50,50,.8);border-top:20px solid transparent;border-bottom:20px solid transparent;animation:threat-arrow-animation .5s cubic-bezier(.45,.05,.55,.95) infinite;animation-direction:alternate}.threat-arrow-clicked:after{border-left-color:#007fffcc}@keyframes threat-arrow-animation{0%{transform:translate(-5px)}to{transform:translate(5px)}}.flight-top-left-overlay{position:absolute;top:10px;left:10px;z-index:999;display:flex;flex-direction:column;align-items:flex-start;gap:10px}.flight-map-wrapper .flight-map-controls.map-controls-left{position:static}.flight-info-overlay{padding:5px;font-size:12px;background:#fefefe;border:1px solid #eee}.flight-info-overlay p{margin:0}.flight-map-wrapper .ol-zoom,.flight-map-wrapper .ol-rotate{display:none!important}.flight-map-wrapper .threat-marker{width:50px;height:50px;border-radius:50%;background-color:#ff3232cc;box-shadow:1px 1px 5px #777;border:1px solid #fff;cursor:pointer;position:relative}.flight-map-wrapper .threat-marker:before{content:"";display:block;width:100%;height:100%;background-size:70%;background-position:center;background-repeat:no-repeat;filter:invert(100%)}.flight-map-wrapper .threat-marker-drone{z-index:99}.flight-map-wrapper .threat-marker-drone:before{background-image:url(../images/drone.png)}.flight-map-wrapper .threat-marker-pilot{z-index:89}.flight-map-wrapper .threat-marker-pilot:before{background-image:url(../images/pilot.png)}.flight-map-wrapper .threat-marker-home{z-index:79}.flight-map-wrapper .threat-marker-home:before{background-image:url(../images/home.png)}.flight-slider-overlay{position:absolute;left:50%;transform:translate(-50%);bottom:10%;background:#f5f5f5;border:1px solid #999;padding:10px;z-index:999;border-radius:5px;width:50%}.flight-slider-overlay form>div:first-child{overflow:auto}.flight-slider-overlay .slider{height:1.5em;margin-top:4px}.flight-slider-overlay input[type=range]{width:100%;cursor:pointer}.flight-slider-overlay .pull-right{float:right}.flight-slider-overlay .btn-group{margin-left:8px}.flight-slider-overlay .btn-group .btn{margin-right:2px}.status-page-container{padding:10px}.health-modules{list-style:none;padding-left:0}.health-modules .glyphicon-ok{color:green;margin-right:5px}.health-modules .glyphicon-remove{color:red;margin-right:5px}.health-modules .glyphicon-exclamation-sign{color:#f0ad4e;margin-right:5px}.health-modules li .status{text-transform:capitalize}.device-license-status{font-weight:700}.health-report{margin-bottom:20px}.drones-page{padding:15px}.drones-page h1{margin-top:0}.drones-page .error-message{color:#a94442;margin-bottom:15px}.drones-page .error-message .glyphicon{margin-right:6px}.drones-page .error-message .btn{margin-left:10px}.drones-page .table{margin-top:10px}.websocket-control{padding:.5em;box-sizing:border-box;display:flex;flex-direction:column;gap:.5em;position:relative}.control-section{display:flex;gap:.5em;align-items:center;width:100%}.control-section label{white-space:nowrap;display:block;color:#666}.control-section input{flex:1;padding:.3em 8px;height:2em;box-sizing:border-box;width:100%;border:1px solid #ddd;border-radius:4px}.ws-button{width:100%;padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s ease}.ws-button.connected{background-color:#4caf50;color:#fff}.ws-button.disconnected{background-color:#f44336;color:#fff}.ws-dialog-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000}.ws-uri-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:#fff;padding:20px;border-radius:4px;box-shadow:0 2px 10px #0000001a;z-index:1001;max-width:90vw;max-height:80vh;overflow-y:auto}.ws-uri-dialog h3{margin:0 0 20px;color:#333}.ws-uri-dialog .control-section{margin-bottom:15px}.ws-uri-dialog input{width:100%;box-sizing:border-box}.saved-uris-section{margin-top:15px;margin-bottom:15px}.saved-uri-list{max-height:150px;overflow-y:auto;border:1px solid #ddd;border-radius:4px}.saved-uri-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.saved-uri-item:last-child{border-bottom:none}.saved-uri-item:hover{background-color:#f5f5f5}.saved-uri-item.active{background-color:#e0e0e0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.dialog-actions button:first-child{background-color:#f5f5f5;color:#333}.dialog-actions button:last-child{background-color:#2196f3;color:#fff}.dialog-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.connection-error{color:#f44;font-size:.9em}.spectrum-control-panel{background-color:#f5f5f5;padding:15px;overflow-y:auto}.spectrum-control-panel .control-section label{display:block;font-weight:600;color:#333}.spectrum-control-panel .control-section input,.spectrum-control-panel .control-section select{width:100%;padding:8px;border:1px solid #ddd;font-size:14px;transition:border-color .3s;border-radius:4px;box-sizing:border-box}.spectrum-control-panel .control-section input:focus,.spectrum-control-panel .control-section select:focus{border-color:#007bff}.spectrum-control-panel .control-section{margin-top:2px}.control-apply-button{display:flex;justify-content:center}.control-apply-button button{margin-top:10px}.spectrum-control-panel button{padding:10px 15px;background-color:#007bff;color:#fff;border:none;cursor:pointer;transition:background-color .3s;border-radius:4px}.spectrum-control-panel button:hover{background-color:#0056b3}.metadata-display{padding:.5em;box-sizing:border-box;overflow-y:auto}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12em,1fr));gap:.5em}.metadata-item{display:flex;gap:.5em;align-items:center}.metadata-item label{font-weight:700;white-space:nowrap}.metadata-item span{flex:1;text-align:left}.metadata-item[data-type=number] span{min-width:100px}.error-display{position:absolute;bottom:1em;left:1em;right:1em;background-color:#f44;color:#fff;padding:.8em;border-radius:4px;box-shadow:0 2px 4px #0003;animation:spectrumErrorFadeIn .3s ease-in;z-index:1000}.error-message{text-align:center}@keyframes spectrumErrorFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.restart-control{padding:.5em;box-sizing:border-box;height:100%;display:flex;align-items:center}.restart-buttons{display:flex;gap:1em;justify-content:center;width:100%}.restart-buttons button{padding:.5em 1em;min-width:8em;border-radius:4px;color:#fff;border:none;background-color:#007bff;cursor:pointer}.restart-buttons button:disabled{background-color:gray;cursor:default}.restart-buttons button:hover:enabled{background-color:#0056b3}.plot-legend{background-color:#f5f5f5;border-radius:8px;padding:15px;margin-bottom:15px;display:block}.plot-legend .legend-title{font-weight:600;color:#333;margin-bottom:10px;font-size:16px}.plot-legend .legend-items{display:flex;flex-wrap:wrap;gap:8px}.plot-legend .legend-item{display:flex;align-items:center;cursor:pointer;padding:8px 12px;border-radius:4px;background-color:#fff;border:1px solid #ddd;transition:all .3s}.plot-legend .legend-item:hover{border-color:#007bff}.plot-legend .legend-item:active{background-color:#f0f0f0}.plot-legend .legend-item-disabled{opacity:.5}.plot-legend .color-box{width:14px;height:14px;border-radius:3px;margin-right:8px;border:1px solid rgba(0,0,0,.1)}.plot-legend .antenna-name{color:#333;font-size:14px}.plot-legend .legend-empty{color:#777;font-style:italic;padding:5px 0;font-size:14px}.direction-display{background-color:#f5f5f5;border-radius:4px;padding:10px;box-sizing:border-box;height:300px}.direction-display canvas{width:100%;height:100%}.direction-plot{width:100%;height:auto;max-width:100%;aspect-ratio:1 / 1;position:relative;margin:0 auto;border-radius:50%;overflow:hidden}.direction-plot canvas{width:100%;height:100%;border-radius:50%}.direction-plot:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 20px #00ff001a;pointer-events:none;border-radius:50%}.spectrum-plot{width:100%;height:100%;display:flex;flex-direction:column;background-color:#f5f5f5;border-radius:8px;padding:15px;box-sizing:border-box}.spectrum-plot-container{flex:1;min-height:0;position:relative;width:100%;height:100%;overflow:hidden}.spectrum-plot canvas{width:100%;height:100%;border-radius:4px;background-color:#1a1a1a}.spectrum-plot-clear-button{margin-top:10px;padding:10px 15px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;flex-shrink:0}.spectrum-plot-clear-button:hover{background-color:#c82333}.spectrum-app-container{display:flex;gap:.1em;background-color:#f5f5f5;overflow:hidden;height:92vh}.spectrum-left-panel{flex:1;display:flex;flex-direction:column;gap:.1em;min-width:0;overflow:hidden}.spectrum-plot-area{flex:1;min-height:0}.spectrum-placeholder{height:95%;display:flex;justify-content:center;align-items:center;flex:1;min-height:0}.spectrum-placeholder .center{text-align:center}.spectrum-placeholder .center h1{margin-top:0;margin-bottom:10px}.spectrum-metadata-wrap{height:auto;flex-shrink:0;overflow-y:auto}.spectrum-error-wrap{flex-shrink:0}.spectrum-right-panel{width:20em;display:flex;flex-direction:column;gap:.1em;overflow:hidden}.spectrum-legend-wrap{flex-shrink:0}.spectrum-control-wrap{flex:1;display:flex;flex-direction:column;overflow-y:auto}.spectrum-direction-wrap{height:300px;flex-shrink:0}.spectrum-ws-wrap,.spectrum-restart-wrap{height:fit-content;flex-shrink:0}.device-page .panel-with-tabs .nav-tabs a{cursor:pointer}.device-page .panel-with-tabs .panel-heading{padding-bottom:0}.device-page #form_errors .label{display:block;margin-bottom:5px;text-align:left}.device-page .controls{margin-bottom:15px}.device-page .controls:after{content:"";display:table;clear:both}.device-page .form-popup{background:#f5f5f5;padding:15px;margin-bottom:15px;border-radius:4px;border:1px solid #ddd}.device-page #antenna-table{overflow-x:auto}.device-page #antenna-table .port-col,.device-page #antenna-table .angle-col,.device-page #antenna-table .width-col,.device-page #antenna-table .range-col{width:12%}.device-page #antenna-table .name-col{width:15%}.device-page #antenna-table .type-col{width:12%}.device-page #antenna-table .id-col{width:10%}.device-page #antenna-table .delete-col{width:5%}.device-page #antenna-table .port-input{padding-right:6px;padding-left:6px}.device-page #antenna-table .type-input{padding-right:0;padding-left:0}.device-page #antenna-table tbody tr{cursor:pointer}.device-page #antenna-table tbody tr:hover{background-color:#f5f5f5}.device-page #antenna-table input.form-control,.device-page #antenna-table select.form-control{padding:4px 8px;height:auto}.device-page .digit-1{width:60px;display:inline-block}.device-page-location-section{margin-bottom:1.25rem;padding:1rem 1.25rem;border:1px solid #ddd;border-radius:4px;background:#fafafa}.device-page-location-section:last-child{margin-bottom:0}.device-page-location-section-title{margin-top:0;margin-bottom:.75rem;font-size:1.5rem;font-weight:600;color:#333}.device-page-location-search .device-page-location-fly-to{margin-top:1rem;padding-top:1rem;border-top:1px solid #e8e8e8}#main_nav{height:70px;background-color:#f5f5f5;margin-bottom:0;border-bottom:2px solid #ddd}#main_nav .as-brand{height:70px;padding:10px 0}#main_nav .logo-image{margin-right:10px;height:55px}#main_nav .nav>li{height:70px;font-size:18px}#main_nav .nav>li>a{height:100%;display:block;padding-top:10px;padding-bottom:10px;line-height:58px;color:#777;text-decoration:none}#main_nav .nav>li>a:hover{background-color:transparent;color:#333;border-bottom:3px solid #FF0000}#main_nav .nav>li.active>a{border-bottom:3px solid #B30000;color:#050303;background-color:transparent}#main_nav .account{font-size:1.5em;margin:0 1% 0 0;line-height:60px;padding-top:10px;color:#777}.navbar-nav{margin:0}#main_nav .nav>li>a .label{margin-left:6px;vertical-align:2px}@media(max-width:767px){#main_nav{height:auto}#main_nav .nav>li{height:auto}#main_nav .nav>li>a{line-height:20px}}body{background-color:#f5f5f5;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.container-fluid{padding-left:15px;padding-right:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h2{font-size:30px;margin-top:20px;margin-bottom:10px}.lead{margin-bottom:20px;font-size:21px;font-weight:300;line-height:1.4}.app-loading-fullscreen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background-color:#f5f5f5;z-index:9999}.app-loading-fullscreen .app-loading-content{text-align:center;font-size:2em}.app-loading-fullscreen .app-loading-spinner{display:inline-block;animation:loading-spin 1s linear infinite}.app-loading-fullscreen .app-loading-text{display:inline}@keyframes loading-spin{to{transform:rotate(360deg)}}
