html, body {
    height: 100%; /* Ensures the entire page fills the viewport */
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; /* Flexbox css : Aligns content vertically */
    font-family: 'Gill Sans', sans-serif;
  }

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

  calcite-loader {
    align-self: center;
    justify-self: center;
  }

  #header-title {
    font-weight: bold;
  }

  #info-content, #filter-content, #analysis-content, #album-content {
    padding: 10px;
  }

  calcite-slider {
    width: 200px;
    margin: auto;
    padding: 10px;
  }

  img {
    pointer-events: none; /* disable right click to prevent image saving */
  }

  /* Main container for all image groups */
  .image-groups-container {
    display: flex;
    flex-direction: column; /* Ensures groups are in a column (one per line) */
    gap: 20px; /* Space between groups */
  }
  
  .image-group {
    width: 100%; /* Each group will take full width */
  }

  .image-group h2 {
    margin-bottom: 15px;
    font-size: 15px;
    padding: 10px;
    color: #333;
  }
  
  .image-container {
    display: flex;
    flex-wrap: wrap;
    padding: 10px;
    gap: 10px; /* Adjusts the space between images */
  }
  
  .image-item {
    flex-basis: calc(29.5%); /* 3 images per row */
    text-align: center; /* Center the image label */
  }
  
  .image-item img {
    max-width: 100%;
    height: auto;
  }
  
  .image-item p {
    margin-top: 5px;
    font-size: 12px;
    color: #555;
  }

  /* Modification of ArcGIS SDK for Javascript popup size */
  .esri-view-width-xlarge .esri-popup__main-container,
  .esri-view-width-large .esri-popup__main-container,
  .esri-view-width-medium .esri-popup__main-container
  {
    max-height: 90vh !important; /* CSS Viewport units corresponding to 90% the height of the screen */
    width: 630px !important;
  }

  /* Style for all the image containers */
  .popupImages {
    text-align: center;
    display: inline-block;
    width: 600px;
    height: 380px;
    max-width: 100%;
    max-height: 100%;
  }

  .popupImages img {
    margin: 3px; /* Adds space around each image */
    object-fit: contain; /* Ensures the image fits inside the container, maintaining aspect ratio */
  }

  /* Base style for all image sections 
  .image-item {
    margin: 0.5rem;
    text-align: center;
  }
  */

  /* Style specifically for US states */
  .us-state-item {
    max-width: 95px;           
    max-height: 100px;           
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 7px;
  }

  /* Ensure the image fits without cropping */
  .us-state-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
  }
  
  /* Ensure links are always the same color */
  a:link {
    color: blue;       /* unvisited link */
  }
  a:visited {
    color: blue;       /* visited link (same color as unvisited) */
  }