@import url(//fonts.googleapis.com/css?family=Roboto:100);

body {
   background: -moz-linear-gradient(-45deg, #006676 0%, #00aabc 100%);
   background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#006676), color-stop(100%,#00aabc));
   background: -webkit-linear-gradient(-45deg, #006676 0%,#00aabc 100%);
   background: -o-linear-gradient(-45deg, #006676 0%,#00aabc 100%);
   background: -ms-linear-gradient(-45deg, #006676 0%,#00aabc 100%);

   color: #FFFFFF;
   height: 2160px;
   position: absolute;
   width: 3840px;
}
body, td {
   font-family: 'Roboto', sans-serif;
}

[data-not-null="null"], [data-not-null=""] {
   display: none !important;
}
[data-safeguard=""]:after {
   content: attr(data-safeguard-content);
   height: 100%;
   width: 100%;
}

/*
 * layout
 */
[data-layout-container] {   
   opacity: 0;
   position: relative;

   transition-duration: 1s;
   transition-property: opacity;
   transition-timing-function: ease-in-out;
}

.fids-container {
   float: left;
}
.fids-container[data-layout-container="flight-info"] .flight-details {
   background-color: rgba(255,255,255,0.05);
   border: 1px solid rgba(255,255,255,0.15);
}
.fids-container[data-layout-container="routes"] > .flight-panel {
   background-color: rgba(255,255,255,0.05);
   border: 1px solid rgba(255,255,255,0.15);
}
.fids-container[data-layout-container="approach"] {
   height: 100%;
   left: 0;
   position:absolute;
   top: 0;
   width: 100%;
   z-index: -1;
}
.fids-container[data-layout-container="leaflet"] .flight-panel {
   background: -moz-linear-gradient(-83deg, rgba(0,170,188,.6) 0%, rgba(0,102,118,.6) 100%);
   background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,rgba(0,170,188,.6)), color-stop(100%,rgba(0,102,118,.6)));
   background: -webkit-linear-gradient(-83deg, rgba(0,170,188,.6) 0%, rgba(0,102,118,.6) 100%);
   background: -o-linear-gradient(-83deg, rgba(0,170,188,.6) 0%, rgba(0,102,118,.6) 100%);
   background: -ms-linear-gradient(-83deg, rgba(0,170,188,.6) 0%, rgba(0,102,118,.6) 100%);

   z-index: 9999;
}

#caspermap {
   width: 100%;
}

/* Flight tracking overrides */
.casper-panel {
   background: none;
   border: none;
   box-shadow: none;
   margin-bottom: 0px;
   min-height: 10px;
}
.casper-panel:before, .casper-panel:after {
   content: none;
}

.casper-panel-header {
   background: none;
   border-bottom-color: #FFFFFF;
   border-bottom-style: solid;
   box-shadow: none;
   padding: 0px;
   text-transform: uppercase;
}

.casper-panel-content {
   background: none;
}
.casper-panel-content + .casper-panel-content {
   box-shadow: none;
}

.casper-panel-footer {
   border-bottom-color: #FFFFFF;
   border-bottom-style: solid;
}

[data-role="time"]:hover {
   background-color: transparent;
   border: 1px solid transparent;
}

[data-setting='map-provider'], [data-setting='vehicle-palette'] {
   display: none;
}

.high-contrast img.leaflet-tile, .high-contrast .leaflet-google-layer > .gm-style > div > div > div > div > div {
  -webkit-filter: contrast(100%) saturate(10%);
  -moz-filter: contrast(100%) saturate(10%);
  -ms-filter: contrast(100%) saturate(10%);
  filter: contrast(100%) saturate(10%);
}

.show-delay .casper-vehicle[data-otp="late"] {
   background-color: rgba(224,48,48,0.5);
   border-radius: 50%;
}

.show-delay .casper-vehicle[data-otp="early"] {
   background-color: rgba(16,213,16,0.5);
   border-radius: 50%;
}

[data-terminal="0"]:before {
   content: "General Aviation Terminal/Cargo";
}

[data-terminal="1"]:before {
   content: "South Terminal";
}

[data-terminal="2"]:before {
   content: "North Terminal";
}

.flighttype[data-des-af="EGKK"]:before {
   content: "Inbound";
}

.flighttype[data-dep-af="EGKK"]:before {
   content: "Outbound";
}

.flighttype[data-cdm-state="IBK"]:before {
   content: "On stand";
}

[data-filter] {
   display: none;
}

[data-filter="inbound"][data-des-af="EGKK"] {
   display: inline;
}

[data-filter="outbound"][data-dep-af="EGKK"], [data-filter="outbound"][data-cdm-state="IBK"] {
   display: inline;
}

.comma-separated + .comma-separated:before {
   content: ", ";
}

.cdm-time {
   display: inline-block;
   white-space: nowrap;
   float: left;
   width: 50%;
   font-size: 90%;
}

.cdm-time:after {
   content: ":" attr(data-not-empty);
}

#fl-class-VEH + label, #fl-class-INB + label {
   display: block;
}

.show-labels .casper-vehicle[data-callsign="-"]:after {
   content: none;
}

.show-labels .casper-vehicle:after {
   top: -15px;
}

.show-labels .casper-vehicle:before {
   top: 3px;
}

.casper-vehicle[data-type="TRUC"], .casper-vehicle[data-type="TRUCK"], .casper-vehicle[data-type="CAR"], .casper-vehicle[data-type="TOW"],
.casper-vehicle[data-type="VAN"], .casper-vehicle[data-type="LIFT"], .casper-vehicle[data-type="MBUS"], .casper-vehicle[data-type="COAC"],
.casper-vehicle[data-type="COACH"], .casper-vehicle[data-type="TUGS"], .casper-vehicle[data-type="UNK"], .casper-vehicle[data-type="STPM"],
.casper-vehicle[data-type="STPN"], .casper-vehicle[data-type="BELT"], .casper-vehicle[data-type="EBT"], .casper-vehicle[data-type="CARG"],
.casper-vehicle[data-type="DEIC"], .casper-vehicle[data-type="GPU"], .casper-vehicle[data-type="AIRS"], .casper-vehicle[data-type="JET"],
.casper-vehicle[data-type="FIRE"], .casper-vehicle[data-type="AIRC"], .casper-vehicle[data-type="LEAD"], .casper-vehicle[data-type="WINT"],
.casper-vehicle[data-type="FUEL"], .casper-vehicle[data-type="POTA"], .casper-vehicle[data-type="DOLL"], .casper-vehicle[data-type="TOWB"],
.casper-vehicle[data-type="LAVA"], .casper-vehicle[data-type="OTH"], .casper-vehicle[data-type="unknown"] {
   display: none !important;
}

.casper-vehicle-label {
   bottom: 35px;
}
.casper-vehicle.selected:after {
   content: "";
   background-color: rgba(255,255,255,0.15);
   box-shadow: inset 0 0px 50px 0px #FFFFFF;
   border-radius: 50%;
   position: absolute;
   width: 100px;
   height: 100px;
   top: -30px;
   left: -30px;
}
.casper-vehicle.selected .casper-vehicle-label {
   display: none;
}

/*
 * Noise-chart-panel
 */
.noise-chart-panel > .chart-grid {
   height: 150px;
}

/* 
 * color palette
 */
[data-palette="airline"] {
   display: none;
}

[data-palette="noiselevel"] {
   border-spacing: 0;
}

.casper-palette-label.min {
   float: left;
   width: 15px;
   margin-top: 4px;
   text-align: right;
   margin-right: 6px;
}

.casper-palette-label.max {
   float: left;
   margin-left: 6px;
   margin-top: 4px;
}

.casper-palette-label.max:after {
   content: " dB(A)";
}

[data-palette="noiselevel"] .casper-palette:after {
  content: "";
  clear: both;
  display: table;
}

[data-palette="noiselevel"] .casper-palette-item {
   margin-right: 0;
   float: left;
}

.casper-palette-swatch {
   margin-top: 4px;
}

[data-palette="noiselevel"] .casper-palette-swatch {
   border: none;
   width: 57px;
   height: 10px;
   margin-top: 6px;
}

/*
 * demo is a flighttracking product, but needs noiselab NMT styling ... 
 */
.casper-nmt {
   width: 0;
   height: 0;
}

.casper-nmt:before, .chart-nmt > .nmt-icon:before  {
   content: attr(data-noise-level);
   color: #444;
   font-weight: bold;
   position: absolute;
   line-height: normal;
   text-align: center;
   background-color: #fff;
   border-radius: 9px;
}

.casper-nmt:after, .chart-nmt > .nmt-icon:after {
   font-family: icomoon;
   position: absolute;
   content: "\e617";
   line-height: normal;
}

.chart-nmt > .nmt-icon:before {
   font-size: 10px;
   margin-top: 2px;
   left: 13px;
}

.map-zoom-9 .casper-nmt:before, .map-zoom-10 .casper-nmt:before {
   font-size: 7px;
   top: -19px;
   left: -7px;
   width: 13px;
   height: 12px;
   box-shadow: 3px 8px 5px 0px rgba(0,0,0,0.45);
}

.map-zoom-9 .casper-nmt:after, .map-zoom-10 .casper-nmt:after {
   font-size: 20px;
   top: -20px;
   left: -10px;
   width: 20px;
}

.map-zoom-11 .casper-nmt:before, .map-zoom-12 .casper-nmt:before {
   font-size: 10px;
   top: -28px;
   left: -11px;
   width: 20px;
   height: 15px;
   box-shadow: 3px 16px 5px 0px rgba(0,0,0,0.45);
}

.map-zoom-11 .casper-nmt:after, .map-zoom-12 .casper-nmt:after {
   font-size: 30px;
   top: -30px;
   left: -15px;
   width: 30px;
}

.map-zoom-13 .casper-nmt:before, .map-zoom-14 .casper-nmt:before, .map-zoom-15 .casper-nmt:before {
   font-size: 14px;
   top: -41px;
   left: -15px;
   width: 26px;
   height: 19px;
   box-shadow: 5px 19px 5px 0px rgba(0,0,0,0.45);
}

.map-zoom-13 .casper-nmt:after, .map-zoom-14 .casper-nmt:after, .map-zoom-15 .casper-nmt:after {
   font-size: 44px;
   top: -44px;
   left: -22px;
   width: 20px;
}
.time-current {
   box-shadow: none;
}

.time-panel {
   float: right;
}
.time-panel > .time-current {
   height: 100%;
   width: 100%;
}
.time-panel > .time-current > span {
   border: none;
   color: #FFFFFF;
   margin: 0px;
   padding: 0px;
   text-align: right;
   width: 100%;
}

/*
 * Route panel
 */
.route-panel {
   margin-top: 20px;
}
.route-map-container {
   background-color: rgba(255, 255, 255, .15);
}

/*
 * Flight list
 */
.flight-list-row {
   clear: both;
   color: #FFFFFF;
   cursor: pointer;
   float: left;
   width: 100%;
}
.flight-list-row.highlight {
   background-color: rgba(0, 102, 118, 0.25);
}
.flight-list-row.selected {
   background-color: rgba(0, 102, 118, 0.5);
}

.flight-list-row > div {
   float: left;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.flight-list-container {
   border: 1px solid rgba(255,255,255,0.15);
   overflow: hidden;
   position: relative;
}

.flight-list-rows {
   background-color: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.15);
   min-height: 100%;
   position: absolute;

   transition-duration: 1.5s;
   transition-property: margin-top;
   transition-timing-function: ease-in-out;
}
.flight-list-rows .flight-list-row > div {
   height: 100%;
}

.flight-list-rows .flight-list-row > .flr-fltnr {  text-transform: uppercase; }
.flight-list-rows .flight-list-row > .flr-situation { text-align: right; }

.flight-list-rows > .flight-list-row {
   border-bottom: 1px solid #FFFFFF;
}

/* 
 * aircraft tail image
 */
.flr-tail {
   background-position: center center;
   background-size: contain;
   background-repeat: no-repeat;
}

/*
 * flight info overlay
 */
.flight-info-overlay {
   padding: 30px 60px;
}
.flight-info-overlay .flight-list-row {
   height: 100px;
   padding: 20px 0px;
}

.flight-info-overlay .flight-list-row > div {
   font-size: 60px;
   height: 80px;
   line-height: 80px;
   padding-right: 25px;
}

.flight-info-overlay .flight-list-row > .flr-tail { width: 200px; }
.flight-info-overlay .flight-list-row > .flr-sibt { width: 250px; }
.flight-info-overlay .flight-list-row > .flr-dep-name { width: 450px; }
.flight-info-overlay .flight-list-row > .flr-fltnr { width: 350px; }
.flight-info-overlay .flight-list-row > .flr-airline { width: 600px; }

.flight-info-situation {
   border-bottom: 1px solid #FFFFFF;
   text-transform: uppercase;
   font-weight: bold;
}

/*
 * fids meteo
 */
.meteo-panel > div:not(.casper-panel-header) {
   background-color: rgba(255, 255, 255, 0.1);
   border: 1px solid rgba(255, 255, 255, 0.15);
   text-align: center;
}

.meteo-panel > .meteo-weather {
   height: 250px;
   margin-top: 20px;
}
.meteo-weather > div {
   height: 100%;
   margin: 0 auto;
   position: relative;
   width: 315px;
}
.meteo-weather > div > div {
   float: left;
   height: 250px;
   line-height: 250px;
   width: 150px;
}

.meteo-weather > div > .symbol {
   background: none;
   font-family: icoMoon;
   font-size: 125px;
   margin-left: 15px;
}

.meteo-weather > div > .temperature {
   font-size: 100px;
   padding: 0px;
   text-align: right;
}

.meteo-panel > .meteo-description {
   height: 100px;
}

.meteo-description > .location {
   font-size: 45px;
   height: 100px;
   line-height: 100px;
   //margin-top: 20px;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.meteo-panel > .local-time {
   height: 100px;
   font-size: 75px;
   margin-top: 20px;
   line-height: 100px;
}

/*
 * Flight details
 */
.flight-panel > .flight-details {
   text-align: center;
   text-overflow: ellipsis;
   white-space: nowrap;
}
.flight-details > [data-safeguard] > span {
   margin: 0px 5px;
   text-overflow: ellipsis;
}

/*
 * Flight panel
 */
.flight-panel img {
   border: none;
}
.flight-panel img:not([src]) {
   display: none;
}
.flight-panel > .aircraft-photo-container, .flight-panel > .airline-logo-container {
   text-align: center;
}

/*
 * flight-type-panel
 */
.flight-type-panel {
   height: 75px;
   margin-top: 55px;
}
.flight-type-panel > div[data-flight-type] {
   float: left;
   height: 100%;
   font-size: 40px;
   line-height: 75px;
   padding: 0px 20px;
   text-align: center;
   width: 513px;

   background-color: rgba(255, 255, 255, 0.15);
}
.flight-type-panel > div[data-flight-type]:before {
   content: attr(data-flight-type) ":";
   margin-right: 20px;
   text-transform: uppercase;
}

.flight-type-panel > div[data-flight-type]:not(:first-child) {
   margin-left: 20px;
}

/*
 * costa pointer
 */
#costa-pointer {
   background-image: url("../images/costa_pointer.png");
   background-repeat: no-repeat;
   height: 102px;
   margin-left: -72px;
   margin-top: -80px;
   position: relative;
   width: 144px;
}
#costa-pointer:after {
   content: "YOU ARE HERE";
   font-family: 'Roboto';
   font-size: 18px;
   left: 50%;
   margin-left: -60px;
   position: absolute;
   text-align: center;
   top: 46px;
   white-space: nowrap;
}

