html, body {
  margin: 0;
  padding: 0;
  font-family: 'Roboto', sans-serif;
}

#map {
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
}

#selectContainer {
  position: fixed;
  top: 0;
  left: 50%;               
  transform: translateX(-50%);
  z-index: 1000;
  width: 15%;
  padding: 11px 0;
}

@media (max-width: 768px) {
  #selectContainer {
    width: 60%;       
  }
}

#countrySelect {
  margin: 0 auto;
  display: block;
}

.modal-content {
  border-radius: 10px;
}

.modal-header {
  border-bottom: 2px solid #007bff;
}

#forecastList li {
  transition: background-color 0.3s;
}

#forecastList li:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.icon-sunny {
  color: #FFA500;
}

.icon-rainy {
  color: #007BFF;
}

.icon-cloudy {
  color: #A9A9A9;
}

.icon-stormy {
  color: #FF4500;
}

.icon-snowy {
  color: #00CED1;
}

.icon-cold {
  color: #00CED1;
}

.icon-mild {
  color: #A9A9A9;
}

.icon-warm {
  color: #FFA500;
}

.icon-hot {
  color: #FF4500;
}

.modal-header {
  background-color: #007bff; 
  color: white; 
  border-bottom: 2px solid #0056b3; 
}

.modal-title {
  font-weight: bold; 
  font-size: 1.5rem; 
}

.modal-body {
  color: #343a40;
  font-size: 1.1rem; 
  padding: 20px; 
}

.modal-footer {
  background-color: #e9ecef; 
  border-top: 2px solid #0056b3;
}

.modal-body a {
  color: #007bff;
  text-decoration: none; 
  font-weight: bold; 
}

.modal-body a:hover {
  text-decoration: underline; 
}

.modal-body .row .col {
  border-radius: 8px; 
  padding: 10px; 
  margin-bottom: 10px;
}

#countryInfoModal .modal-body {
  min-height: 450px;
}

#weatherInfoModal .modal-body {
  text-align: center;
  background-color: #f8f9fa;
  color: #343a40;
  font-size: 1.1rem;
  padding: 20px;
  min-height: 550px;
}

#newsModal .modal-body {
  min-height: 600px;
}

.weather-header h4 {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0;
}

.weather-header .lead {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 10px;
}
#weatherInfoModal .modal-body .row .col p {
  font-weight: bold; 
}
.weather-header h3 {
  font-size: 4rem;
  font-weight: 700;
  color: #f39c12; 
}

.weather-forecast h5 {
  font-size: 1.4rem;
  margin-bottom: 15px;
  color: #1e3a8a; 
}

#forecastList {
  display: flex;
  justify-content: space-around;
  margin-top: 20px;
  padding: 0;
  list-style-type: none;
}

#forecastList li {
  text-align: center;
}

#forecastList li img {
  width: 60px;
  height: 60px;
  margin-bottom: 5px;
}

#forecastList li .forecast-temperature {
  font-size: 1.4rem;
  font-weight: bold;
  color: #f39c12;
}

#weatherInfoModal #todayIcon {
  width: 140px; 
  height: 140px; 
}

#weatherInfoModal #day1Icon,
#weatherInfoModal #day2Icon {
    width: 100px !important;
    height: 100px !important;
}


#targetCurrency {
  appearance: none;    
  -webkit-appearance: none; 
  -moz-appearance: none;   
}

.select2-container--default .select2-dropdown {
  top: 100% !important;
  z-index: 9999; 
}

.news-image {
  width: 100px;  
  height: 100px;  
  object-fit: cover;
  border-radius: 8px;
  padding-right: 20px;
}

.news-title {
  text-decoration: none;
  color: #000000 !important;  
  font-size: 1.1rem;
  display: flex;
  align-items: center;
}

.news-title h5 {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.4;
}

#newsList {
  padding: 0;
  margin: 0;
}

#newsList li {
  display: flex;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #ccc;
}

#newsList li:hover {
  background-color: #f1f1f1;
}

.modal-body {
  max-height: 600px; 
  overflow-y: auto;
}

#targetCurrency{
  width: 300px;
}

.btn-secondary {
  background-color: #007bff;
  color: white;
  border-radius: 5px;
  padding: 10px 20px;
  font-size: 1rem;
}

.btn-secondary:hover {
  background-color: #0056b3;
  color: white;
}

button.close {
  background: transparent;     
  border: none;                 
  box-shadow: none;            
  outline: none;                
  color: inherit;               
  font-size: 1.8rem;            
  padding: 0;                   
  cursor: pointer;              
}

button.close:hover {
  color: #555;                  
}

#countryInfoContainer h5 { 
  font-size: 30px;
}  

#currentCity {
  font-size: 30px;
}

.ele-button {
  align-items: center; 
  justify-content: center; 
}

.easy-button-button {
  width: 40px;             
  height: 40px;             
  padding: 0;              
  display: flex;            
  justify-content: center;  
  align-items: center;      
  border-radius: 50%;      
  background-color: #fff;  
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.easy-button-button .fa {
  font-size: 1.5em;       
  line-height: 1;         
  width: 100%;              
  height: 100%;            
  display: flex;            
  align-items: center;      
  justify-content: center;  
}

.fadeOut {
  opacity: 0;
  transition: opacity 1s ease-out;
}

@media (max-width: 768px) {
  .easy-button-button {
      width: 35px;         
      height: 35px;         
  }
  .easy-button-button .fa {
      font-size: 1.2em;    
  }
}

@media (max-width: 767px) { 
    .leaflet-control-layers-toggle {
        width: 40px !important; 
        height: 40px !important;
        display: block; 
        background-image: url(images/layers.png) !important;
    }
}

#loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.spinner {
  border: 8px solid rgba(0, 0, 0, 0.1);
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}

.modal-content {
  position: relative;
  min-height: 300px; 
}

#pre-load {
  position: absolute; 
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center; 
  align-items: center; 
  z-index: 9999; 
  font-size: 2rem;
  color: #000;
  visibility: visible;
}

#weather-content {
  display: none;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#wikipedia a {
  position: relative;
  z-index: 10000;
}
