/*
color palette
source: https://colors.muz.li/palette/454d66/309975/58b368/dad873/efeeb4
*/

:root {
    --primary: #309975;
    --secondary: #454d66;
    --secondary-shade-1 : #e1e3ea;
    --secondary-shade-2 : #a4abc1;
    --secondary-shade-3 : #677398;
    --secondary-shade-4 : #3e455b;

    --accent: #dad873;
    --background: #efeeb4;
    --success: #58b368;
}

body {
    font-family: "Arial", sans-serif;
    background-color: var(--background);
}

header,
footer {
    background-color: var(--secondary);
    color: white;
    padding: 15px;
}

.hero_h1 {
    color: var(--accent);
    font-size: 3rem;  
    font-weight: 900;
    text-shadow: -1px -1px 0 var(--secondary), 1px -1px 0 var(--secondary), -1px 1px 0 var(--secondary), 1px 1px 0 var(--secondary);
}

.hero_h2 {
    color: var(--accent);
    font-size: 2rem;  
    font-weight: 700;
    text-shadow: -1px -1px 0 var(--secondary), 1px -1px 0 var(--secondary), -1px 1px 0 var(--secondary), 1px 1px 0 var(--secondary);
}

#lbl_state_name{
  font-size: 2em;
  color : var(--background);
}

.feature-card,
.city-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.carousel-inner img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.aside-menu {
    background-color: var(--secondary);
    color: white;
    padding: 15px;
    border-radius: 8px;
}

.footer-links a {
    color: var(--accent);
    text-decoration: none;
}

.footer-links a:hover {
    text-decoration: underline;
}

li > a {
    color: white;
}

a:hover {
    color: var(--accent);
}

#state_gen_info {
    text-align: justify;    
}

.lobster-regular {
    font-family: "Lobster", serif;
    font-weight: 400;
    font-style: normal;
  }
  

#city-info-head > h1 {
    text-align: center;
}

#city-info-head > h5 {
    text-align: justify;
}

.city-info-head {
    margin-bottom: 10px;
}
.city-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
  }
  
  #city-info {
    flex: 0 0 25%; /* Adjusts to roughly 3/12 or 25% of the space */
  }
  
  #city-img {
    flex: 1; /* Takes up the remaining space */
  }
  
  .city-stat-card {
    margin-bottom: 5px;
  }

  #place_name {
    font-size : 1.2rem;
  }

  #photo_author {
    font-size: small;
  }

  #place_description {
    margin-top:10px;
  }

  /* For smaller screens */
  @media (max-width: 768px) {
    .city-row {
      flex-direction: column;
    }
    #city-info, #city-img {
      width: 100%;
    }
  }

#lbl_gen_info {
    text-align: center;
}

.glow-link {
    display: inline-block; 
    padding: 5px 10px; /* space around the text */
    text-decoration: none; /* no underlying */
    color: var(--success); /* text color*/
    transition: text-shadow 0.3s ease; /* smooth transaction */
}

.glow-link:hover {    
    text-shadow: 0 0 10px var(--success), 
                 0 0 20px var(--success), 
                 0 0 30px var(--success); /* bright by layers */
    color: var(--success);
}
  
#reference_list > li > a
{
  color : var(--secondary);
  font-size: small;
}

.form-container {
  align-items: center; /*Vertically center */
}

.form-group label {
  display: block; 
  margin-bottom: 0.5rem; 
}

.form-control {
  width: 100%; /* full width*/
}

form {
  text-align: left; 
}

/**
 Weather table styles
*/
.table-container {
  margin: 20px auto;
  max-width: 800px;
}
th, td {
  text-align: center; /* Center align table cells */
}
.btn-primary {
  margin: 10px 0;
}

.bg_404 {  
  background-image: url("../img/old_road.jpg");
  height: 100%; 
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0; /* remove default margin */
  min-height: 100vh; /* full viewport height */
}

#error_container {
  height: 90vh; 
  position: relative; 
  display: flex; /* for centering */
  justify-content: center; /* horizontal centering */
  align-items: center; /* vertical centering */
}

.center-content {
  text-align: center; 
  font-size: 5.5em;
  font-weight: bold; 
text-shadow: 2px 2px 0 #4074b5, 2px -2px 0 #4074b5, -2px 2px 0 #4074b5, -2px -2px 0 #4074b5, 2px 0px 0 #4074b5, 0px 2px 0 #4074b5, -2px 0px 0 #4074b5, 0px -2px 0 #4074b5;
color: #dad873;
}

.flag-container {
    position: relative;
    float: left; /* container float left with image */
    width: 256px; /* Matches the image width to contain both elements */
    margin-right: 10px; /* spacing from description */
}

#city-flag-img {
    float: left;
    width: 256px;
    margin-right: 10px;
    border-radius: 10px;
}

#city-flag-author {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: left;
    background-color: var(--secondary);
    padding-left: 10px;
    font-size: x-small;
    color: var( --secondary-shade-1);
}

#city-flag-author:hover {
    color: var(--success);
}

/* Optional: Ensure the description flows correctly */
#city_description {
    overflow: hidden; /* Prevents overlap with floated elements */
    text-align: justify;
}

#info-city-section {
    height: 350px;
}