
/**************************************************************/
/* LAPTOPS */
/**************************************************************/


/* Headings of each paragraph */
/*-----------------------------------*/

.title_main {
  text-align: center;
  margin: 30px 10px 30px 10px;
  color: #2b2b2b;
  font-size: 38px;
  font-family: Lato;
  font-weight: bold;
}

.sub_title {
  font-size: 25px;
  text-align: center;
  font-family: Lato;
  padding: 5px;
  padding-left: 10px;
  padding-right: 10px;
}

/* Map containers */
/*-----------------------------------*/

#container_map_plot {
  position: relative;
}

#container_map_settings {
  margin: 30px;
  text-align: center;
}

/* User selection */
/*--------------------*/

#container_compulsory_selection {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#container_optional_selection {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 10px;
}

.optional_selection {
  width: 250px;
  background-color: #bdcfe1;
  border-radius: 20px;
  margin: 5px;
  display: flex;
}

.optional_selection:hover {
  cursor: pointer;
  opacity: 0.8;
}

.optional_selection_container {
  font-size: 18px;
  margin: auto;
  padding: 5px;
  display: flex;
}

.optional_selection_image {
  width: 15px;
  margin: 0px;
  margin-right: 10px;
}

.optional_selection_text {
  margin: 0px;
}



.compulsory_selection_text {
  font-size: 11px;
  text-align: left;
  margin-top: 5px;
  margin-bottom: 0px;
}


.compulsory_selection {
  padding: 5px;
  margin: 0px;
  font-family: "Ubuntu";
  font-size: 17px;
}

.select_boxes {
   padding: 4px;
   background-color: white;
   border-radius: 6px;
   border: 1px solid #515151;
   cursor: pointer;
   width: 250px;
   height: 35px;
   font-size: 17px;
}

.airport_search {
  padding: 6px 10px;
  margin: 0px;
}

.container_form_select {
  display: grid;
  text-align: left;
  width: fit-content;
  margin: auto;
  margin-top: 5px;
}

.form_select_title {
  padding-left: 5px;
  font-size: 16px;
  font-family: Lato;
  margin: 0px;
  display: flex;
}

#select_forecast_time {
  background-color: transparent;
  cursor: default;
}

#add_waypoint {
  display: none;
}

#delete_route {
  display: none;
}

#forecast_generation {
  display: none;
}

#altitude_toggle_units {
  display: flex;
}

#altitude_toggle_units:hover {
  cursor: pointer;
}


#units_switch {
  width: 12px;
  margin-left: 12px;
}

#units_switch_text {
  margin-left: 3px;
}

/* Departure and arrival dorpdowns */
/*-----------------------------------*/


.suggested_fullName {
  font-size: 14px;
}

.dep_arr_input {
  position: relative;
}

.container_input_dep {
  display: inline-block;
  grid-area: departure; 
}
.container_input_arr {
  display: inline-block;
  grid-area: arrival; 
}


.autocomplete-items {
  position: absolute;
  border-bottom: none;
  border-top: none;
  z-index: 99;
  top: 100%;
  left: 0;
  right: -90%;
  text-align: left;
  margin: -5px 0px 0px 5px;
  width: 450px;
  box-shadow: 0px 0px 10px black;
}

.autocomplete-items div {
  padding: 10px;
  cursor: pointer;
  background-color: #fff; 
  border-bottom: 1px solid #d4d4d4; 
}
.autocomplete-items div:hover {
  background-color: #f0f0f5; 
}

.autocomplete-active {
  background-color: #f0f0f5 !important; 
  color: black; 
}



/* Loader */
/*-----------------------------------*/

.container_loader {
  width: 100%;
  text-align: center;
  margin-bottom: 5px;
}

.sub_container_loader {
  display: inline-flex;
}

.loader_text {
  font-size: 20px;
  margin-bottom: 0px;
  margin-right: 10px;
}

.loader {
  vertical-align: middle;
  margin: auto;
  width: 25px;
  height: 25px;
  animation: loader 2.5s infinite linear both;
  margin-left: 10px;
}

.loader_dot {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; 
  animation: loader_dot 2.0s infinite ease-in-out both; 
}

.loader_dot:before {
  content: '';
  display: block;
  width: 20%;
  height: 20%;
  background-color: #2b2b2b;
  border-radius: 100%;
  animation: loader_dot-before 1.5s infinite ease-in-out both; 
}

