/* A debug class, used to separate components graphically during development */
:root {
  /* Light mode (default) */
  --light-bg: #f9f9f9;
  --light-text: #ffffff;
  --primary-blue: #3d7cf1;
  --blue-100: #d9e6fe;
  --yellow-500: #FFC83D;
  --secondary-tiffiny: #13a4b1;
  --tiffiny-100: #d9f7f8;
  --color-surface: #f4f4f4;
  --color-border: #dddddd;
  --dark-100: #3d3d3d;
  --dark-70: #818181;
  --dark-30: #bdbdbd;
  --color-error: #e57a7a;
  --Hunt-Green: #54c099;
  --Green-100: #d9f7e6;
}

html, body {
  margin: 0;
  padding: 0;
   font-family: Urbanist;
}

/* * {
  outline: 1px solid red; 
  background-color: var(--light-bg);
} */



.fixedLayout {
  background-color: var(--light-bg);
  overflow: hidden;
  min-height: 100vh;
  font-family: Urbanist;
  padding: 0px 0px;
}

.lightBg {
  background-color: var(--light-bg);
  min-height: 100vh;
}


.debug {
  border-style: solid;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #ccc;
  border-top-color: #333;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
  margin: 20px auto;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

.global-continer {
  display: flex;
  flex-direction: column;
  background-color: var(--light-bg);
  min-height: 100vh;
  font-family: Urbanist;
  overflow: hidden;
}

.checkpoint-Container{
  /* position: fixed; */
  display: flex;
  flex-direction: column;
  background-color: var(--light-bg);
  /* min-height: 100vh; */
  font-family: Urbanist;
  overflow-y: hidden;
  /* padding: 0px 10px; */
}


.profilePageContainer {
  display: flex;
  flex-direction: column;
  background-color: var(--light-bg);
  min-height: 100vh;
  font-family: Urbanist;
  overflow: hidden;
  padding: 0px 10px;
}

.home_title {
  color: var(--dark-100);
  text-align: center;
  font-family: Urbanist;
  font-size: 23px;
  font-style: normal;
  /* font-weight: 700; */
  line-height: 120%; /* 38.4px */
}




.home-step {
  /* border: #5f1ec8 4px solid; */
  display: flex;
  align-items: center;
  padding: 20px 0px;
}
.global-h2_section_title {
  color: var(--dark-100);
  text-align: center;
  font-family: Urbanist;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%;
  margin-bottom: 16px;
}

.quest-complete-title{
  color: var(--primary-blue);
  text-align: center;
  font-family: Urbanist;
  font-size: 27px;
  /* font-style: normal; */
  font-weight: 700;
  line-height: 130%;
}


.home-section-title{
  color: var(--primary-blue);
  text-align: left;
  font-family: Urbanist;
  font-size: 27px;
  /* font-style: normal; */
  font-weight: 700;
  line-height: 130%;
  margin-bottom: 16px;
}



.home-stepSubtitle{
  color: var(--secondary-tiffiny);
  text-align: left;
  font-family: Urbanist;
  padding: 5px 0px;
  letter-spacing: 1px;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 26px */
}

.global-body_text {
  color: var(--dark-100);
  text-align: left;
  font-family: Urbanist;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 24px */
}

.global-main_calltoaction_btn {
  background-color: var(--dark-100);
  color: white;
  letter-spacing: 1px;
  font-size: 30px;
  font-weight: 500;
  padding: 8px 15px;
  /* margin: 8px; */
  cursor: pointer;
  display: inline-flex;
  /* justify-content: center; */
  /* align-items: center; */
  border-width: 1px;
  font-family: Urbanist;
  width: 100%;
  /* max-width: 200px; */
}

.popUp_btn {
  background-color: var(--dark-100);
  color: var(--light-text);
  letter-spacing: 1px;
  font-size: 18px;
  font-weight: 500;
  padding: 8px 15px;
  /* margin: 8px; */
  cursor: pointer;
  display: inline-flex;
  /* justify-content: center; */
  /* align-items: center; */
  border-width: 0px;
  font-family: Urbanist;
  margin-right: 10px;
  /* width: 100%; */
  /* max-width: 200px; */
}

.quest-complete-buttons{
  display: flex;
  flex-direction: column; /* Stack buttons vertically */
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0px 10px;
  width: 80%;
  box-sizing: border-box;
}
.homeView-cta-buttons {
  display: flex;
  flex-direction: column; /* Stack buttons vertically */
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 40px 10px;
  width: 60%;
  box-sizing: border-box;
}

/* Add media query for iOS devices */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  .homeView-cta-buttons {
    margin: 40px auto;
    width: 60%;
    max-width: 300px;
    padding: 0 10px;
  }
}

.quest-complete-checkmore-btn,
.home-main-btn{
  background-color: var(--primary-blue);
  color: white;
  letter-spacing: 1px;
  font-size: 23px;
  font-weight: 700;
  padding: 8px 15px;
  /* margin: 8px; */
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  /* align-items: center; */
  border: transparent 1px solid;
  border-width: 1px;
  font-family: Urbanist;
  width: 100%;
}

.inverse {
  background-color: white;
  border:var(--dark-100) 1px solid;
  color: var(--dark-100);
}

.global-ctabutton-vertical {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-content: flex-start;
  gap: 16px;
  margin-top: 24px;
  /* background-color: yellow; */
}

.ask-ai-answer {
  padding: 20px;
}
.game-introContainer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* background-color: rgb(248, 152, 19); */
}

.ask-ai-answer-label,
.game-title,
.global-gameTitle {
  color: var(--dark-70);
  font-size: 18px;
  font-weight: 500;
  line-height: 120%; 
  width: 100%; 
  /* background-color: rgb(154, 231, 13); */
}

.ask-ai-answer-text,
.game-introText {
  display: flex;
  justify-content: flex-start;
  font-size: 20px;
  font-weight: 500;
  line-height: 120%; /* 24px */
  text-wrap: normal;
  width: 100%;
}


.global-screen-content {
  padding: 60px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-items: center;
  max-width: 100vw;
width: 100%;
margin: 0;
overflow-x: hidden;
  font-family: Urbanist;
  /* background-color: blue; */
  position: relative;
  z-index: 2;
  overflow: hidden;
  box-sizing: border-box;
}

.questCompleted-title {
  color: var(--dark-100);
  text-align: left;
  font-family: Urbanist;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 26px */
}

.gameScreen-container {
  display: flex;
  flex-direction: column;
  padding: 60px 30px;
  align-items: center;
  justify-content: center;
  /* height: 100vh; */
  background-color: aqua;
  width: 100%;
}

.left-align {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* background-color: blue; */
}

.global-question_screen-question-text {
  font-weight: 700;
  text-align: left;
  color: var(--dark-100);
  font-size: 45px;
  font-style: normal;
  /* line-height: 130%; */
  font-family: Urbanist;
  word-wrap: break-word;
  white-space: normal;
}

.global-question_screen-question-text .global-question_screen-highlight {
  color: var(--primary-blue);
}

