@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  text-decoration: none;
  border: none;
  outline: none;
  scroll-behavior: smooth;
}

.backg {
  width: 100%;
  height: 100%;
  --s: 200px; /* control the size */
  --c1: #1d1d1d;
  --c2: #4e4f51;
  --c3: #3c3c3c;

  background: repeating-conic-gradient(
      from 30deg,
      #0000 0 120deg,
      var(--c3) 0 180deg
    )
    calc(0.5 * var(--s)) calc(0.5 * var(--s) * 0.577),
    repeating-conic-gradient(
      from 30deg,
      var(--c1) 0 60deg,
      var(--c2) 0 120deg,
      var(--c3) 0 180deg
    );
  background-size: var(--s) calc(var(--s) * 0.577);
  line-height: 1;
}

.navbar{
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}

.landing-page{
  width: auto;
  height: 100vh;
  background: url(assets/peakpx.jpg);
  background-size: cover;
}

.landing-sideImage {
  display: flex;
  position: absolute;
  justify-content: end;
  right: 0;
  top: 20vh;
}

.landing-sideImage img{
  height: 70vh;
}

.landing-text{
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  align-items: start;
  color: white;
  margin-left: 30px;
}

.landing-text h1{
  font-size: 80px;
  font-weight: 900;
}

.landing-text p{
  font-size: 20px;
  font-weight: 600;
}

.carousel{
  height: 100vh;
}

.carousel-inner{
  display: flex;
  height: 100vh;
  object-fit: contain;
}

.carousel-item img{
  height: 100%;
  width: 100%;
  object-fit: cover;
}

.weather{
  background: #8c52ff;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  margin: 0;
}

.weather-container{
  background: rgba(255, 255, 255, 0.3);
  max-width: 400px;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.weather h2, label, p{
  color: #fff;
  margin: 8px 0;
}

.weather input{
  width: calc(100% - 16px);
  padding: 8px;
  box-sizing: border-box;
  border-radius: 10px;
  border: 1px solid white;
  margin-top: 20px;
}

.weather button{
  background: #debff4;
  color: white;
  padding: 10px;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  margin-top: 20px;
  width: 100px;
  font-size: 15px;
}

.weather button:hover{
  background: #8b48d7;
}

#temp-div p{
  font-size: 60px;
  margin-top: -30px;
}

#weather-info{
  font-size: 20px;
}

#weather-icon {
  width: 200px;
  height: 200px;
  margin: 0 auto 10px;
  display: none;
}

#hourly-forcast{
  margin-top: 50px;
  overflow-x: auto;
  white-space: nowrap;
  display: flex;
  justify-content: space-between;
}

.hourly-item{
  flex: 0 0 auto;
  width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 10px;
  color: white;
}

.hourly-item  img{
  width: 30px;
  height: 30px;
  margin-bottom: 5px;
}

#hourly-heading{
  color: #fff;
  margin-top: 10px;
}

.weather1{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: url(assets/temp/background.jpg);
  background-size: cover;
  background-position: center;
}

.w-container{
  position: relative;
  width: 400px;
  height: 100px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(30px);
  border: 2px solid rgba(255, 255, 255, .2);
  border-radius: 16px;
  padding: 20px;
  color: #fff;
  transition: height .6s ease;
}

.search-box{
  position: relative;
  width: 100%;
  height: 55px;
  display: flex;
  align-items: center;
}

.search-box i{
  position: absolute;
  left: 10px;
  font-size: 28px;
}

.search-box input{
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
  border: 2px solid rgba(255, 255, 255, .2);
  outline: none;
  border-radius: 10px;
  font-size: 22px;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  padding: 0 48px 0 48px;
}

.search-box input::placeholder{
  color: #fff;
  text-transform: capitalize;
}

.search-box button{
  position: absolute;
  right: 0;
  width: 40px;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  font-size: 28px;
  color: #fff;
  padding: 0 40px 0 40px;
  cursor: pointer;
}

.city-country {
  padding: 10px;
  margin-bottom: 10px;
}

.weather-box{
  text-align: center;
  margin: 40px 0;
}

.weather-box,
.weather-details,
.not-found{
  overflow: hidden;
  visibility: hidden;
}

.weather-box.active,
.weather-details.active,
.not-found.active{
  visibility: visible;
}

