@charset "UTF-8";

body, html {height:100%;}
body {
    margin: 0;
    min-height: 100%;
    overflow: hidden;
}

nav {
  position: relative;
  top:0px;
}
.mapcontainer {
  width: 100%;
  margin:0px;
  top:0px;
  height:100%;
  overflow: hidden;
}

div.container-fluid-map {
  top:0px;
  bottom: 0px;
}
div.mapcontainer_timecontrols {
  padding-bottom: 40px;
}

.mapcontainer_fullscreen {
}

.mapinfo_embedded {
  position:fixed;
  padding-top:51px;
  z-index:1200;
}
.mapinfo_fullscreen {
   /* position:fixed;
    height:100%;*/
}

.flag-icon {
  height: 0.8em;
  border: 0.5px solid black;
}

.airport-label {
  font-weight: normal;
  font-size:9pt;
}

#selected-plane-infos td {
  vertical-align:top;
}

/* prevent 2-line wrap of navbar on ipad*/
@media (max-width: 950px) {
    .navbar-header {
        float: none;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin: 7.5px -15px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .navbar-text {
        float: none;
        margin: 15px 0;
    }
    .navbar-collapse.collapse.in { 
        display: block!important;
    }
    .collapsing {
        overflow: hidden!important;
    }
}

/* works for mobile devices */
@import url(ionicons.min.css);

@font-face {
  font-family: 'ionicons';
  src: url('../fonts/ionicons.eot'); /* IE9 Compat Modes */
  src: url('../fonts/ionicons.woff') format('woff'), /* Pretty Modern Browsers */
       url('../fonts/ionicons.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/ionicons.svg#FontAwesome') format('svg'); /* Legacy iOS */
}

#olmap_box {
    height:100%;
}


.ol-zoom-br {
  float:right;
  bottom: 1.5vh;
  right: 1.5vw;
}


/* override */
.ol-scale-line {
  border-radius: 4px;
  margin:0;
  margin-bottom:-0.2em;
  transform: translateX(-50%);
}


.map-control button {
  display: table-cell;
  /*font-size: 16px;*/
  margin: 1px;
  text-decoration: none;
  text-align: center;
  vertical-align: middle;
  border-radius: 2px;
  background: rgba(0,60,136,0.5);
}

.map-control button:hover {
  background: rgba(0,60,136,0.7);
}

.acInfoLabel {
  cursor: pointer;
  font-family: 'Roboto';
}

.acInfoLabel,.overlay {
	margin: 0;
}

.receiverlocation-marker img {
	 width:100%;
	 height:100%;
}
.receiverlocation-marker-imagecontainer {
        width: 2em;
        height: 2em;
}
.receiverlocation-marker {
    color: black;
    width: 3em;
    height: 3em;
    /*center img within div */
    display: flex;
    align-items: center;
    justify-content: center;
    /* draw halo from center */
    background-image: radial-gradient(circle closest-side, rgba(255,255,255,0.8), rgba(255,255,255,0)); 
}

.boldText {
  font-weight: bold;
}
.acInfoLabel-standard {
    color: black;
    background-color: rgba(255, 255, 0, 0.3);
    font-family: "Roboto Condensed CustomBold";
    font-size: 12px;
    /*font-weight: normal;*/
    text-align: center;
    line-height: 11px;
    padding: 1px 2px 1px 2px;
    width: auto;
    height: auto;
    border: 1px solid gray;
    border-radius: 4px;
    white-space: nowrap;
}
.acInfoLabel-standard:hover, .acInfoLabel-standard-prio {
    background-color: rgba(255, 255, 0, 1.0);
}

.acInfoLabel-atcscope {
    color: yellow ;
    /*background-color: rgba(255, 255, 0, 0);*/
    font-family: "Roboto Mono CustomBold";
    font-size: 12px;
    /*font-weight: normal;*/
    text-align: center;
    line-height: 11px;
    padding: 2px;
    width: auto;
    height: auto;
    border: 0px; /*solid gray;*/ 
    white-space: nowrap;
}

.acInfoLabel-atcscope:hover, .acInfoLabel-atcscope-prio {
    background-color: rgba(128, 128, 128, 1.0);
    border-radius: 4px;
}

/* in table, center text left of middle to ->, right of middle <- so between-cell margins do not increase if table gets more space */
.infoLabel-centercell {
	text-align: center;
}
.infoLabel-leftcell {
	text-align: right;
}
.infoLabel-rightcell {
	text-align: left;
}

.splittable {
    table-layout: fixed;
    width: 100%;
}
.splittable td {
  width:50%;
}

#filter-settings td {
  vertical-align: middle;
  height:auto;
  min-width:1em;
}

#filter-settings input {
	border-style: solid;
	border-width: 1px;
	border-color: grey;
	text-indent: 4px;
}

#filter-settings table input, #refresh-interval, #preferred-source {
   padding: 0em;
   margin-top: 0.2em;
   margin-bottom: 0.2em;
   width:100%;
}


.desc {
    padding-right: 0.3em;
    padding-left: 0.5em;
}

#filter-settings {
    position: absolute;

    float:right;
    right: 0.7vw;
    bottom: 2.7em;

    background: #ffffff;
    border: 1px solid gray;
    border-radius: 3px;
    padding-left:0.5em;
    padding-right: 0.5em;
    padding-bottom: 0.5em;
    padding-top: 0.5em;
    color: #4bb9dc;

}