.global-bottom-illustration {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 35vh;
  z-index: 0;
  object-fit: cover;
  object-position: center top;
  /* border: #13a4b1 6px solid; */
}

.aboutUs-bottom-illustration {
  width: 100vw;
  height: 60vh;
  z-index: 0;
  object-fit: cover;
  object-position: top top;
}

.askAI-infoContent{
  justify-items: center;
  z-index: 1;
}




.home-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background-color: #ffffff;
  height: auto;
  overflow-y: auto;

  max-width: 480px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.homeView-hero_illustration {
  width: 100vw;
  min-height: 100vh;
  object-fit: cover;
  /* display: block; */
  /* margin-bottom: -300px;  */
  z-index: 0;
  position: fixed;
}

.homeView-welcome_section {
  background-color: white;
  border-top-left-radius: 250px;
  border-top-right-radius: 250px;
  padding: 40px 24px 24px 24px;
  margin-top: 60vh;
  text-align: center;
  width: 100%;
  justify-items: center;
  z-index: 4;
  box-sizing: border-box;
}

.homeView-welcome_section-intro{
  margin-top: 150px;
  /* border: #0051a2 3px solid; */
}

.homeView-welcome_section-intro_text {
  background-color: white;
  padding: 32px 24px;
  text-align: center;
  /* margin-top: 20px; */
}

.homeView-howtoplay {
  background-color: white;
  padding: 32px 24px 40px 24px;
  margin-top: 0;
  text-align: center;
  max-width: 480px;
  width: 100%;
  z-index: 1;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.homeView-howtoplay_img {
  display: block;
  margin: 0 auto 16px auto;
  max-width: 160px;
  height: auto;
}



/* Progress Header Styles */
.progress-header-container {
  padding: 0px 0px 8px 0px;
}

.progress-header-back-row {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}



.progress-bar {
  display: flex;
  justify-content: space-between;
}

.progress-segment {
  flex: 1;
  height: 9px;
  margin: 0 2px;
  background-color: #d3d3d3; /* light gray by default */
  border-radius: 2px;
  transition: background-color 0.3s ease;
}

.progress-segment.active {
  background-color: var(--dark-100); 
}

.progress-header-wrapper {
  position: relative;
}

.progress-popup-warning {
  position: absolute;
  top: 64px;
  left: 16px;
  right: 16px;
  background-color: var(--primary-blue);
  color: white;
  border-radius: 12px;
  padding: 16px;
  font-family: Urbanist;
  font-size: 14px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  z-index: 10;
}

.popup-warning-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.popup-warning-title {
  font-size: 23px;
  font-weight: 600;
  margin: 0;
}

.popup-warning-text {
  font-size: 18px;
  font-weight: 300;
  margin: 10;
}

.popup-close-button {
  background: none;
  border: none;
  color: white;
  font-size: 20px;
  font-weight: bold;
  cursor: pointer;
  line-height: 1;
}

.back-button {
  position: absolute;
  top: 650px;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #a9a9a9;
  font-size: 10px;
  margin-bottom: 10px;
  color: #a9a9a9;
}





/* === Timeline Container (Keen Slider) === */

.speechbubble-content,
.timeline-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80%;
  margin: 40px auto;
  box-sizing: border-box;
  padding: 0 10px;
  z-index: 5;
  
}

.timeline-h2{
  color: var(--secondary-tiffiny);
  font-weight: 600;
}



.timeline-layout {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.timeline-scramble-wrapper{
  position: relative;
  z-index: 2;
  padding-bottom: 100px;
}


/* === Individual Timeline Item === */
.timeline-item {
  font-size: 24px;
  width: 60px;
  height: 60px;
  background-color: white;
  color: #3D3D3D;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.3s;
}

.timeline-item.active {
  background-color: #3D3D3D;
  color: white;
  transform: scale(1.2);
}
timeline-header{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 330px;
  /* border: #391cb0 5px solid; */
}

.timelinescramble-gameInfo {
  display: flex;
  flex-direction: column;
  max-width: 100%;
  width: 100%;
  /* margin: 30px 0px; */
  /* align-items: flex-start; */
  /* justify-content: center; */
  gap: 10px;
  margin: 15px 0px;
  /* height: 100vh; */
  /* background-color: aqua; */
}



.timelinescramble-checkmore{
  display: flex;
  flex-direction: column;
  margin: 10px 0px;
  width: 60vw;
  align-items: center;
  justify-content: center;
  align-self: center;
  gap: 14px;
  z-index: 5;
}

.timelinescramble-text {
  color: #212121;
  font-family: Urbanist;
  font-size: 24px;
  font-weight: 700;
  line-height: 80%;
}

.sortable-item {
  width: 95%;
  padding: 8px 10px;
  /* margin: 1px 0; */
  border-radius: 3px;
  background: #f9f9f9;
  cursor: grab;
  display: flex;
  align-items: center;
  border: 1px solid #ccc;
  transition: transform 200ms ease;
}

.sortable-item.correct {
  background: var(--Hunt-Green);
}

.sortable-item.incorrect {
  background: var(--color-error);
}

.sortable-item-icon {
  margin-right: 8px;
  color: #999;
}


.start-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  /* background-color: aqua; */
}

.start-email-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 80vh;
  /* background-color: aqua; */
}

.container {
  /* min-height: 100vh; */
  padding: 52px 40px 52px 40px;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  background-color: var(--light-bg);
  /* font-family: urbanist; */
   text-align: center;
   /* border: #13a4b1 4px solid; */
   justify-content: center;
   justify-items: center;
   justify-self: center;
   max-width: 500px;
  
}

.centerView{
display: flex;
  flex-direction: column;
  justify-content: center;
   justify-items: center;
   justify-self: center;

}

.header {
  color: #212121;
  font-family: Urbanist;
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 120%;
}

.getstarted {
  color: #212121;
  font-family: Urbanist;
   text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 130%;
}

.logininput,
.signupinput {
  display: flex;
  flex-direction: column;
  gap: 27px;
  margin-top: 24px;
   text-align: center;
   justify-content: center;
   justify-items: center;
   justify-self: center;
   /* max-width: 500px; */
   border-bottom: 1px solid var(--dark-70);
}

.nameinput,
.emailinput,
.passwordinput {
  
  width: 100%;
  max-width: px;
  height: 40px;
  padding-left: 36px;
  border: none;
  /* border-bottom: 1px solid #757575; */
  outline: none;
  background-size: 16px 16px;
  font-family: Urbanist;
  font-size: 16px;
  font-weight: 400;
  line-height: 150%;
  color: #757575;
}

.nameinput {
  background: url("/assets/text_fields-c8d41424.svg") no-repeat left 8px center;
}

.emailinput {
  background: url("/assets/mail-2a1743b1.svg") no-repeat left 8px center;
}

.passwordinput {
  background: url("/assets/lock-527fe565.svg") no-repeat left 8px center;
}

.register {
  font-family: Urbanist;
  font-size: 16px;
  line-height: 150%;
  color: #212121;
  margin-top: 16px;
}