.weather-box .box,
.not-found .box {
  transform: translateY(-100%);
}

.weather-box.active .box,
.not-found.active .box {
  transform: translateY(0%);
  transition: transform 1s ease;
  transition-delay: .6s;
}

/* .weather-box .box .info-weather{
  transform: translateY(-120%);
} */

.w-container.active .weather-box .box .info-weather,
.w-container.active .weather-details .humidity .info-humidity,
.w-container.active .weather-details .wind .info-wind{
  transform: translateY(0%);
  transition: transform 1s ease;
}

.weather-box img{
  width: 60%;
}

.weather-box .temperature{
  position: relative;
  font-size: 64px;
  line-height: 1;
  font-weight: 700;
  margin: 20px 2 6px -30px;
}

.weather-box .temperature span{
  position: absolute;
  font-size: 24px;
  margin-left: 4px;
}

.weather-box .decription{
  font-size: 22px;
  font-weight: 500;
  text-transform: capitalize;
}

.weather-details{
  position: absolute;
  bottom: 40px;
  left: 0;
  width: 100%;
  padding: 0 20px;
  display: flex;
}

.weather-details .humidity,
.weather-details .wind{
  display: flex;
  align-items: center;
  width: 50%;
  transform: translateY(-100%);
}

.weather-details.active .humidity,
.weather-details.active .wind{
  transform: translateY(0%);
  transition: transform 1s ease;
  transition-delay: 1.2s;
}

.weather-details .humidity .info-humidity,
.weather-details .wind .info-wind{
  /* transform: translateY(-100%); */
  overflow: hidden;
}

.weather-details .humidity{
  padding-left: 20px;
  justify-content: flex-start;
}

.weather-details .wind{
  padding-right: 20px;
  justify-content: flex-end;
}

.weather-details i{
  font-size: 56px;
  margin-right: 10px;
}

.weather-details span{
  display: inline-block;
  font-size: 22px;
  font-weight: 500;
}

.weather-details p{
  font-size: 14px;
  font-weight: 500;
}

.not-found{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  margin-top: 110px;
}

.not-found img{
  width: 65%;
}

.not-found p{
  font-size: 22xp;
  font-weight: 500;
  margin-top: 12px;
}

.city-hide{
  display: none;
}

#clone-info-weather,
#clone-info-humidity,
#clone-info-wind {
  position: absolute;
  transform: translateY(-100%);
}

#clone-info-weather .weather{
  transform: translateY(120%);
  transition: transform 1s ease, opacity 0s;
  transition-delay: 0s, 2s;
}

.weather-box:not(.active) #clone-info-weather .weather{
  opacity: 0;
  transition-delay: 0s;
}

.active-clone#clone-info-weather .weather{
  transform: translateY(0%);
}

#clone-info-humidity span,
#clone-info-wind span{
  transform: translateY(100%);
  transition: transform 1s ease;
}

#clone-info-humidity span
.active-clone#clone-info-wind span{
  transform: translateY(0%);
}

.cropPrices{
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: auto;
  height: 100vh;
  justify-content: center;
  align-items: center;
}

.stateSelector{
  position: relative;
  width: 30%;
  height: 55px;
  display: flex;
  align-items: center;
}

.stateSelector i{
  color: white;
  position: absolute;
  left: 10px;
  font-size: 28px;
}

.stateSelector input{
  position: absolute;
  width: 100%;
  height: 100%;
  background: transparent;
  border: 2px solid rgba(255, 255, 255, .2);
  outline: none;
  border-radius: 10px;
  font-size: 22px;
  color: #fff;
  font-weight: 500;
  text-transform: uppercase;
  padding: 0 48px 0 48px;
}

.stateSelector input::placeholder{
  color: white;
  text-transform: capitalize;
}

.stateSelector button{
  position: absolute;
  right: 0;
  width: 40px;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  font-size: 28px;
  color: #fff;
  padding: 0 40px 0 40px;
  cursor: pointer;
}

.crop-container{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #fff;
  width: 60%;
  height: 70%;
  background: transparent;
}

.crop-table{
  color: white;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(20px);
}

.crop-table thead tr th{
  font-size: 25px;
  padding: 20px;
}

.crop-table tbody tr td{
  padding: 0;
  margin: 0;
}

.crop-table{
  border-radius: 15px;
}

.crop-table th, td{
  text-align: center;
}