.loader_dot:nth-child(1) { animation-delay: -1.1s; }
.loader_dot:nth-child(2) { animation-delay: -1.0s; }
.loader_dot:nth-child(3) { animation-delay: -0.9s; }
.loader_dot:nth-child(4) { animation-delay: -0.8s; }
.loader_dot:nth-child(5) { animation-delay: -0.7s; }
.loader_dot:nth-child(6) { animation-delay: -0.6s; }
.loader_dot:nth-child(1):before { animation-delay: -1.1s; }
.loader_dot:nth-child(2):before { animation-delay: -1.0s; }
.loader_dot:nth-child(3):before { animation-delay: -0.9s; }
.loader_dot:nth-child(4):before { animation-delay: -0.8s; }
.loader_dot:nth-child(5):before { animation-delay: -0.7s; }
.loader_dot:nth-child(6):before { animation-delay: -0.6s; }

@keyframes loader {
  100% { transform: rotate(360deg); } 
}

@keyframes loader_dot {
  80%, 100% { transform: rotate(360deg); } 
}

@keyframes loader_dot-before {
  50% {
    transform: scale(0.4); 
  } 100%, 0% {
    transform: scale(1.0); 
  } 
}

#increase_resolution_container {
  position: relative;
}

#generate_forecasts_container {
  position: relative;
}


#increase_resolution_loader {
  display: none;
  position: absolute;
  left: -10px;
}

#generate_forecast_loader {
  display: none;
  position: absolute;
  left: -10px;
}


/* Map */
/*-----------------------------------*/

#interactive_map { 
  margin: auto;
  padding: 0px;
  height: 75vh;
  position: relative;
  z-index: 1;
}

.leaflet-tile-pane {
  opacity: 1;
}

.leaflet-overlay-pane {
  opacity: 0.8;
}

.leaflet-control-mouseposition {
  font-size: 13px;
}

.leaflet-popup-pane {
  font-size: 13px;
}


/* Legend */
/*-----------------------------------*/

#toggle_legend {
  text-align: center;
  background-color: rgb(250, 250, 250, 0.9);
  display: block;
  padding: 5px;
  border-radius: 5px;
  box-shadow: 0 0 10px 5px rgba(43, 43, 77, 0.3);
  width: 30px;
  height: 32px;
  margin: auto;
  margin-right: 5px;
  margin-bottom: 5px;
}

#toggle_legend:hover {
  cursor: pointer;
  background-color: rgb(240, 240, 240, 0.9);
}


#container_legend {
  position: absolute;
  bottom: 10px;
  right: 6px;
  z-index: 9999;
}

.text_legend {
  font-size: 13px;
  text-anchor: middle;
}

#container_sigmet_legend {
  padding: 10px;
  text-align: center;
  background-color: rgb(250, 250, 250, 0.9);
  display: block;
  padding: 5px;
  border-radius: 5px;
  box-shadow: 0 0 10px 5px rgba(43, 43, 77, 0.3);
  margin-bottom: 5px;
}

#container_turbulence_legend {
  background-color: rgb(250, 250, 250, 0.9);
  display: block;
  padding-top: 10px;
  border-radius: 5px;
  box-shadow: 0 0 10px 5px rgba(43, 43, 77, 0.3);
}

#text_turbulence_legend_title {
  margin-bottom: 5px;
}


#sigmet_legend_title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 13px;
  font-weight: bold;
  padding-bottom: 5px;
}

.sigmet_legend_element {
  display: flex;
  padding-bottom: 6px;
  padding-left: 5px;
}

.sigmet_legend_polygon {
  width: 20px;
  height: 20px;
}

.sigmet_legend_label {
  font-size: 13px;
  padding-left: 5px;
}


#info_sigmets {
  position: absolute;
  right: 35px;
  top: 2px;
  margin-left: 10px;
  padding-top: 0.5px;
  padding-left: 0.4px;
  display: inline-block;
  width: 13.5px;
  text-align: center;
  border-radius: 50%;
  background-color: #d7d7d7;
  font-weight: bold;
  font-family: sans-serif;
  font-size: 9px;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s ease;
}

#info_sigmets:hover {
  background-color: #999;
}

#sigmet_info_popup {
  display: none;
  position: absolute;
  bottom: 220px;
  right: 60px;
  background-color: white;
  color: #333;
  border: 1px solid #ccc;
  padding: 10px;
  max-width: 250px;
  font-size: 14px;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  z-index: 10000;
}