.signup-login-button {
  margin-top: 24px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 160px;
  height: 42px;
  border-radius: 100px;
  background: var(--primary-blue);
  border: none;
  font-family: Urbanist;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

.aboutus-picture{
  width: 100px;
  height: 100px;
  object-fit: cover;

}

.aboutus-ournames {
  align-self: stretch;
  color: var(--dark-100);

  /* H2 */
  font-family: Urbanist;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 31.2px */
}

.aboutus-sentences {
  /* align-self: stretch; */
  color: var(--dark-70);

  /* Body Text */
  font-family: Urbanist;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 24px */
}
.aboutme-button {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: Urbanist;
  font-size: 20px;
  font-weight: 500;
  color: var(--secondary-tiffiny);
  text-align: center;
  margin-top: 10px;
  cursor: pointer;
}

.aboutus-container{
  justify-content: center;
  width: 100vw;
  background-color: var(--light-bg);

}
.aboutus-content{
padding: 10px;
justify-content: center;
}

.aboutus-info {
  /* border: #28a745 4px solid; */
  padding: 10px 10px 10px 10px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  justify-items: center;
  align-content: center;
  justify-self: center;
  margin:10px 20px;
  border-radius: 20px;
}

.aboutus-authors{
  /* border: #28a745 4px solid; */
  justify-items: center;
}

.aboutus-bioInfo{
  padding: 10px 10px;
}
.back-button {
  margin-top: 16px;
  align-self: center;

  font-family: Urbanist;
  font-size: 16px;
  font-weight: 500;
  line-height: 140%;
  color: var(--primary-blue);
  background: none;
  border: none;
  cursor: pointer;
}
.signup-login-reset {
  margin-top: 15px;
  align-self: center;
  font-family: Urbanist;
  font-size: 16px;
  font-weight: 500;
  line-height: 140%;
  color: var(--primary-blue);
  background: none;
  border: none;
  cursor: pointer;
}

@media (max-width: 480px) {
  .header {
    font-size: 24px;
  }

  .getstarted {
    font-size: 18px;
  }

  .infobutton {
    width: 100%;
    max-width: 200px;
  }
}


.dashboard-bottom-nav-icon.active {
  color: #0051a2; /* Primary / Stockholm Blue */
}

/* profile style */
.profile-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 8px;
  font-family: Urbanist, sans-serif;
  position: relative;
  overflow-y: auto;
  box-sizing: border-box;
}

/* Header styles */
.profile-header-container {
  padding: 16px 0px 8px 0px;
}

.profile-header-back-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
}

.profile-back-button {
  background: none;
  font-size: 18px;
  cursor: pointer;
  color: var(--light-text);
  padding: 0px;
}

.progress-back-button {
  background: none;
  border: none;
  height: 40px;
  font-size: 14px;
  cursor: pointer;
  color: #333;
  padding: 0px;
}

.profile-headlogo {
  font-weight: 700; /* Bold */
  font-size: 18px;
  top: 0;
  right: 0;
  padding-right: 4px;
  z-index: 100;
  cursor: pointer;
}

/* User section styles */
.profile-user-section {
  display: flex;
  flex-direction: column;
}

.profile-user-info {
  /* margin-bottom: 15px; */
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 8px;
}

.profile-user-details{
  
  align-items: center;
  justify-content: center;
  /* padding: 16px; */
  /* border-radius: 16px; */
}

.profile-username {
  color: var(--dark-100);
  font-weight: 700;
  font-size: 23px;
  line-height: 120%;
  text-align: left !important;
}

.profile-user-level {
  color: var(--dark-100);
  margin-bottom: 5px;
  text-align: left !important;
}

.profile-user-id {
  color: var(--dark-100);
  opacity: 0.7;
  text-align: left !important;
}

.profile-user-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.profile-logout-btn {
  background: white;
  border: 1px solid var(--primary-blue);
  color: var(--primary-blue);
  cursor: pointer;
  font-size: 14px;
  font-family: Urbanist;
  padding: 6px 12px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

/* Progress and avatar styles */
.profile-progress-container {
  
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 16px;
}

.profile-avatar-container {
  
  position: relative;
  width: 180px;
  height: 180px;
  margin: 10px auto;
}

.profile-avatar-wrapper {
  position: relative;
  
  width: 100%;
  height: 100%;
}

.profile-avatar {
  position: absolute;
  top: 15px;
  left: 15px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  z-index: 2;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.profile-avatar-placeholder {
  width: 100%;
  height: 100%;
 
  background-size: cover;
  background-position: center;
}
.profile-avatar-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 50px;
  font-weight: bold;
  color: var(--primary-blue);
  z-index: 2;
}

.profile-avatar-progress {
  position: absolute;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: conic-gradient(
      var(--primary-blue) calc(var(--progress-percentage) * 3.6deg),
      transparent calc(var(--progress-percentage) * 3.6deg) 360deg
    ),
    radial-gradient(circle, transparent 70%, var(--color-border) 70%);
  background-blend-mode: normal;
  transition: background 0.3s ease;
  z-index: 1;
}

/* Stats section */
.profile-stats-container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 24px;
  padding: 16px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  
}

.profile-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
  flex: 1;
}

.profile-stat-center {
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  padding: 0 15px;
  margin-top: 8px;
}

.profile-stat-icon {
  width: 40px;
  height: 60%;
  margin-bottom: 5px;
}

.mapOverview_icon {
  width: 15%;
  height:auto;
  margin-bottom: 5px;
  margin: 10px 10px;
}


.profile-stat-info{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

.profile-stat-value {
  font-weight: 700;
  color: var(--primary-blue);
  font-size: 19px;
  text-align: center !important;
}

.profile-stat-max {
  
  color: var(--dark-100);
  font-size: 13px;
  opacity: 0.6;
}

.profile-stat-label {
  color: var(--dark-70);
  font-size: 15px;
  font-weight: 400;
  text-align: center !important;
}

.profile-progress-max {
  color: var(--dark-100);
  opacity: 0.7;
}

.checkpoint-section{
  /* flex-grow: 1; */
  overflow-y: hidden;
  /* margin-bottom: 80px; */
  /* border:#13a4b1 4px solid; */
  justify-items: center;
}

.profile-checkpoint-section {
  flex-grow: 1;
  overflow-y: auto;
  margin-bottom: 80px;
  /* justify-items: center; */
}

.checkpoint-list,
.profile-checkpoint-list {
  flex-grow: 1;
  overflow-y: auto;
  margin-bottom: 80px;
  justify-items: center;
}

.profile-checkpoint-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* margin-bottom: 16px; */
  padding: 0px 5px;
  text-align: center;
}

.profile-checkpoint-title {
  text-align: left !important;
  margin: 0;
}

.profile-history-button {
  color: var(--dark-100);
  opacity: 0.6;
  cursor: pointer;
  text-align: right !important;
}