.nowrap {
  white-space: nowrap;
}

#filter-sources .filtersource {
  width: auto;
}

/* set icon size for all bar icons */
.ol-bar button {
  font-size:1.5em;
}

/* stacked fontawesome icons need to be scaled down */
button > span.fa-stack {
  font-size:0.6em;
}

.filter-form-controls {
  float: right;
  cursor: pointer;
  vertical-align: top;
  padding-left: 0.5em;
/*  font-size:20px;*/
  color: gray;
}

/*.filter-form-controls .filter-close {
  width: 3em;
  height: 3em;
}*/
.filter-form-controls .filter-close, .filter-form-controls .filter-clear {
  font-size: 1.45em;
}
.filter-form-controls .filter-clear {
/*  width: 32px;
  height: 32px;*/
  margin-right: 0.4em;
}

#filter-apply {
    font-size: 11pt;
    float: right;
    height: 2em;
    width: auto;
    text-align:center;
    padding-right: 0.5em;
    padding-left: 0.5em;
    padding-top: 0.6em;
    padding-bottom: 0.6em;
}

/* Display larger attribution text*/
.ol-attribution ul {
  font-size: 1.0rem;
}
.unselectable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Override Layerswitcher activation button style */
.layer-switcher {
    top: 0.5em;
}
.layer-switcher button:before {
    font-family: 'ionicons';
    font-weight: normal;
    font-size: 2em;
    content : "\f4a6";
    vertical-align: middle;
    display: table-cell;
    width:50%;
    text-align:center;
}
.layer-switcher button {
  table-layout: fixed;
  width: 2.4em;
  height:2.4em;
  background-image:none;
  background-color:rgba(0,60,136,.5);
  float:none;
  border-radius:0.4em;
}

/* work around bug in normalize.css https://github.com/necolas/normalize.css/issues/349 */
button:disabled,
input:disabled,
optgroup:disabled,
select:disabled,
textarea:disabled {
    color: graytext;
}

/* layer switcher: align labels and checkboxes */
.layer-switcher .layer label {
  padding-left:4px;
}
.layer-switcher li.layer input {
  margin: 0px;
  vertical-align: middle;
  position:relative;
}
.layer-switcher li.group label {
  margin-bottom: 0px; /*overriding bootstrap.css*/
}

input.highlight-filterfield {
	background-color: rgba(242,157,0,0.1);
}

/* history controls css */
#slider  {
  width:100%;
}

#sliderContainer {
  width:100%;
  display: table-cell;

  padding-left:10px;
  padding-right:10px;
}

#slider .slider-selection {
	background: #BABABA;
}

.control-history-right-opt {
/*    margin-right: 10px; 
    margin-top: 15px;
    margin-bottom: 10px;
    color:black;
    /*font-size:15px;
    padding-right: 3px;
    height:25px;*/
    height:33px;
    bottom:8px;
    /*width: auto;*/
    /*position:fixed;*/
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 15px;
    margin-bottom: 5px;
/*    flex: 0 0 auto;
       text-align: center;
z-index: 999999;*/
}

#history-right-options {
  margin-left:auto; margin-right:2px;
  /*padding-top:auto; padding-bottom: 5px;*/
  height:100%;
  display: table-cell;
}

#control-persist {
    font-size:22px;
}
#playback-controls {

    height: 100%;
    width: auto;
    margin-left:2px; margin-right:auto;

    z-index: 999999;

    display: table-cell;

  }
.playback-btnframe {
    border-radius: 5px;
    background-color:lightgrey;
    padding:2px;
    margin:1px;
    

    vertical-align: middle;
    text-align: center;
    outline:none !important;
}

#control-timerange {
  border: none;
  margin: 2px;
}

#playbackspeed-dropdown {
   z-index: 1100; /* make sure dropup is drawn on top of slider tooltip */
}

.dropup {
  background-color: white;
} 

.dropdown-option {
    cursor: pointer;
}

.controlicon {
    font-size:22px;
    margin-left:0.3em;
    margin-right:0.3em;
}
.controllabel {
    font-size:20px;
    margin:0.3em;
}


button.playback-btnframe, span.playback-btnframe {
  margin:0;
  padding-top:0;
  padding-bottom:0;
}


#timeslider-container {
   /* height:40px;*/
    
    width:100%;
    position:fixed; 
    bottom: 0px;
    left:0;
    padding-bottom: 3px;
    padding-top: 3px;
    padding-right: 5px;
    padding-left: 5px;
    color:black;
    display: table-row;
    white-space: nowrap;
}

.slider-progress-container {
  display: table-row;
}
#progress-indicators {
  display:inline-block;
  vertical-align: middle;
}
#sliderHull {
  display: none;
}


.data-loading {
    display: inline-block;
    top:0px;
    position:relative;
    margin-left: 10px;
    margin-right: 10px;
}



.fa-spin-custom, .glyphicon-spin {
  -webkit-animation: spin 1000ms infinite linear;
  animation: spin 1000ms infinite linear;

  -webkit-transform-origin: 50% 50%;
  transform-origin:50% 50%;
  -ms-transform-origin:50% 50%; /* IE 9 */
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
