:root {
  --dark-green: rgb(24, 40, 33);
  --true-blue: #3066beff;
  --bright-pink: #f45b69;
  --ghost-white: #fffaffff;
  --oxford-blue: #04052E;
  --title-font-family: "arbotek", sans-serif;
  --body-font-family: "orbital", Arial, Helvetica, sans-serif;
}



body {

  background-color: var(--dark-green);
  color: var(--ghost-white);
  font-family: "orbital", Arial, Helvetica, sans-serif;
  max-width: 800px;
  margin: auto !important;
  padding: 16px;

}

h2,
h3,
h4,
h5,
h6 {
  font-weight: 900;
  text-align: center;
}

h1 {
  font-family: "quokka-glitch-left", sans-serif;
  font-weight: 700;
  letter-spacing: 4pt;
  color: var(--bright-pink);
  font-size: 5em;
  border-bottom: #04052E;
  margin: 0px;
  padding: 0px;
  text-align: center;
  text-shadow: 2px 2px 0 #96383f,
    /* Right and Bottom shadow */
    -0px -0px 0 #27272f;
  /* Left and Top shadow to create depth */
}

h5 {
  font-style: italic;
  opacity: 80%;
  font-size: 1em;
  color: var(--ghost-white)
}

/* button {
  background-color: var(--oxford-blue);
  color: black;
  

} */

#top-subtitle {
  font-style: italic;
  opacity: .8;
  margin-top: 0;
  font-size: 1em;
  margin-bottom: 32px;
}


.submission-suggestions {
  max-width: 500px;
  margin: auto;
  background-color: var(--true-blue);
  padding: 16px;
  margin-top: 16px;
  border-radius: 4px;
  transition: height .5s ease-out, opacity .5s ease-out;
  height: 200px;
  /* Ensure the height is auto initially */
  overflow: hidden;
  /* Hide content that overflows */

}



.suggestion-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  margin-bottom: 8px;
  ;

}

/* Base button styles */
button {
  background-color: var(--oxford-blue);
  color: var(--ghost-white);
  font-family: var(--body-font-family);
  /* Retro vibe */
  padding: 8px 16px;
  border: none;
  border-radius: 2px;
  border-right: 8px;
  /* Rounded corners */
  cursor: pointer;
  transition: all 0.1s ease;
  position: relative;
  /* border: var(--ghost-white);
    border-bottom: 4px solid;
    border-right: 4px solid; */
  /* Required for pseudo-elements */
}


button:hover::after,
button:focus::after {
  width: 100%;
  height: 100%;
}

button:hover,
button:focus {
  outline: none;
  color: var(--dark-green);
  /* Optional text color change */
  background-color: var(--ghost-white);
  /* Optional background change */
}

/* Active state for when the button is clicked */
button:active {
  background-color: var(--true-blue);
  color: var(--ghost-white);
}



.suggestion {
  /*Suggestion buttons specifically*/
  flex: 1;
  /* Expand buttons to take equal space */
  margin: 0;
  /* Ensure no extra margins are added */
  padding: 16px 24px;
  background-color: var(--oxford-blue);
  border: none;
  /* Rounded corners */
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
}

img {
  width: 100%;
}

#name-input {
  width: 100%;
  padding: 16px;
  font-family: var(--body-font-family);
  margin-right: 8px;
}

.submission-button {
  padding: 0px;
}

.submission-section {
  max-width: 500px;
  margin: auto;
  margin-top: 32px;
  margin-bottom: 32px;
}

.submission-section .input-section {
  display: flex;
  height: 50px;
}


/* State when hiding */
.slide-up {
  height: 0;
  /* Collapse the height */
  opacity: 0;
  /* Fade out */
}

/*Main Elevation answer section*/

.main-result {
  background-color: var(--oxford-blue);
  margin: 16px;
  border-radius: 4px;
  padding: 16px;
  transition: opacity 1s ease-in-out;
  /* Transition for fading in */

}

.elevation-main-result {
  color: var(--true-blue);
  font-style: italic;
  font-size: 3em;

}

.elevation-celeb-name {
  font-weight: 900;
  color: var(--ghost-white);
  font-style: normal;
}

.net-elevation-number {
  color: var(--ghost-white);
  border-bottom: 10px black;
  font-style: normal;
}

/*


Here are the specific stats on the side


*/

.details {
  display: grid;
  grid-template-columns: 200px 1fr 1fr;
  /* 3 columns: image (200px), birth/death stats (auto), calculated stats (auto) */
  grid-template-rows: auto;
  /* Let rows adjust based on content */
  grid-gap: 16px;
  /* Gap between columns and rows */
  padding: 16px;
  max-width: 6000px;
  margin: 16px auto;
  /* Center the container */
  background-color: var(--oxford-blue);
  /* Optional background */
  border-radius: 8px;
  color: var(--ghost-white);
  /* Text color */
}

.result-name {
  grid-column: 1 / -1;
  /* Span the name across all columns */
  text-align: center;
  font-size: 1.5em;
  margin-bottom: 16px;
}

.image-container img {
  width: 100%;
  /* Ensure the image fits the container */
  max-width: 200px;
  /* Image stays at 200px width */
  border-radius: 8px;
  border: var(--ghost-white);
  border-bottom: 4px solid;
  border-right: 4px solid;
  /* Rounded corners for the image */
}

.base.stats {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 8px;
}

.stats-text {
  grid-column: 2 / -1;
  font-size: 1.2em;
  padding-left: 16px;
}