.profile-checkpoint-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.profile-checkpoint-item {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.profile-checkpoint-image {
  width: 60px;
  height: 60px;
  background-size: cover;
  /* border-radius: 16px; */
}

.profile-checkpoint-info {
  flex-grow: 1;
  justify-content: space-between;
  height: 100%;
}

.profile-checkpoint-name {
  font-weight: 500;
  margin-bottom: 10px;
  text-align: left !important;
}

.profile-checkpoint-progress-container {
  width: 100%;
  height: 8px;
  background-color: var(--color-surface);
  border-radius: 4px;
  overflow: hidden;
}

.profile-checkpoint-progress {
  height: 100%;
  background-color: var(--secondary-tiffiny);
  border-radius: 4px;
}

.profile-checkpoint-percent {
  font-weight: 600;
  /* min-width: 50px; */
  text-align: right;
  font-size: 20px;
  color: var(--secondary-tiffiny);
}

/* Override for the logout button to use global styling */
.profile-logout-button {
  margin-top: 20px;
  cursor: pointer;
  align-self: center;
}

.mapOverview-container {
  font-family: "Urbanist", sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 0px 0px;
  margin: 0px 0px;
  overflow: hidden;
}

.mapOverview-headerContainer {
  margin-bottom: 10px; /* MD spacing */
}

.checkpoint-profile {
  /* display: flex; */
  align-items: center;
}

.mapOverview-profile {
  display: flex;
  justify-content: flex-start; /* Aligns the profile icon to the right */
  align-items: center; /* Centers the icon vertically */
}

.mapOverview-profile-text {
  font-family: "Urbanist", sans-serif;
  font-weight: 500; /* Medium */
  font-size: 20px;
  line-height: 120%;
  color: #212121; /* Text Primary / Graphite */
  margin-left: 8px; /* Space between text and icon */
}

.mapOverview-progressIconWrapper {
  position: absolute;
  top: 36px;   /* or try 12px, 32px, etc. */
  right: 24px;
  z-index: 5;
}

.mapOverview-progressIcon {
  width: 48px;
  height: 48px;
  cursor: pointer;
}


.mapOverview-profile-icon img {
  width: 25px; /* adjust size as needed */
  height: 25px;
  border-radius: 50%; /* 💫 makes it a circle */
  object-fit: cover; /* ensures the image fills the circle properly */
  border: 2px solid rgb(38, 38, 38); /* optional: adds a clean border */
  cursor: pointer; /* optional: hand cursor on hover */
}

.global-headlogo {
  font-family: "Urbanist", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 22px;
  color: var(--dark-100);
  position: fixed;
  top: 10;
  right: 5;
  padding-right: 4px;
  z-index: 100;
  cursor: pointer;
}

.logoType {
  font-family: "Urbanist", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 43px;
  color: var(--dark-100);
  margin-top: 10;
}

.mapOverview-map {
  flex: 1;
  width: 100%;
  height: 100%;
  padding: 0px 0px;
  margin: 0px 0px;
}

.mapOverview-infoContainer {
  position: absolute;
  bottom: 55px; /* Adjust as needed */
  left: 20;
  right: 20;
  /* padding: 10px; */
  z-index: 10; /* Make sure it appears above the map */
  /* padding-bottom: 40px; */
  /* height: 150px; */
  padding: 0px 0px;

  /* background: rgba(101, 15, 15, 0.9);  */
}

.mapOverview-infoContent {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 150px;
  background: rgba(255, 255, 255, 0.9);
  padding: 0px 0px;
}

.locationInfo-leftInfo {
  width: 50%;
  height: 100%;
  
}


.locationInfo-discoverGp{
  display: flex;
  flex-direction: column;
  padding: 10px 10px 10px 10px;
  /* align-content: stretch; */
  height: 100%;
}
.locationInfo-TextGp {
  /* background-color: #004185; */
  display: flex;
  flex-direction: column;
  padding: 10px 10px 10px 10px;
  /* align-content: stretch; */
  height: 100%;
  /* justify-items:space-evenly; */
}

.locationInfo-id {
  font-family: "Urbanist", sans-serif;
  font-weight: 300;
  font-size: 12px;
  color: #757575; 
  align-content: flex-end;
}
.locationInfo-title {
  font-family: "Urbanist", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 16px;
  line-height: 100%;
  color: var(--dark-100); /* Text Primary / Graphite */
  margin-bottom: 8px; /* Space between title and text */
  padding: 0px;
  font-family: "Urbanist", sans-serif;
}

.locationInfo-title-noInfo{
  font-family: "Urbanist", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 16px;
  line-height: 100%;
  color: var(--primary-blue); /* Text Primary / Graphite */
  margin-bottom: 8px; /* Space between title and text */
  padding: 0px;
  font-family: "Urbanist", sans-serif;
}
.mapOverview-progress-text{
  font-weight: 500; /* Medium */
  margin-top: 10px;
  font-size: 12px;
  color: var(--dark-70); /* Text Secondary / Grey Smoke */
}



.locationInfo-totalCountContiner{
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
}

.mapOverview-progress-totalCount{
  color: var(--dark-100); 
  font-size: 23px;
  font-weight: 700; /* Bold */
  margin-right: 5px;
}

.mapOverview-info{
  display: flex;
  flex-direction: row;
  width: 100%;
}
.locationInfo-progressInfo{
  margin-top: 5px;
  display: flex;
  flex-direction: column;
}

.locationInfo-progressBarContainer {
  gap: 10px;


}

.locationInfo-progressBar {
  margin: 2px 0px;
}

.mapOverview-rightImage {
  width: 50%;
  z-index: 2;
}

.locationInfo-description {
  line-clamp: 2;
  /* overflow: hidden; */
  text-overflow: ellipsis;
  line-height: 1.4em;
  max-height: 2.8em; /* 2 lines × line-height */
  font-family: "Urbanist", sans-serif;
  font-weight: 400; /* Regular */
  font-size: 14px;
  line-height: 150%;
  color: var(--dark-70); /* Text Secondary / Grey Smoke */
 
  margin-right: 10px;

}

.locationInfo-signal {
  line-clamp: 2;
  /* overflow: hidden; */
  text-overflow: ellipsis;
  line-height: 1.4em;
  max-height: 2.8em; /* 2 lines × line-height */
  font-family: "Urbanist", sans-serif;
  font-weight: 500; /* Regular */
  font-size: 10px;
  line-height: 150%;
  color: var(--primary-blue);/* Text Secondary / Grey Smoke */
 
  margin-right: 10px;

}

.locationInfo-goBtn {
  background-color: var(--yellow-500);
  width: 100%;
  color: white;
  padding: 8px 24px; /* Using standard padding */
  display: flex;
  align-items: center;
  text-align: center;
  border: none;
  cursor: pointer;
  font-family: "Urbanist", sans-serif;
  font-weight: 800; /* Medium */
  font-size: 20px;
  letter-spacing: 1px;
  margin-top: 50px;
  align-self: flex-end;

}

.mapOverview-rightImage img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
}






.mindsnap-feedback {
  color: var(--light-text);
  letter-spacing: 1px;
  text-wrap: normal;
  line-height: 150%;
  font-weight: 600;
  
}