/*
 * Flight Sprite
 */
.flight-sprite {
   display: none;
   position: absolute;
}

.flight-sprite > .label {
   background-color: rgba(255,255,255,.15);
   border-radius: 10px;
   bottom: 125px;
   left: -215px;
   padding: 10px 20px;
   position: absolute;
   width: 430px;
}
.flight-sprite > .label:after {
   border-left: 30px solid transparent;
   border-right: 30px solid transparent;
   border-top: 40px solid rgba(255,255,255,.15);
   bottom: -40px;
   content: "";
   height: 0px;
   left: 50%;
   margin-left: -30px;
   position: absolute;
   width: 0px;
}

.flight-sprite > .label > div {
   font-size: 40px;
   line-height: 50px;
   white-space: nowrap;
}

.flight-sprite > .label > .fls-arrival-time {
   border-top: 1px solid rgba(255,255,255,.5);
   margin-top: 10px;
   padding-top: 10px;
}

.flight-sprite > .sprite {
   height: 206px;
   left: -375px;
   position: absolute;
   top: -103px;
   width: 750px;
}

[data-sprite-part] { 
   background-blend-mode: multiply;
   background-repeat: no-repeat;
   height: 100%;
   -webkit-mask-repeat: no-repeat;
   position: absolute;
   width: 100%;
}
[data-sprite-part="body"] {
   background-image: url("../images/plane_body.svg");
   z-index: 1;

   -webkit-mask-image: url('../images/plane_body.svg');
}
[data-sprite-part="cockpit"] {
   background-image: url("../images/plane_cockpit.svg");
   z-index: 6;

   -webkit-mask-image: url('../images/plane_cockpit.svg');
}
[data-sprite-part="engines"] {
   background-color: #C3C3C3;
   background-image: url("../images/plane_engines.svg"); 
   z-index: 2;

   -webkit-mask-image: url('../images/plane_engines.svg');
}
[data-sprite-part="tail-left"] {
   background-color: #EAEAEA;
   background-image: url("../images/plane_tails_left.svg");
   z-index: 3; 

   -webkit-mask-image: url('../images/plane_tails_left.svg');
}
[data-sprite-part="wing-left"] { 
   background-color: #EAEAEA;
   background-image: url("../images/plane_wings_left.svg"); 
   z-index: 4; 

   -webkit-mask-image: url('../images/plane_wings_left.svg');
}
[data-sprite-part="wing-right"] {  
   background-color: #EAEAEA; 
   background-image: url("../images/plane_wings_right.svg");
   z-index: 0;

   -webkit-mask-image: url('../images/plane_wings_right.svg');
}
[data-sprite-part="tail"] {
   background-position-x: 27px;
   background-size: 115px;
   z-index: 5;
}