.stats-text p {
  padding-bottom: 16px;
}

.birth,
.death {
  margin-bottom: 8px;
}


.special-info {
  color: var(--bright-pink)
}

.right-align-paragraph {
  text-align: right;
}


.map-container {
  margin: 32px;
}

#key-map {
  height: 400px;
  border-radius: 16px;
  border-right: 8px solid var(--bright-pink);
  border-bottom: 8px solid var(--bright-pink);
}

.map-pre-load {
  display: none;
  ;
}


/*




ERRORS STUFF




*/


.error-message {
  max-width: 500px;
  margin: auto;
  background-color: var(--bright-pink);
  padding: 16px;
  border-radius: 4px;
  transition: opacity 0.5s ease-in-out;
  /* Transition effect */

}

.error-message h6 {
  margin-top: 8px;
  font-style: italic;

}

.error-message h3 {
  margin: 0;
  font-size: 2em;
  text-shadow: 1px 1px 0 var(--oxford-blue),
    /* Right and Bottom shadow */
    -0px -0px 0 #04052E;
}

p.error-text {
  text-align: center;
}

.emoji-credit {
  font-style: italic;
  margin-top: 4px;
  /* padding-left: 4px; */
  text-align: right;
}

a {
  color: var(--bright-pink)
}


.popup-content {

  font-family: var(--body-font-family);
}

.popup-content h4 {
  font-size: 1.3em;
  ;
  margin: 0px;
}

.popup-content p {
  margin: 0px;
}

.leaflet-popup-tip {
  border-radius: 10px;
}

@media (max-width: 768px) {

  /* minor adjustments on titles*/

  h1 {
    font-size: 2.5em;
  }

  .elevation-main-result {
    font-size: 1.5em;
    ;
  }



  .details {
    display: block;
    grid-template-columns: 1fr;
    /* Stack the grid items vertically */
    /* Center the text */
  }

  .image-container {
    text-align: center;
    margin: auto;
    margin-bottom: 16px;
    max-width: 200px;
    ;
    /* Space between image and text */
  }

  .result-name {
    grid-column: 1;
    /* Span the name across all columns */
    text-align: center;
    font-size: 1.5em;
    margin-bottom: 16px;
  }

  .right-align-paragraph {
    text-align: right;
  }
}

/*Let's handle the font size*/

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
select:focus,
textarea {
  font-size: 16px;
}



#name-input {
  font-size: 16px;
}


.comparison-section {
  margin: auto;
  font-family: var(--body-font-family);
  display: flex;
  justify-content: center;
    flex-direction: column;
      /* Stack children vertically */

  margin-top: 16px;
  align-items: center;

  width: 100%;

    padding: 16px 16px;
      border: none;
      border-radius: 8px;
      border: 8px;
  /* Enables horizontal scrolling */
  white-space: nowrap;

  background-color: var(--oxford-blue);
  /* Prevents line breaks */
}

#comp-graph{
  display: flex;
    margin: auto;
    text-align: center;
}
/* 
#comp-graph svg {
  margin: auto;
  font-family: var(--body-font-family);
} */


text {
  font-family: var(--body-font-family);
}


/* .bar {
  fill: var(--ghost-white);
  background-image: url("https://upload.wikimedia.org/wikipedia/commons/e/e3/Kheops-Pyramid.jpg"); */

/* } */

.name-label,
.value-label {
  font-family: var(--body-font-family);
  color: var(--ghost-white);
}



.comparison-section {
  /* margin: auto; */
  font-family: var(--body-font-family);
  display: flex;

  margin-top: 16px;
  flex-direction: column;
  /* Stack children vertically */
  align-items: center;
  /* Center items horizontally */
  /* width: 100%;
  padding: 16px; */
  border-radius: 8px;
  padding:0;
  padding-top: 8px;
  padding-bottom: 16px;;
  background-color: var(--oxford-blue);
}

#comp-graph {
  display: flex;
  justify-content: center;
  /* Center the graph horizontally */
  margin: auto;
  text-align: center;
}

.image-row {
  display: flex;
  /* Keep this as flex to arrange images in a row */
  justify-content: center;
  /* Center images in the row */
  width: 350px;;
  /* Make the row full width */
  max-width: 450px;
  /* Set max width to match the graph */
  /* margin-top: 10px; */
  /* Space above the images */
}

.comparison-image {
  width: calc(33.33% - 10px);
  /* Width for each image */
  height: 150px;
  /* Set a fixed height for uniformity */
  background-size: cover;
  /* Cover the entire div with the background image */
  background-position: center;
  /* Center the background image */
  margin: 8px;
  /* Horizontal spacing between images */
  border-radius: 8px;
  /* Optional: Add rounded corners */
}


.error-title{
  color:var(--oxford-blue);
}


.footer {
  display: flex;
  justify-content: space-between;
  margin: 1rem auto 0;
  padding: 1rem 0 0.75rem 0;
  width: 100%;
  flex-wrap: wrap;
  /* border-top: 4px solid #fff; */
}

.footer a {
  transition: 200ms;
}

.footer a:not(.btn--remix):link,
a:not(.btn--remix):visited {
  color: var(--ghost-white);

  font-style: italic;
  font-weight: bold;
  font-size: 1.2rem;
  /* color: #000; */
  text-decoration: none;
  border-style: none;
}

.footer a:hover {
  background: var(--bright-pink);
  color: var(--ghost-white);
}

.footer .links {
  padding: 0.5rem 1rem 1.5rem;
  white-space: nowrap;
}