.mindsnap-comments {
  position: absolute;
  top: 5;
  left:10;
  padding: 10px 20px;
  width: 80%;

  height: auto;
  background: var(--primary-blue);
  z-index: 1;
  text-wrap: normal;

}

.mindsnap-selections {
  list-style: none; /* Remove default bullets */
  margin-top: 1rem;
  padding-left: 35px;
}

.mindsnap-answer {
  width: 300px;              /* Fixed width instead of max-width */
  min-height: 48px;
  border: 1px solid #000;
  padding: 0.6em 1.2em;
  font-size: 1rem;
  margin-top: 21px;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--dark-100);
  font-family: Urbanist;
  font-size: 18px;
  font-weight: 300;
  line-height: 130%;
  word-break: break-word;   
}

.mindsnap-option-container{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.mindsnap-checkmore {
  /* width: 100vw; */
  display: flex;
  flex-direction: row;
  margin: 30px 0px;
  gap: 20px;

  

}

.checkmore-Container {
  /* width: 100vw; */
  display: flex;
  flex-direction: row;
  align-self: center;
  margin: 10px 0px;
  gap: 20px;
  z-index: 5;
}

.ask-ai-loading {
  margin-top: 1rem;
  text-align: center;
  color: #3d7cf1;
  font-weight: 500;
}

.spinner {
  margin: 0 auto 0.5rem;
  width: 32px;
  height: 32px;
  border: 4px solid #cbd5e1;
  border-top: 4px solid #3d7cf1;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}


.ask-ai-submit,
.checkmore-btn{
  display: flex;
  background-color: var(--dark-100);
  justify-content: center;
  align-items: center;      
  width: 100px;
  color: var(--light-text) ;
  padding: 5px 5px;
  letter-spacing: 1px;
  font-size: 23px;
  font-weight: 600;
  cursor: pointer;
  border: var(--dark-100) 2px solid;
  text-align: center; /* Align button text left */
}

.redo {
  background-color: var(--light-text);
  color: var(--dark-100) ;
  border: var(--dark-100) 2px solid;
}

.mindsnap-illustration {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 35vh;
  z-index: 0;
  object-fit: cover;
}


.modeSelection-quest {
  padding: 150px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center; /* Vertically center items */
  align-items: center; /* Horizontally center items */
  font-family: Urbanist;
  z-index: 4;
}

.modeSelection-gameSelect{
  padding: 70px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
 
  max-width: 360px;   
  margin: 0 auto;  
  z-index: 2;
  position: relative;
}

.modeSelection-gameType {
  width: 100%; 
  height: auto;
  margin: 15px 10px;
  display: flex;
  background-color: var(--light-bg);
  cursor: pointer;
  
}

.modeSelection-gameInfo {
  display: flex;               /* ✅ Needed for flex children */
  flex-direction: column; 
  flex: 1;
  justify-content: flex-start; /* Vertically center items */
  align-items: flex-start; /* Horizontally center items */
  margin-left: 15px;
  /* background-color: #28a745; */
  min-width: 0;   
}

.modeSelection-description{
  color: var(--dark-70);
  font-size: 16px;
  font-weight: 200;
  line-height: 120%; /* 19.2px */
  word-wrap: break-word;      
  overflow-wrap: break-word; 
  white-space: normal;  
  /* background-color: #3d7cf1; */
  width: auto;
max-width: 100%;
}

.modeSelection-title {
  margin-bottom: 0px;
  flex-shrink: 0;
  color: #3d3d3d;
  text-align: center;
  font-family: Urbanist;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 38.4px */
}






.global-description{
  color: var(--dark-70);
  font-size: 16px;
  font-weight: 200;
  line-height: 120%; /* 19.2px */
  text-wrap: normal;
  
  
}



.played {
  color: var(--Hunt-Green);
  font-weight: 400;
}



.modeSelection-gameIcon{
  width: 60px;
  height: 60px;
  background-size: cover;
  background-position: center;
  border: var(--dark-100) 1px solid;
  border-radius: 50%;
}

.global-title {
  display: flex;
  justify-content: flex-start;
  font-size: 20px;
  font-weight: 500;
  line-height: 120%; /* 24px */
  text-wrap: normal;
  width: 100vw;
}



.gameIntro{
  /* display: flex; */
  /* flex-direction: column; */
  /* justify-content: center; */
  align-items: center;
  width: 100%;
  /* height: 100vh; */
  background-color: var(--dark-100);
}


.modeSelection-selectquest {
  color: #494949;
  font-family: Urbanist;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%; /* 19.2px */
}



.modeSelection-modeTitle {
  font-family: Urbanist;
  margin-top: 3px;
  padding: 0px;
  font-size: 32px;
  font-weight: 700;
  line-height: 120%; /* 38.4px */
  color: white;
  /* justify-self: center; */
  align-self: center;
}

.modeSelection-progresContainer{
overflow: hidden;
  /* position: absolute; */
  bottom: 0;
  left: 0;
}



.modeSelection-modeBtn {
  position: relative;
  width: 262px;
  height: 64px;
  background:var(--dark-100);
  line-height: 120%;
  border: none;
  margin: 20px;
  padding: 0 0;
  letter-spacing: 1.5px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  z-index: 5;
}



.globel-progressBar {
  width: 100%;
  height: 14px;
  background-color: var(--blue-100);
}

.spaceBG {
  background-color: var(--Green-100);
}

.timeBG {
  background-color: var(--blue-100);
}

.generalBG {
  background-color: var(--tiffiny-100);
}


.globel-progressFill{
  height: 100%;
  transition: width 0.3s ease;
}


.space {
  background-color: var(--Hunt-Green);
}

.general{
  background-color: var(--secondary-tiffiny);
}

.time {
  background-color: var(--primary-blue);
}

.timeT{
  color:  var(--primary-blue);
}

.spaceT{
  color: var(--Hunt-Green); ;
}


button.selected {
  background: var(--Hunt-Green, #54c099);
  transition: background-color 0.3s ease;
}




.timetravelinfo-illustration {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 35vh;
  z-index: -1;
  object-fit: cover;
}

.timetravelinfo-realimagetexts {
  width: 295px;
  color: #000;
  text-align: center;
  font-family: Urbanist;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%; /* 24px */
}

.timetravelinfo-realimage {
  width: 331px;
  height: 333px;
  flex-shrink: 0;
  aspect-ratio: 331/333;
  background: url('<path-to-image>') lightgray 50% / cover no-repeat;
}

.timetravelinfo-realimageblock {
  width: 331px;
  height: 480px;
  flex-shrink: 0;
  background: #fff;
  /* box-shadow: 0px 4px 14px -2px rgba(0, 0, 0, 0.25); */
}

.mirrorshot-task {
  width: 313px;
  height: 38px;
  flex-shrink: 0;
  color: #000;

  /* H3 */
  font-family: Urbanist;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 26px */
}

.mirrorshot-title {
  width: 165px;
  color: var(--Graphite, #3d3d3d);
  font-family: Urbanist;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%; /* 24px */
}




.mirrorshot-illustration {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 35vh;
  z-index: -1;
  object-fit: cover;
}



.speechbubble-layout,
.factFiction-layout,
.mirrorShot-layout {
  overflow: hidden;
  min-height: 100vh;
  /* font-family: Urbanist; */
  padding: 0px 0px;
  /* justify-content: center; */
  /* justify-items: center; */
  /* border: orange 2px solid; */
   position: relative;
  z-index: auto; /* or just remove if set */
 
}


.mirrorShot-content{
  padding: 60px 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-self: center;
  max-width: 100vw;
  width: 100%;
  margin: 0;
  overflow-x: hidden;
  font-family: Urbanist;
  /* background-color: blue; */
  position: relative;
  z-index: 2;
  overflow: hidden;
  box-sizing: border-box;
}

.mirrorshot-centered-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  /* border: #40df19 5px solid; */
  width: 100%;
}

.mirrorshot-comparisons {
  margin-top: 20px;
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin: 10px 10px;
}


.mirrorshot-captured {
  max-width: 40vw;
  height: 25vh;
  object-fit: cover; 
  justify-items: center;
}

.mirrorshot-refImage{
  display: block;
  max-width: 40vw;
  height: 25vh;
  object-fit: cover;
  /* border: #28a745 2px solid; */
}

.mirrorshot-captured-image {
  max-width: 40vw;
  height: 30vh;
  object-fit: cover;
}

.hidden {
  display: none !important;
}

.visible {
  display: block; /* or whatever it originally was */
}

.mirrorshot-nextbutton {
  color: #fff;
  text-align: center;

  /* H1 */
  font-family: Urbanist;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 120%; /* 38.4px */
  width: 106px;
  height: 49px;
  flex-shrink: 0;
  background: var(--Graphite, #3d3d3d);
  margin: 8px;
  display: none;
}





.mirrorshot-buttons-container{
  /* width: 72vw; */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--primary-blue);
  border-radius: 50%;
  /* gap: 20px; */
  margin: 10px auto;
  padding: 20px;
  border: 4px;
}
.checkPointInfo-page {
  scroll-behavior: smooth;
  overflow-x: hidden;
}
.checkPointInfo-hero {
  height: 100vh;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px;
  color: white;
}


.checkPointInfo-content {
  padding: 40px 20px;
  background: white;
}

.checkPointInfo-stockholm {
  font-size: 14px;
  color: #666;
  margin-bottom: 8px;
}

.checkPointInfo-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 16px;
}

.checkPointInfo-info {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 24px;
}

.checkPointInfo-vertical-scroll {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
/* === Time Travel Related Styling === */



.checkPointInfo-continueBtn,
.travelInfo-continueBtn {
  position: absolute;
  top: 10px;
  left: 0px;
  z-index: 3;
  background-color: var(--dark-100);
  padding: 8px 12px;
  font-weight: bold;
  cursor: pointer;
  color: #FFF;
  font-size: 20px;
  letter-spacing: 1px;
}

.travelInfo-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: var(--light-bg);
  height: 100dvh;
  /* min-height: 100%; */
  overflow-y: hidden;
  /* padding-bottom: 80px; */
}

.timetravel-title {
  font-size: 32px;
  font-family: Urbanist;
  font-weight: 600;
  margin-bottom: 12px;
  color: #3D3D3D;
}

.travelInfo-thumbnail{
   position: absolute;
  bottom: 0;
  /* left: 0; */
  width: 100%;
  /* margin-top: 20px; */
  z-index: 4;
  
}



.description-box {
  background: white;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 24px;
  max-width: 500px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.description-text {
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  text-align: center;
}


.zoom-out {
  perspective: 1000px;
  /* height: 65vh; */
}

.zoom-out__slide {
  position: absolute;
  width: 80%;
  height: 100%;
  
}



.modeIndication {
  font-size: 70px;
  font-weight: 900;
  letter-spacing: 1px;
  color: var(--primary-blue);
  opacity: 0.11;
  position: absolute;
  top: 70;
  left: 30;

}

.travelInfo-infoContainer {
  /* border: #2bb113 5px solid; */
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100vw;
  height: 100vh;
  margin-top: 10vh;
  flex: 1;
  overflow-y: hidden;
  z-index: 5;
 
}

.travelInfo-infoContainerCard {
/* border: #13a4b1 5px solid; */
padding-bottom: 50px;
padding: 10px 20px;
}

.travelInfo-locationTitle{
  /* border: #13a4b1 2px solid; */
  margin: 10px 10px 10px 10px;
  font-size: 20px;
  text-align: center;
  font-weight: 600;
  color: var(--dark-100);
}

.travelInfo-itemContainer{
  /* margin: 0px 0px 20px 0px; */
  /* border: #13a4b1 2px solid; */
  margin-bottom: 70px;
  width: 100%;
  height: 100%;
  z-index: 4;
  
}

.travelInfo-item{
  display: flex;
  flex-direction: column;
  /* margin: 0px 0px 20px 0px; */
  justify-self: center;
  width: 80%;
  background-color: var(--light-bg);
  height: auto;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));



  /* justify-content: center; */
  /* padding: 16px; */
  
  border-radius: 8px;
  /* margin-bottom: 16px; */
}

.travelInfo-img {
  width: 100%;
  height: 35vh;
  object-fit: cover;
  border-radius: 8px;
}

.full-image {
  max-width: 90%;
  max-height: 90%;
   border-radius: 8px;
}

.image-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  border-radius: 8px;
}





