body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  /* width: 100vw; */
  margin: 0;
  font-family: "Open Sans", sans-serif;
  background: #222;
  background-image: url("https://source.unsplash.com/1600x1200/?cloud");
  font-size: 120%;
  background-size: cover;
  background-repeat: no-repeat;

}

.card {
  background: #000000d0;
  color: white;
  padding: 2em;
  border-radius: 30px;
  width: 100%;
  max-width: 460px;
  margin: 1em;
  overflow: hidden;
  /* position:sticky; */
  transform: translate3d(0, 0, 0);
  z-index: 0;
}

.search {
  display: flex;
  align-items: center;
  justify-content: center;
}

button {
  margin: 0.5em;
  font-size: 85%;
  border-radius: 50%;
  border: none;
  height: 44px;
  width: 44px;
  outline: none;
  background: #7c7c7c2b;
  color: white;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}

input.search-bar {
  border: none;
  outline: none;
  padding: 0.4em 1em;
  border-radius: 24px;
  background: #7c7c7c2b;
  color: white;
  font-family: inherit;
  font-size: 150%;
  width: calc(100% - 100px);
}

button:hover {
  background: #7c7c7c6b;
}

h1.temp {
  margin: 0;
  margin-bottom: 0.4em;
}

.flex {
  display: flex;
  align-items: center;
}
.flextitle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* overflow: hidden; */
}

.description {
  text-transform: capitalize;
  margin-left: 8px;
}

.weather.loading {
  visibility: hidden;
  max-height: 20px;
  position: relative;
  
}

.weather.loading:after {
  visibility: visible;
  content: "Loading...";
  color: white;
  position: absolute;
  top: 0;
  left: 20px;
}

.fa-map-marker {
  animation: rotates 0.75s linear infinite alternate;
  display: flex;
}

@keyframes rotates {
  from {
    transform: translateX(-0.5rem);
  }
  from {
    transform: translateX(0.5rem);
  }
}
.city {
  margin-left: 0.5em;
}
.fa-thermometer-three-quarters {
  margin-right: 0.5em;
}
.wave {
  opacity: 0.3;
  position: absolute;
  top: 120%;
  left: 0%;
  background: rgb(82, 194, 238);
  width: 100rem;
  height: 100rem;
  margin-left: -28rem;
  margin-top: -25rem;
  transform-origin: 51% 49%;
  border-radius: 45%;
  animation: drift 4000ms infinite linear;
  z-index: 1;
}

.wave.-three {
  animation: drift 7000ms infinite linear;
  z-index: 2 !important;
  opacity: 0.2;
}

.wave.-two {
  animation: drift 9000ms infinite linear;
  opacity: 0.15;
  z-index: 3 !important;
}
@keyframes drift {
  from {
    transform: rotate(0deg);
  }
  from {
    transform: rotate(360deg);
  }
}

/* watermark */

.watermark {
  position: absolute;
  bottom: 3%;
  left: 2%;
  color: white;
  opacity: 0.6;
  transition: all 0.4s ease;
  cursor: pointer;
  font-size: initial;
}

.watermark:hover {
  opacity: 1.4;
}




/* for alert css */
.center {
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.popup {
  display:flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: index 19;
  width:350px;
  height:280px;
  padding:30px 20px;
  background:#f5f5f5;
  border-radius:10px;
  box-sizing:border-box;
  z-index:10;
  text-align:center;
  opacity:0;
  top:-200%;
  transform:translate(-50%,-50%) scale(0.5);
  transition: opacity 300ms ease-in-out,
              top 1000ms ease-in-out,
              transform 1000ms ease-in-out;
}
.popup.active {
  opacity:1;
  top:50%;
  transform:translate(-50%,-50%) scale(1);
  transition: transform 300ms cubic-bezier(0.18,0.89,0.43,1.19);
}
.popup .icon {
  margin:5px 0px;
  width:50px;
  height:50px;
  border:2px solid #ff0000;
  text-align:center;
  display:inline-block;
  border-radius:50%;
  line-height:60px;
}
.popup .icon i.fa {
  font-size:30px;
  color:#ff1e00;
} 
.popup .title {
  margin:5px 0px;
  font-size:30px;
  font-weight:600;
  color: #111;
}
.popup .des {
  color:#222;
  font-size:15px;
  padding:5px;
}
.popup .dismiss-btn {
  margin-top:15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup .dismiss-btn button {
  /* padding: 20px; */
  background: #111;
  color:#f5f5f5;
  border:2px solid #111;
  font-size:16px;
  font-weight:600;
  outline:none;
  border-radius:10px;
  cursor:pointer;
  transition: all 300ms ease-in-out;
}
.popup .dismiss-btn button:hover {
  color:#111;
  background:#f5f5f5;
}
.popup > div {
  position:relative;
  top:10px;
  opacity:0;
}
.popup.active > div {
  top:0px;
  opacity:1;
}
.popup.active .icon {
  transition: all 300ms ease-in-out 250ms;
}
.popup.active .title {
  transition: all 300ms ease-in-out 300ms;
}
.popup.active .description {
  transition: all 300ms ease-in-out 350ms;
}
.popup.active .dismiss-btn {
  transition: all 300ms ease-in-out 400ms;
}