/*
 * Casper Logo
 */
.casper-logo {
   opacity: .75;
   position: absolute;
}

/*
 * SVG
 */
[data-href='fids-lgw'][data-src='lgwlogo'] {
   display: block;
   margin: 0 auto;
}
[data-href='fids-lgw'][data-src='lgwlogo'] #your > *,
[data-href='fids-lgw'][data-src='lgwlogo'] #london > *,
[data-href='fids-lgw'][data-src='lgwlogo'] #airport > * {
   fill: #FFFFFF;
}

[data-href='fids-lgw'][data-src='lgwlogo'] #gatwick {
   fill: #009998;
}

[data-href='fids-lgw'][data-src='casperlogo'] #casperlogo > g > * {
   fill: #FFFFFF;
}

[data-href='fids-lgw'][data-src='lgwlogo'],
[data-href='fids-lgw'][data-src='casperlogo'],
[data-href="fids-lgw-approach"][data-src="lines"] {
   height: 100%;
   width: 100%;
}

[data-href="fids-lgw-approach"][data-src="lines"] > g > path {
   stroke: #FFFFFF;
}

[data-href="fids-lgw-approach"][data-src="lines"] #flightpath { opacity: 0.5; }
[data-href="fids-lgw-approach"][data-src="lines"] #line1 { opacity: 0.2; }
[data-href="fids-lgw-approach"][data-src="lines"] #line2 { opacity: 0.1; }
[data-href="fids-lgw-approach"][data-src="lines"] #line3 { opacity: 0.1; }
[data-href="fids-lgw-approach"][data-src="lines"] #line4 { opacity: 0.25; }
[data-href="fids-lgw-approach"][data-src="lines"] #line5 { opacity: 0.07; }
[data-href="fids-lgw-approach"][data-src="lines"] #line6 { opacity: 0.15; }
[data-href="fids-lgw-approach"][data-src="lines"] #line7 { opacity: 0.15; }