.travelInfo-info{
  position: relative;
  display: flex;
  flex-direction: column;
  /* background-color: aqua; */
  max-height: auto;
  height: auto;
  padding: 10px 10px;
}



.travelInfo-description{
  font-size: 16px;
  line-height: 1.5;
  color: #333;
  text-align:left;
}

.travelInfo-year{
  font-size: 18px;
  /* font-family: Urbanist; */
  font-weight: 600;
  color: var(--dark-70);
}

.travelInfo-title {
  font-size: 24px;
  /* font-family: Urbanist; */
  font-weight: 600;
  color: var(--primary-blue);
}

.travelInfo-yearbth{
  font-size: 18px;
  font-weight: 600;
  color: var(--primary-blue);
}

.selected{
  color: var(--light-text);
}

[class^="number-slide"],
[class*=" number-slide"] {
  background: var(--dark-30);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 5px;
  /* font-size: 30px; */
  /* font-weight: 500; */
  /* height: 100px; */
  /* max-height: 100px; */
  /* width: 100vw; */
}



.thumbnail .keen-slider__slide {
  /* font-size: 5px; */
  padding: 10px 4px;
  height: auto;
  border-radius: 10px;
  text-align: center;
  background: var(--blue-100);
  border: var(--primary-blue) 2px solid;

  
}
.thumbnail .keen-slider__slide {
  cursor: pointer;
}
.thumbnail .keen-slider__slide.active {
  background: var(--dark-100);
  color: #e50000;
  
}