/* Plots */
/*-----------------------------------*/


.container_plots {
  display: none;
  width: max-content;
  margin: auto;
  margin-top: 35px;
  position: absolute;
  bottom: 0px;
  z-index: 9999;
}

.container_title_and_plot {
  display: flex;
}

.plot_title {
  padding: 3px;
  padding-right: 5px;
  padding-left: 5px;
  background-color: #bdcfe1;
  margin: auto;
  margin-top: 0px;
  box-shadow: 3px 0px 3px gray;
  border-radius: 0px 6px 6px 0px;
}

.plot_title:hover {
  cursor: pointer;
}

.icon_change_plot {
  width: 10px;
}

.interactive_plots {
  font-size: 20px;
  background-color: rgba(255,255,255,0.85);
  border-radius: 6px;
  margin-bottom: 10px;
  margin-left: 10px;
  box-shadow: 0 0 10px gray;
}



.turbulence_levels {
  font-size: 12px;
  text-anchor: middle;
  baseline-shift: -20%;
}

.axis_plots {
  font-size: 12px;
}

.plot_area {
  fill: #bdcfe1;
  opacity: 0.7;
}

.x_label {
  font-size: 12px;
}

.y_label {
  font-size: 14px;
}

/* Footnotes */
/*------------------------------------------*/
#container_article {
  width: 70%;
  min-width: 850px;
  margin: auto;
  margin-top: 30px;
  margin-bottom: 40px;
}

#container_notes {
  font-size: 18px;
  text-align: left;
}

.notes_title {
  margin: 10px;
  padding: 9px 0px;
  font-weight: bold;
}
.notes_paragraphs {
  margin: 10px;
  padding: 0px 0px;
}

#container_other_maps {
  margin: 10px;
  padding: 0px 0px;
}


.icon_open_window {
  width: 14px;
  margin-bottom: 2px;
}

/*------------------------------*/
/* SIGMETS */

.leaflet-tooltip-pane {
  z-index: 10010 !important;
}

.leaflet-popup-pane {
  z-index: 10020 !important;
}

.sigmet_popup {
  font-family: Ubuntu, sans-serif;
  font-size: 14px;
  color: #333;
}

.sigmet_popup p {
  margin-top: 0px;
  margin-bottom: 3px;
}

.sigmet_tooltip {
  font-family: Ubuntu, sans-serif;
  font-size: 14px;
  color: #333;
  background-color: white;
  border-radius: 10px;
  padding: 8px 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

.sigmet_tooltip p {
  margin-top: 0px;
  margin-bottom: 2px;
}

.sigmet_title {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 5px;
}

/* Override the built-in tooltip arrow */
.leaflet-tooltip.sigmet_tooltip:before {
  border-width: 12px 12px 0;   /* height, width, top */
  margin-left: -12px;          /* centers the arrow horizontally */
  top: 100%;                  /* position at the bottom of the tooltip box */
  border-top-color: white;    /* match your tooltip background */
}


/*-----------------------------------*/
/* Laptop re-sizing */
/*-----------------------------------*/

@media only screen and (max-width: 850px) {

  #container_map_settings {
    margin-right: 2.5vw;
    margin-left: 2.5vw;
  }

  .compulsory_selection {
    padding-top: 0px;
  }

  .select_boxes {
    width: 42vw;
  }

  .optional_selection {
    width: 40vw;
  }

  .autocomplete-items {
    width: 42vw;
  }

  #container_article {
    width: 95%;
    min-width: 0;
  }

  #info_sigmets {
    right: 12px;
  }

}

/**************************************************************/
/* PHONES */
/**************************************************************/

@media only screen and (max-device-width: 600px){

  #interactive_map { 
    height: 70vh;
  }

  .interactive_plots {
    margin-left: 5px;
    margin-bottom: 5px;
    border-radius: 6px 0px 6px 6px;
  }

  #container_map_settings {
    margin-right: 2.5vw;
    margin-left: 2.5vw;
  }

  .compulsory_selection {
    padding-top: 0px;
  }

  #container_article {
    width: 95%;
    min-width: 0;
  }

  .select_boxes {
    width: 42vw;
  }

  .optional_selection {
    width: 42vw;
  }

  .autocomplete-items {
    width: 42vw;
  }

  .text_legend {
    font-size: 13px;
  }
  
  #info_sigmets {
    right: 12px;
  }
  
}