@import url('https://fonts.googleapis.com/css2?family=Bangers&family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Mirza:wght@400;500;600;700&display=swap');


:root {
  --color-brand--1: #ffb545;
  --color-brand--2: #00c46a;

  --color-dark--1: #0d2b40;
  --color-dark--2: #1a466a;
  --color-light--1: #aaa;
  --color-light--2: #ececec;
  --color-light--3: rgb(214, 222, 224);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html{
  font-size: 62.5%;
  box-sizing: border-box;
  overflow: hidden;
  scroll-behavior: smooth;
  height: 100%;
}

@keyframes color {
  0%{
    background-position:  0 50%;

  }
  50%{
    background-position: 100% 50%;
  }

  100%{
    background-position: 0% 50%;
  }
}

@keyframes gradient {
	/* 0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	} */

  0% {
      background-position: 4% 0px;
  }

  50% {
      background-position: 97% 100%;
  }

  100% {
      background-position: 4% 0px;
  }
}

@keyframes slideFromTop {
  0% {
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
  
}
.logRegPage{
  font-family: 'Manrope', sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  /* background: linear-gradient(rgb(39, 106, 161) 0%, rgb(59, 221, 145) 100%); */
  background: linear-gradient(-45deg, #001247, #000066, #000d33, #00001a);

  /* background: #001247; */
  /* background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); */
  animation: gradient 15s ease infinite;
  background-size: 300% 300%;

}

.logRegPage::before,
.logRegPage::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 100%;
  z-index: -1;

  opacity: 40%;
}

.logRegPage::before {
  /* background:  rgb(39, 106, 161); */
  background: #000066;
  filter: url(#noiseFilter);
  z-index: 1;
}

/*.header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 11%;
  padding: 0px 70px;
 
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(-45deg, rgb(39, 106, 161), rgb(59, 221, 145), var(--color-brand--1), var(--color-dark--2));

  /* background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); */
  /* animation: gradient 15s ease infinite;
  background-size: 300% 300%;
  backdrop-filter: blur(10px);
  outline: none !important;
  box-shadow: none !important;

  z-index: 2000;
} */
/* .header::before,
.header::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 100%;
  z-index: 100;

  opacity: 40%;
  outline: none !important;
  box-shadow: none !important;
} */

/* .header::before {
  background:  rgb(39, 106, 161);
  filter: url(#noiseFilter);
  z-index: 100;
}*/ 


.header{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 12vh; /*viewport units instead of percentage*/
  padding: 0 5%; 
  min-height: 80px;
 
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(-45deg, #001247, #000066, #000d33, #00001a);

  /* background: linear-gradient(-45deg, rgb(39, 106, 161), rgb(59, 221, 145), var(--color-brand--1), var(--color-dark--2)); */
  /* background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); */
  animation: gradient 15s ease infinite;
  background-size: 300% 300%;
  backdrop-filter: blur(10px);
  outline: none !important;
  box-shadow: none !important;

  z-index: 2000;
}
.header::before,
.header::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 100%;
  z-index: 100;

  opacity: 40%;
  outline: none !important;
  box-shadow: none !important;
}

.header::before {
  /* background:  rgb(39, 106, 161); */
  background: #000066;
  filter: url(#noiseFilter);
  z-index: 100;
}
.nav{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
  right: auto;
  padding-right: 2rem;
  z-index: 1000;
}
.nav a{
  position: relative;
  font-size: clamp(2rem, 2.5vw, 1.375rem);
  color: white !important;
  text-decoration: none;
  font-weight: 700;
  font-family: "Josefin Sans", serif;
  padding: 0.5em 0;
  margin: 0;
  

  /* margin-top: 1em;
  left: 1rem !important;
  right: 25rem !important; */
  
  z-index: 1000;
}

.nav a::before{
  content: '';
  position: absolute;
  top: 80%;
  left: 0;
  width: 0;
  height: 2px;
  background-color: var(--color-brand--2) !important;

  transition: .3s;
}
.nav a:hover::before{
  width: 100%;
}
.logo {
  top: 6px;
  position: relative;
  height: 100%;
  align-items: center;
  
  display: flex;
  padding-left: 1em;
  z-index: 1000;
}
.logo img{ 

  height: 60px;
  width: 170px;
  max-width: 150px;
  /* max-height: 95px; */
}


/* .about {
  margin-left: 70em;
  font-size: 1.5em;
  font-weight: 900;
  color: var(--color-dark--1) !important;
  text-decoration: none;
  gap: 2px;
  width: auto;
  height: auto;
} */
/* .logo img{
   max-width: ;
} */
.wrapper{
  position: relative;
  width: 440px;
  height: 420px;
  background: transparent;
  backdrop-filter: blur(20px);
  box-shadow: 0 0 10px rgb(25, 89, 143);
  border: .1px solid rgba(255, 255, 255, .2);
  color: #fff;
  border-radius: 10px;
  z-index: 1;
  margin-left: 29em;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: height 1s ease;
  perspective: 1000px;

  overflow: hidden;
}

.wrapper.active{
  height: 520px;

}

.wrapper .form-box{
  width: 100%;
  padding: 47px;
}


h1{
  font-family: "Josefin Sans", serif;
  /* color: #095833; */
  color: white;

  /* color: #fff; */
  font-weight: 500;

  font-size: 38px;
  text-align: center;
}

.formContainer{
  display: block;
}

.input-box{
  position: relative;
  width: 119%;
  height: 50px;
  align-items: center;
  right: 2em;
  /* background: var(--color-dark--2); */
  margin: 30px 0;
}

.input-box input{
  width: 100%;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  border: 2px solid rgba(246, 246, 246, 0.516);
  border-radius: 40px;
  font-size: 16px;
  color: #fff;
  padding: 20px 45px 20px 20px;
}

.input-box input::placeholder{
  color: #e3dede;
  opacity: .6;
  font-size: 14px;
}
.input-box i{
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
}
.input-box :focus{
  border: 2px solid var(--color-brand--2);
  box-shadow: 0px 0px 3px var(--color-brand--2);

}
.wrapper .remember-forgot{
  display: flex;
  justify-content: space-between;
  font-size: 14.5px;
  margin: -15px 0 15px;
}
.remember-forgot label input{
  accent-color: #095833;

  margin-right: 3px;
}
.remember-forgot label{
  color: var(--color-brand--2);
  font-weight: 600;
}
.remember-forgot a{
  color: var(--color-brand--2) !important;
  text-decoration: none;
  font-weight: 600;
}
.remember-forgot a:hover{
  text-decoration: underline;
}
.wrapper .btn{
  width: 100%;
  height: 45px;
  background: var(--color-brand--2);
  border: none;
  outline: none;
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, .1);
  cursor: pointer;
  font-size: 18px;
  left: 5em;
  color: #fff;
  font-weight: 600;
}

.btn:hover{
  background: var(--color-dark--2);
  color: #fff;
  transition: .3s ease-out;
}
.wrapper .register-link{
  font-size: 14.5px;
  text-align: center;
  margin: 20px 0 15px;
}
.register-link p a{
  color: var(--color-brand--2);
  text-decoration: none;
  font-weight: 600;
  gap: 2px;
}
.register-link a:hover{
  color: var(--color-dark--2);
}

.wrapper{
  perspective: 1000px;
}
.wrapper ._form-box.login{
  transition: transform .18s ease;
  transform: translateX(0);
  /* display: none; */
}
/* rotate entire wrapper on active*/
.wrapper.active{
  height: 520px;
  transform: rotateY(180deg);
  transition: 1s;

}
.wrapper.active ._form-box.login{
  transition: none;
  transform: translateX(-400px);

}
.wrapper ._form-box.register{
  position: absolute;
  transition: none;
  transform: translateX(400px);
  transform-style: preserve-3d;
}

.wrapper.active ._form-box.register{
  transition: transform .18s ease;
  /* transform: translateX(0); */
  transform: rotateY(180deg);
  
}

.card {
  width: 380px;
  height: 79px;
  border-radius: 14px;
  box-sizing: border-box;
  padding: 19px 25px;
  background-color: #f9c16cdc;
  
  top: 10px;
  left: 37%;
  transform: translateX(-50%);
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  position: absolute;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 15px;
  z-index: 3000;
  animation: slideFromTop 1s ease forwards;

}
.wave {
  position: absolute;
  transform: rotate(90deg);
  left: -36px;
  top: 32px;
  width: 90px;
  fill: #2cd429;
}
.icon-container {
  width: 75px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #2cd429;
  border-radius: 50%;
  margin-left: 8px;
}
.icon {
  width: 23px;
  height: 23px;
  color: var(--color-dark--2);
}
.message-text-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  flex-grow: 1;
}
.message-text,
.sub-text {
  margin: 0;
  cursor: default;
  font-family: josefin sans;
}
.message-text {
  margin-bottom: 1px;
  color: #269b24;
  font-size: 18px;
  font-weight: 700;
}
.sub-text {
  font-size: 14px;
  color: var(--color-dark--1);
  margin-top: 5px;
  font-weight: 360;
}
.sub-text span{
  text-decoration: underline;
  color: var(--color-dark--2);
  font-weight: 600;
}
/* .verify-text{
  font-size: 12px;
  color: #555;
  margin-top: 5px;

  /* top: 10px;
  bottom: 20px; 

} */
.cross-icon {
  width: 30px;
  height: 30px;
  color: #555;
  cursor: pointer;
}

/* .success {
  border-left: 5px solid #28a745;
}

.error {
  border-left: 5px solid #dc3545;
}

.warning {
  border-left: 5px solid #ffc107;
}

.info {
  border-left: 5px solid #17a2b8;
} */



.card.hide{
  transform: translateX(-50%) translateY(20px);
  visibility: hidden;
  opacity: 0;
}


/*/ error card*/

.error {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  width: 320px;
  padding: 12px;
  top: 10px;
  left: 37%;
  transform: translateX(-50%);
  position: absolute;

  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  background: #EF665B;
  border-radius: 8px;
  box-shadow: 0px 0px 5px -3px #111;
  z-index: 3000;
  animation: slideFromTop 1s ease forwards;
}

.error__icon {
  width: 20px;
  height: 20px;
  transform: translateY(-2px);
  margin-right: 8px;
}

.error__icon path {
  fill: #fff;
}

.error__title {
  font-weight: 500;
  font-size: 14px;
  color: #fff;
  font-family: josefin sans;
}

.error__close {
  width: 20px;
  height: 20px;
  cursor: pointer;
  margin-left: auto;
}

.error__close path {
  fill: #fff;
}

.error.hide{
  transform: translateX(-50%) translateY(20px);
  visibility: hidden;
  opacity: 0;
}
/* .wrapper ._form-box{
  backface-visibility: hidden;
} */
/* .wrapper ._form-box.register,
.wrapper ._form-box.login{
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;

} 
.wrapper ._form-box.register{
  transform: rotateY(180deg); 
}  */


/*about us page*/
.aboutUs{
  position: relative;
  /* top: 0;
  left: 0; */
  width: 100%;
  height: 100vh;
  padding: 10rem 7rem;
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;  
 
  display: flex;
  justify-content: center;
  z-index: 99;
}

.aboutUs::-webkit-scrollbar{
  width: 5px;
  height: 5%;

  /* make scrollbar transparent */
}
.aboutUs::-webkit-scrollbar-thumb{
  background: var(--color-brand--2);
  border-radius: 10px;
  /* make scrollbar transparent */
}

.contents{

  max-width: 900px;
  height: 100%;
  margin-right: 26rem;
  
  /* font-family: josefine, sans-serif;
  display: block;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;

  margin-right: 7em;
  left: 1em;
  margin-top: 13em;
  z-index: 1000; 
 
  padding-bottom: 25px; */

}

/* .contents::-webkit-scrollbar{
  width: 8px !important;
  height: 2px;
  background-color: yellow;
}
.contents::-webkit-scrollbar-track{
  background: var(--color-dark--2);
  border-radius: 10px;
} */
.about-img{
  display: flex;
  justify-content: center;
  /* width: 100%;
  
  padding-bottom: 9em;
  border-radius: 50%;
  margin-left: 1em;
  display: grid;
  place-items: center; */
 
}
.abt-img{
  /* max-width: 970px; */
  max-width: 600px;
  width: 100%;
  height: auto;
}
.t1{
  font-size: 50px;
  text-align: center;
  /* margin-left: 23px; */
}

.about-layout{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.descriptionsAbout{
  font-size: 1.8rem;
  font-weight: 600;
  color: white;
  font-family: josefine, sans-serif;
  text-align: center;
  margin-left: 1rem;
  line-height: 1.5;
  padding-bottom: 5rem;
  /* margin-top: 2em;
  margin-bottom: 2em; */
 
  /* font-size: 1.5em;
  font-weight: 600;
  color: var(--color-dark--1);
  padding-bottom: 3em;
  padding-top: 0px;
  margin-left: 1em;
  margin-right: 1em;
  text-align: center;
  font-family: josefine, sans-serif;
  width: 100%;
  display: grid;
  place-items: center; */

}
hr {
  border: none; /* Remove any existing border */
  border-top: 1px solid var(--color-brand--2); /* Add a top border to create the line */
  margin: 1rem 0rem; /* Add some margin for spacing */
  width: 100%; /* Ensure the line takes the full width */
}

.AboutText-desc,
.AboutText-subText{
  max-width: 800px;
  margin: 0 auto;
  
}
.AboutText-desc{
  font-size: 22px !important;
  font-weight: 600;
  color: white;
  text-align: center;
  line-height: 1.5em;
  
}
.AboutText-subText{
  font-size: 16px !important;
  font-weight: 548;

}
/* .AboutText{ 

  justify-content: center;
  position: absolute;
  text-align: center;
  

}
.AboutText-desc{
  font-size: 19px;
  width: 43%;
  text-align: center;
  line-height: 1.5em;

}
.AboutText-subText{
  font-size: 12px;
  width: 50%;
  text-align: center;

} */


.scroll-animate{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.scroll-animate.visible{
  opacity: 1;
  transform: translateY(0);
}

.aboutUs.hidden{
  display: none;
}







/* -------------SECOND PAGE - MAP [main]---------------*/
.main-page{
  font-family: 'Manrope', sans-serif;
  color: var(--color-light--2);
  font-weight: 400;
  line-height: 1.6;
  height: 100vh;
  overscroll-behavior-y: none;
  background: linear-gradient(-45deg, #001247, #000066, #000d33, #00001a);
  background-size: 300% 300%;
  /* background-color: black; */
  padding: 2.5rem;
  display: flex;
  animation: gradient 15s ease infinite;
  background-size: 300% 300%;
  z-index: 3000;
}

.main-page::before,
.main-page::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 100%;
  z-index: -1;

  opacity: 40%;
}

.main-page::before {
  /* background:  rgb(39, 106, 161); */
  background: #000066;
  filter: url(#noiseFilter);
  z-index: 1;
}

.main-page.hidden{
  display: none;
}
/* GENERAL */
a:link,
a:visited {
  color: var(--color-brand--1);
}

/* SIDEBAR */
.sidebar {
  flex-basis: 50rem;
  background-color: #012239;
  padding: 1rem 3rem 1rem 2rem;
  display: flex;
  flex-direction: column;
  border-radius: 30px ;
  border-top-right-radius	: 0px;
  border-bottom-right-radius	: 0px;
  

  transition: all 0.5s ease-in-out;
  z-index: 1;
}

.logo {
  height: 4.1rem;
  align-self: center;
  margin-bottom: 2rem;
  margin-top: 1rem;
}

.sidebar_items{
  display: flex;
  flex-direction: row;
  gap: 24rem;
  margin-top: 5rem;
}

.userName{
  font-size: 2em;
  font-weight: 600;
  color: white;
  display: flex;
  margin-left: 10px;
  margin-bottom: 35px;
  
  
}
.userName span{
  font-size: 2rem;
  font-weight: 600;
  color: var(--color-brand--1);
  margin-left: 10px;

}
.buttons{
  margin: 10px;
  margin-top: 27px;
}
.deleteAll{
  padding: 5px 10px;
  width: 73px;
  height: 30px;
  border: 2px solid #2c2c2c;
  background-color: #e82d2d;
  color: #ffffff !important;
  font-size: 1rem;
  cursor: pointer;
  border-radius: 18px;
  transition: all 0.4s ease;
  outline: none;
  position: relative;
  overflow: hidden;
  font-weight:lighter;

  /* margin-left: 29em; */
  
}

.deleteAll::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
    circle,
    #010b06 10%
  );
  transform: scale(0);
  transition: transform 0.5s ease;
}

.deleteAll::after {
  transform: scale(4);
}

.deleteAll:hover {
  border-color: #cd0d0d;
  background: #f02828;
  color: #ececec !important;
}

/* logout button */

.logout{
  align-items: center;
  margin-left: 20em;
}
.BtnLogout {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 37px;
  height: 37px;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition-duration: 0.3s;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.199);
  background-color: var(--color-brand--2);
}

/* plus sign */
.sign {
  width: 100%;
  transition-duration: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sign svg {
  width: 18px;
}

.sign svg path {
  fill: black;
}
/* text */
.textLog {
  position: absolute;
  right: 0%;
  width: 0%;
  opacity: 0;
  color: black;
  font-size: 1.2em;
  font-weight: 600;
  transition-duration: 0.3s;
}
/* hover effect on button width */
.BtnLogout:hover {
  width: 125px;
  border-radius: 40px;
  transition-duration: 0.3s;
}

.BtnLogout:hover .sign {
  width: 30%;
  transition-duration: 0.3s;
  padding-left: 20px;
}
/* hover effect button's text */
.BtnLogout:hover .textLog {
  opacity: 1;
  width: 70%;
  transition-duration: 0.3s;
  padding-right: 10px;
}
/* button click effect*/
.BtnLogout:active {
  transform: translate(2px, 2px);
}
.msg{
  align-items: center;
  margin-left: 3em;
  font-size: 1.4rem;
  line-height: 1.5;
  margin-top: 50px;
  font-weight: 600;
  font-style: italic;
  color: var(--color-light--1);

}
.workouts {
  list-style: none;
  height: 77vh;
  overflow-y: scroll;
  overflow-x: hidden;
}

.workouts::-webkit-scrollbar {
  width: 0;
}

.workout {
  background-color: var(--color-dark--2);
  border-radius: 14px;
  padding: 1.9rem 2.25rem;
  margin-bottom: 1.75rem;
  cursor: pointer;

  position: relative;
  display: grid;
  grid-template-columns: 2fr 2fr 2fr 2fr;
  gap: 0.75rem 1.5rem;
}
.workout--running {
  border-left: 5px solid var(--color-brand--2);
}
.workout--cycling {
  border-left: 5px solid var(--color-brand--1);
}

.workout__title {
  font-size: 1.7rem;
  font-weight: 600;
  grid-column: 1 / -1;
}

.workout__details {
  display: flex;
  align-items: baseline;
}

.workout__icon {
  font-size: 1.8rem;
  margin-right: 0.2rem;
  height: 0.28rem;
}

.workout__value {
  font-size: 1.5rem;
  margin-right: 0.5rem;
}

.workout__unit {
  font-size: 1.1rem;
  color: var(--color-light--1);
  text-transform: uppercase;
  font-weight: 800;
}
.workout:hover{
  background-color: #081826;
  transform: translateY(-2px);
  transition: ease-in-out 0.3s;
}

.deleteWorkoutBtn{
    position: absolute; /*dont use fixed pos!!!! it only focuses on one card el n screen port*/
    
    top: 10px;          
    right: 10px;        
    width: auto;        
    font-size: 13px;  
    color: white;       
    background-color: var(--color-dark--2); 
    padding: 5px;      
    border: none;       
    border-radius: 50%; 
    cursor: pointer;   
    display: flex;      /* Align the icon properly */
    justify-content: center; /* Center the icon */
    align-items: center;
    /* bottom: 10%; */
  
}
.deleteWorkoutBtn:hover{
  color: var(--color-brand--2);
}
.editBtn{
  position: absolute; 
    
    top: 10px;          
    right: 35px;        
    width: auto;        
    font-size: 13px;  
    color: white;       
    background-color: var(--color-dark--2); 
    padding: 5px;      
    border: none;       
    border-radius: 50%; 
    cursor: pointer;   
    display: flex;      /* Align the icon properly */
    justify-content: center; /* Center the icon */
    align-items: center;
}
.editBtn:hover{
  color: var(--color-brand--2);
}

.form {
  background-color: var(--color-dark--2);
  border-radius: 12px;
  padding: 1.5rem 2.75rem;
  margin-bottom: 1.75rem;

  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 2.5rem;

  /* Match height and activity boxes */
  height: 11.65rem;
  transition: all 0.5s, transform 1ms;
}

.form.hidden {
  transform: translateY(-30rem);
  height: 0;
  padding: 0 2.25rem;
  margin-bottom: 0;
  opacity: 0;
}

.form__row {
  display: flex;
  align-items: center;
}

.form__row--hidden {
  display: none;
}

.form__label {
  flex: 0 0 50%;
  font-size: 1.5rem;
  font-weight: 600;
}

.form__input {
  width: 100%;
  padding: 0.3rem 1.1rem;
  font-family: inherit;
  font-size: 1.4rem;
  border: none;
  border-radius: 3px;
  background-color: var(--color-light--3);
  transition: all 0.2s;
}

.form__input:focus {
  outline: none;
  background-color: #fff;
}
.form__input--date{
  color: #666666;
}

.form__btn {
  display: none;
}

.copyright {
  margin-top: auto;
  font-size: 1.3rem;
  text-align: center;
  color: var(--color-light--1);
}

.twitter-link:link,
.twitter-link:visited {
  color: var(--color-light--1);
  transition: all 0.2s;
}

.twitter-link:hover,
.twitter-link:active {
  color: var(--color-light--2);
}

/* MAP */
#map {
  flex: 1;
  z-index: 2;
  height: 100vh;
  width: 100%;
  display: block;
  background-color: var(--color-light--1);
  border-radius: 30px;
  border-top-left-radius	: 0px;
  border-bottom-left-radius	: 0px;
}

/* Popup width is defined in JS using options */
.leaflet-popup .leaflet-popup-content-wrapper {
  background-color: var(--color-dark--1);
  color: var(--color-light--2);
  border-radius: 11px;
  padding-right: 0.6rem;
  cursor: pointer;
}

.leaflet-popup .leaflet-popup-content-wrapper:hover {
  transform: scale(1.05); /* Enlarge on hover */
  transition: ease-in-out;
}
.leaflet-popup .leaflet-popup-content {
  font-size: 1.5rem;
}

.leaflet-popup .leaflet-popup-tip {
  background-color: var(--color-dark--1);
}

.running-popup .leaflet-popup-content-wrapper {
  border-left: 5px solid var(--color-brand--2);
}
.cycling-popup .leaflet-popup-content-wrapper {
  border-left: 5px solid var(--color-brand--1);
}

.deleteAllCard{
  width: 360px;
  height: 260px;
  background-color: #ececec;
  border-radius: 25px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 30px ;
  gap: 13px;
  position: absolute;
  top: 50%;
  right: 21%;
  transform: translate(-70%, -70%);
  z-index: 12;
  overflow: hidden;
  box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.062);

}
.warnIcon{
  width: 70px;
}
/* want spinner on top of wrapper */


.spinner {
  position: absolute; /* Position absolutely within the wrapper */
  top: 50%; /* Center vertically */
  left: 50%; /* Center horizontally */
  transform: translate(-50%, -50%); /* Adjust for centering */
  z-index: 100; /* Higher z-index to appear on top */
  width: 4rem; /* Adjust size as needed */
  height: 4rem; /* Adjust size as needed */
  display: flex;
  justify-content: center;
  align-items: center;

  svg {
    height: 4rem;
    width: 4rem;
    fill: #099252;
    animation: rotate 2s infinite linear;
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

.spinner.hidden{
  display: none;
}

.heading{
  font-size: 2rem;
  font-weight: 800;
  color: var(--color-dark--1);

}
.desc, br{
  text-align: center;
  font-size: 1.2em;
  font-weight: 600;
  color: var(--color-dark--2);
}

.btnContainer {
  display: flex;
  gap: 20px;
  flex-direction: row;
}

.confirmBtn {
  width: 80px;
  height: 35px;
  background-color: #e02f2a;
  transition-duration: .2s;
  border: none;
  color: rgb(241, 241, 241);
  cursor: pointer;
  font-weight: 600;
  border-radius: 36px;
  box-shadow: 0 2px 3px -1px #e02f2a, 0 2px 3px -1px #e02f2a;
  transition: all .6s ease;
}

.noBtn {
  width: 80px;
  height: 35px;
  background-color: var(--color-brand--1);
  transition-duration: .2s;
  color: rgb(46, 46, 46);
  border: none;
  cursor: pointer;
  font-weight: 600;
  border-radius: 36px;
  box-shadow: 0 2px 3px -1px var(--color-brand--1), 0 2px 3px -1px var(--color-brand--1);
  transition: all .6s ease;
}

.noBtn:hover {
  background-color: #f7a120;
  box-shadow: 0 5px 10px -3px #e6a748, 0 4px 3px -2px #e6a748;
  transition-duration: .2s;
}

.confirmBtn:hover {
  background-color: #7c1511;
  box-shadow: 0 10px 15px -3px #571412, 0 4px 6px -2px, #571412;
  transition-duration: .2s;
}


/*logout card*/

.logoutCard{
  width: 450px;
  height: 310px;
  background-color: #E6EDD6;
  border-radius: 35px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 30px ;
  gap: 13px;
  position: absolute;
  top: 50%;
  right: 15%;
  transform: translate(-70%, -70%);
  z-index: 12;
  overflow: hidden;
  box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.062);
}
.logoutText{
  align-items: center;
  font-size: 2.1rem;
  font-weight: 800;
  color: var(--color-dark--1);
}
.username{
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-dark--2);
}
.logoutT{
  font-size: 1.5rem;
  font-weight: 600;
  top: 5rem;
  bottom: 3rem;
  color: var(--color-dark--1);
}
.btns{
  display: flex;
  gap: 20px;
  -ms-flex-direction: column;
  flex-direction: column;
  
}

.goBack{
  width: 250px;
  height: 36px;
  background-color: var(--color-brand--1);
  transition-duration: .2s;
  color: rgb(46, 46, 46);
  border: none;
  cursor: pointer;
  font-weight: 600;
  border-radius: 20px;
  box-shadow: 0 2px 3px -1px var(--color-brand--1), 0 2px 3px -1px var(--color-brand--1);
  transition: all .6s ease;

}
.logoutBtn{

  width: 250px;
  height: 36px;
  background-color: #e02f2a;
  transition-duration: .2s;
  border: none;
  color: rgb(241, 241, 241);
  cursor: pointer;
  font-weight: 600;
  border-radius: 20px;
  box-shadow: 0 2px 3px -1px #e02f2a, 0 2px 3px -1px #e02f2a;
  transition: all .6s ease;
}

.goBack:hover {
  background-color: #f7a120;
  box-shadow: 0 5px 10px -3px #e6a748, 0 4px 3px -2px #e6a748;
  transition-duration: .2s;
}

.logoutBtn:hover {
  background-color: #7c1511;
  box-shadow: 0 10px 15px -3px #571412, 0 4px 6px -2px, #571412;
  transition-duration: .2s;
}

.overlay{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(.12px);
  z-index: 5;
}

.hide{
  display: none;
}

/* footer */
.contain{
   /* position: absolute;
   z-index: 2000;
   display: block;
   position: fixed; */
  left: 0;
  bottom: 0;
  width: 100%;
  height: 25px;
  background: linear-gradient(-45deg, #001247, #000066, #000d33, #00001a);

  /* background: linear-gradient(-45deg, rgb(39, 106, 161), rgb(59, 221, 145), var(--color-brand--1), var(--color-dark--2)); */
  /* background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab); */
  animation: gradient 15s ease infinite;
  background-size: 300% 300%;
  backdrop-filter: blur(10px);
  text-align: center;
  z-index: 200;
  display: block;
  position: absolute;
  
}
.contain::before,
.contain::after {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 100%;
  z-index: 100;

  opacity: 40%;
  outline: none !important;
  box-shadow: none !important;
}

.contain::before {
  /* background:  rgb(39, 106, 161); */
  background: #000066;
  filter: url(#noiseFilter);
  z-index: 100;
}

.text{
  font-family: josefin sans;
  font-size: 12px;
  color: var(--color-brand--2);
  letter-spacing: 2px;
  margin-top: 10px;
  
}

.contain a{
  color: var(--color-brand--2);
  text-decoration: underline;
}


/* ===================== */
/* MOBILE RESPONSIVENESS */
/* ===================== */
@media (max-width: 768px) {
  /* General adjustments */
  html {
    font-size: 55%;
    overflow-x: hidden;
  }

  /* Login/Register Page */
  .logRegPage {
    padding: 2rem;
    background-size: 400% 400%;
  }

  .wrapper {
    width: 90%;
    margin: 0 auto;
    height: auto;
    padding: 2rem;
  }

  .input-box {
    width: 100%;
    right: 0;
  }

  /* Header & Navigation */
  .header {
    height: 8vh;
    padding: 0 2rem;
    min-height: 60px;
  }

  .logo img {
    height: 45px;
    width: 120px;
  }

  .nav {
    gap: 1.5rem;
    padding-right: 0;
  }

  .nav a {
    font-size: 1.6rem;
  }

  /* About Us Section */
  .aboutUs {
    padding: 5rem 2rem;
    height: auto;
  }

  .contents {
    margin-right: 0;
  }

  .t1 {
    font-size: 3.5rem;
  }

  .AboutText-desc {
    font-size: 1.8rem !important;
  }

  .AboutText-subText {
    font-size: 1.4rem !important;
  }

  /* Main Page (Map View) */
  .main-page {
    flex-direction: column;
    padding: 1rem;
    height: auto;
  }

  .sidebar {
    flex-basis: auto;
    width: 100%;
    border-radius: 15px 15px 0 0;
    padding: 1rem;
  }

  .sidebar_items {
    gap: 1rem;
    flex-direction: column;
    margin-top: 1rem;
  }

  .userName {
    font-size: 1.6rem;
    margin-bottom: 1rem;
  }

  .workouts {
    height: 40vh;
  }

  #map {
    height: 50vh;
    border-radius: 0 0 15px 15px;
  }

  /* Cards & Modals */
  .card, .error {
    width: 90%;
    left: 50%;
    transform: translateX(-50%);
  }

  .deleteAllCard, .logoutCard {
    width: 85%;
    right: 50%;
    transform: translate(50%, -70%);
  }

  /* Form adjustments */
  .form__label {
    flex: 0 0 40%;
    font-size: 1.2rem;
  }

  .form__input {
    font-size: 1.2rem;
    padding: 0.2rem 0.8rem;
  }

  /* Footer */
  .contain {
    position: relative;
  }

  /* Animation adjustments */
  @keyframes gradient {
    0% {
      background-position: 0% 50%;
    }
    100% {
      background-position: 100% 50%;
    }
  }
}

/* Smaller phones (up to 480px) */
@media (max-width: 480px) {
  .wrapper {
    width: 95%;
    padding: 1.5rem;
  }

  .header {
    padding: 0 1rem;
  }

  .logo img {
    height: 40px;
    width: 100px;
  }

  .nav {
    gap: 1rem;
  }

  .nav a {
    font-size: 1.4rem;
  }

  .t1 {
    font-size: 3rem;
  }

  .AboutText-desc {
    font-size: 1.6rem !important;
  }

  .workout__title {
    font-size: 1.4rem;
  }

  .workout__value {
    font-size: 1.3rem;
  }
}