.thumbnail .keen-slider__slide.active {
  background: var(--primary-blue);
  
}


.speechbubble-image {
  width: 100%;
  height: auto;
  object-fit: contain;
  max-width: 100%;
  max-height: 40vh; /* Maximum height for mobile view */
}

.speechbubble-image-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px 0;
  max-height: 45vh; /* Maximum container height */
}

/* BottomNavBar.css */
.bottom-nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: var(--light-bg);
  display: flex;
  justify-content: space-around;
  padding: 10px 0;
  border-top: 1px solid #ccc;
  z-index: 100;
}

.bottom-nav a {
  color: black;
  text-decoration: none;
  font-weight: bold;
}


/* Desktop styles */
@media (min-width: 768px) {
  .speechbubble-image {
    max-width: 500px; /* Maximum width for desktop */
    max-height: 40vh; /* Maximum height for desktop */
    width: auto; /* Auto width to maintain aspect ratio */
  }
  
  .speechbubble-image-container {
    max-width: 800px; /* Maximum container width */
    max-height: 55vh; /* Maximum container height for desktop */
    margin: 30px auto; /* Center alignment with increased vertical margin */
  }
}

.speechbubble-question {
  color: var(--dark-100);
  text-align: center;
  font-family: Urbanist;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  margin-bottom: 16px;
  background-color: var(--color-surface);
}

.ask-ai-input {
   width: 100%;
  min-height: 300px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-family: Urbanist;
  font-size: 16px;
  resize: vertical;
  margin: 20px;
}

.ask-ai-answer{
  justify-self: center;
}


.speechbubble-input {
  width: 100%;
  min-height: 120px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-family: Urbanist;
  font-size: 16px;
  resize: vertical;
}



.ask-ai-userInputValue,
.ask-ai-input,
.speechbubble-input,
.speechbubble-userInputValue {
  color: var(--secondary-tiffiny);
  font-size: 25px;
  font-weight: 600;
  line-height: 150%;
  white-space: pre-wrap;   /* ✅ preserves line breaks and wraps text */
  word-break: break-word;  /* ✅ breaks long words if needed */
  align-self: center;
}

.speechbubble-buttons {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  align-self: center;
  padding-bottom: 50px;
}

.speechbubble-comments,
.mirrorshot-comments {
  position: absolute;
  top: 300;
  left: 200;
  right: 0;
  /* width: 100%; */
  padding: 20px;
  background: rgba(8, 136, 241, 0.9);
  /* margin-left: 52px; */
  /* margin-top: 100px; */
  /* width: 465px; */
  /* height: 100px; */
  /* flex-shrink: 0; */
  z-index: 1;
}

.speechbubble-feedback,
.mirrorshot-feedback {
  color: white;
  font-weight: bold;
  text-align: left;
  font-family: Urbanist;
  font-size: 16px;
  line-height: 1.5;
}



.speechbubble-next {
  width: 150px;
  height: 20px;
  font-size: 20px;
  cursor: pointer;
  color: var(--color-surface);
  border: none;
  text-align: left;
  margin-left: 35px;
  margin-bottom: 7px;
  background-color: transparent;
  font-family: Urbanist;
}




.speechbubble-checkmore {
  position: fixed;
  bottom: 20px;
  left: 0;
  right: 0;
  width: 100%;
  display: flex;
  justify-content: center;
  gap: 20px;
  z-index: 2;
}

.speechbubble-checkmore-btn {
  display: flex;
  background-color: var(--dark-100);
  width: 100px;
  color: var(--light-text);
  padding: 5px 5px;
  letter-spacing: 1px;
  font-size: 23px;
  font-weight: 600;
  cursor: pointer;
  border: var(--dark-100) 2px solid;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.speechbubble-checkmore-btn.redo {
  background-color: var(--light-bg);
  color: var(--dark-100);
  border: var(--dark-100) 2px solid;
}



.checkPointInfo-container {
  position: relative; 
  height: 200vh;
  overflow-y: hidden;
  overflow-x: hidden;
}





.checkPointInfo-main-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 85vh;
  background-size: cover;
  background-position: center center; /* ⬅️ This is key to crop from the middle */
  background-repeat: no-repeat;
  z-index: 0;
 
}



.checkPointInfo-infoContainer {
   position: relative;
  width: 100%;
  min-height: 100vh;
  top: 0;
  left: 0;
  transform: translateY(70vh);
  transition: transform 0.1s ease-out;
  z-index: 3;
  padding: 0px 20px 20px 20px; 

  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgb(255, 255, 255) 5%,
    rgb(255, 255, 255) 100%
  );
  /* border: #4a18d3  2px solid; */
}

.checkPointInfo-stockholm {
color: var(--dark-100);
font-family: Urbanist;
font-size: 15px;
font-style: normal;
font-weight: 500;
line-height: 150%; /* 22.5px */
}

.checkPointInfo-title {
  color: var(--dark-100);
font-size: 32px;
font-style: normal;
font-weight: 700;
line-height: 120%; /* 38.4px */
}

.checkPointInfo-Header{
  width: 100%;
  /* border: #28a745  2px solid; */
}

.checkPointInfo-info {
  margin: 12px 0;
color: var(--dark-100);
font-size: 15px;
font-style: normal;
font-weight: 400;
line-height: 140%; /* 21px */
width: 90%;

}

.checkPointInfo-subtitle {
  margin-top: 20px;
color: var(--dark-100);
font-family: Urbanist;
font-size: 22px;
font-style: normal;
font-weight: 700;
line-height: 120%; /* 26.4px */

}

.checkPointInfo-vertical-scroll{
  max-height:75vh; /* or any height you want */
  overflow-y: auto;
  /* padding-right: 8px; optional: prevents scrollbar overlap */
  /* width: 100%; */
  /* margin-right: 40px; */
  /* border: #28a745  2px solid; */
  height: auto; 
  overflow:visible;
}

.time-travel-horizontal-scroll {

  display: flex;
  flex-direction: row;      
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  gap: 16px;
  padding: 12px 0;
  scroll-snap-type: x mandatory;
  
}

.time-travel-card {
  flex: 0 0 auto;
  width: 240px;
  scroll-snap-align: start;
  background:var(--blue-100);
  border-radius: 12px;
  padding: 10px;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
}

.time-travel-label {
  color: var(--secondary-tiffiny);
font-family: Urbanist;
font-size: 17px;
font-style: normal;
font-weight: 400;
line-height: 120%; /* 20.4px */
  margin-bottom: 8px;
    white-space: normal;       /* Allow text to wrap */
  overflow: hidden;          /* Hide overflow if necessary */
  display: -webkit-box;      /* Create a flexible box */
    /* Limit to 2 lines */
}

.time-travel-title {
  color: var(--primary-blue);
font-family: Urbanist;
font-size: 17px;
font-style: normal;
font-weight: 600;
line-height: 120%; /* 20.4px */
  margin-bottom: 8px;
    white-space: normal;       /* Allow text to wrap */
  overflow: hidden;          /* Hide overflow if necessary */
  display: -webkit-box;      /* Create a flexible box */
    /* Limit to 2 lines */
}


.time-travel-image {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 8px;
}

.time-travel-text {
  color: #262626;
font-family: Urbanist;
font-size: 13px;
font-style: normal;
font-weight: 400;
line-height: 120%;
  white-space: normal;       /* Allow text to wrap */
  overflow: hidden;          /* Hide overflow if necessary */
  display: -webkit-box;      /* Create a flexible box */
    /* Limit to 2 lines */

}

.quest-complete-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
  margin-top: 10px;
}
.quest-complete-icon {
  font-size: 80px;
  color: var(--Hunt-Green);
  margin-bottom: 20px;
  font-weight: bold;
}

.quest-complete-icon {
  font-size: 80px;
  color:var(--Hunt-Green);
  margin-bottom: 20px;
  font-weight: bold;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  animation: scaleIn 0.3s ease-out;
}

@keyframes scaleIn {
  from {
      transform: scale(0);
      opacity: 0;
  }
  to {
      transform: scale(1);
      opacity: 1;
  }
}

.quest-complete-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 30px;
  width: 100%;
}

.quest-complete-checkmore-btn {
  display: flex;
  background-color: var(--dark-100);
  flex: 1;
  max-width: 200px;
  color: var(--light-text);
  padding: 5px 5px;
  letter-spacing: 1px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  border: var(--dark-100) 2px solid;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.quest-complete-checkmore-btn.redo {
  background-color: var(--light-bg);
  color: var(--dark-100);
  border: var(--dark-100) 2px solid;
}
.dot-typing {
  display: inline-block;
  position: relative;
  width: 60px;
  height: 12px;
}

.dot-typing::before,
.dot-typing::after,
.dot-typing::after {
  content: '';
  position: absolute;
  top: 0;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  border-radius: 50%;
  animation: dotBounce 1.4s infinite ease-in-out;
}

.dot-typing::before {
  left: 0;
  animation-delay: 0s;
}

.dot-typing::after {
  left: 24px;
  animation-delay: 0.2s;
}

.dot-typing::after {
  left: 48px;
  animation-delay: 0.4s;
}

@keyframes dotBounce {
  0%, 80%, 100% {
    transform: scale(0.7);
    opacity: 0.3;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.profile-infoContainer {
  /* border: #65e420 4px solid; */
  flex-grow: 1;
  /* height: 200px; */
  gap: 10px;
}

.profile-infoContent {
  /* border: #13a4b1 4px solid; */
  display: flex;
  flex-direction: row;
  margin: 15px 10px;
  height: 200px;
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
   background-color: var(--light-bg);
}






@media (min-width: 768px) {

.container {
  /* min-height: 100vh; */
  padding: 52px 40px 52px 40px;
  border-radius: 50px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  background-color: var(--light-bg);
  justify-items: center;
  justify-self: center;
  
}

.profile-infoContainer {
  height: 200px;
  width: 50%;
  gap: 10px;
  justify-content: center;
  justify-items: center;
  justify-self: center;
}

.home-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  height: auto;
  overflow-y: auto;
  max-width: 100vw;
}
.homeView-welcome_sectiond {
   /* all: unset; */
  background-color: rgb(255, 255, 255);
  border-radius: 300px;
  width: 600px;
  height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
  z-index: 4;
  overflow: hidden; 
   margin-top: calc(50vh - 300px);
}

.home_header {
  /* border: #13a4b1 2px solid; */
  display: flex;
  flex-direction: column;
}

.home_title {
  /* border: #13a4b1 2px solid; */
  color: var(--dark-100);
  text-align: center;
  font-family: Urbanist;
  font-size: 40px;
  /* margin-bottom: 10px; */
  /* font-weight: 700; */
  /* line-height: 120%; 38.4px */
   margin: 0;
}

.logoType {
  /* border: #13a4b1 2px solid; */
   margin: 0;
  font-family: "Urbanist", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 93px;
  color: var(--dark-100);
  /* margin-top: 10; */
}

.homeView-cta-buttons {
  display: flex;
  flex-direction: column; /* Stack buttons vertically */
  align-items: center;
  justify-content: center;
  gap: 16px;
  /* margin: 40px 10px; */
  width: 60%;
  box-sizing: border-box;
}

.homeView-welcome_section {
  background-color: white;
  border-top-left-radius: 250px;
  border-top-right-radius: 250px;
  padding: 40px 24px 24px 24px;
  /* margin-top: 60vh; */
  text-align: center;
  width: 100%;
  justify-items: center;
  z-index: 4;
  box-sizing: border-box;
}

  .mapOverview_icon {
  width:15%;
  height:auto;
  margin-bottom: 5px;
  margin: 10px 10px;
}

.mapOverview-infoContainer {
  position: absolute;
  bottom: 50px; /* Adjust as needed */
  left: 20;
  width: 50%;
  /* padding: 10px; */
  z-index: 10; /* Make sure it appears above the map */
  /* padding-bottom: 40px; */
  /* height: 20%; */
  padding: 0px 0px;

  /* background: rgba(101, 15, 15, 0.9);  */
}

.mapOverview-infoContent {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  /* height: 100%; */
  /* background: rgba(184, 29, 29, 0.9); */
  padding: 0px 0px;

  /* gap: 20px; */
}



.locationInfo-leftInfo {
  width: 100%;
  height: 100%;
  /* border: #13a4b1 4px solid; */
  
}

.mapOverview-rightImage {
  width: 100%;
  z-index: 2;
}

.locationInfo-title-noInfo{
  font-family: "Urbanist", sans-serif;
  font-weight: 700; /* Bold */
  font-size: 24px;
  line-height: 100%;
  color: var(--primary-blue); /* Text Primary / Graphite */
  margin-bottom: 8px; /* Space between title and text */
  padding: 0px;
  font-family: "Urbanist", sans-serif;
}

.global-bottom-illustration {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%); 
  width: 80%;
  justify-self: centers;
  
  height: 70vh !important;
  z-index: 0;
  object-fit: cover;
  object-position: right top;
  /* border: #13a4b1 6px solid; */
}



  
}

/* Add media query for iOS devices */
@media screen and (-webkit-min-device-pixel-ratio:0) {
  .speechbubble-content {
    align-items: center;
    justify-content: center;
    
    margin: 40px auto;
    width: 80%;
    max-width: 500px;  /* Added max-width for better control */
    padding: 0 10px;
  }
    .travelInfo-thumbnail {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 60px;
    z-index: 10;
    background: white;
    padding: 0px 0;
  }
  .travelInfo-infoContainer {
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    width: 100%;
  }
  .travelInfo-item{
    width: 100%;
  }
}.keen-slider:not([data-keen-slider-disabled]){-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;align-content:flex-start;display:flex;overflow:hidden;position:relative;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-select:none;width:100%}.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide{min-height:100%;overflow:hidden;position:relative;width:100%}.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse]{flex-direction:row-reverse}.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v]{flex-wrap:wrap}