* {
  list-style-type: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Winky Rough", sans-serif;
  background-color: rgba(95, 158, 160, 0.493);
}

.main {
  width: 450px;
  height: 83vh;
  margin: 8vh auto;
  border-radius: 15px;
  background-color: white;
}

.header {
  background: #2a7b9b;
  background: linear-gradient(
    47deg,
    rgba(42, 123, 155, 1) 0%,
    rgba(87, 199, 133, 1) 80%,
    rgba(237, 221, 83, 1) 100%
  );
  width: 100%;
  padding: 20px;
  margin-bottom: 20px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  color: aliceblue;
}

.header h1 {
  font-size: 1.5rem;
  margin-left: 8px;
}

.header i {
  margin: 0;
  font-size: 1.6rem;
}

.header p {
  font-weight: 100;
}

.footer {
  color: rgba(128, 128, 128, 0.568);
  background-color: rgba(240, 248, 255, 0.658);
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  margin-top: 20px;
  padding: 20px;
  font-size: 0.9rem;
  text-align: center;
}

.middle {
  width: 92%;
  margin: 0 auto;
}

.inpico {
  width: 100%;
  position: relative;
}

#passinp {
  width: 100%;
  height: 30px;
  padding: 20px;
  border-radius: 8px;
  font-size: 1.2rem;
  border: none;
  background-color: rgba(128, 128, 128, 0.142);
  border: 1px solid grey;
  color: grey;
}

#passinp:focus {
  outline: none;
}

.inpico i {
  position: absolute;
  top: 2px;
  right: 10px;
  cursor: pointer;
  color: rgb(128, 128, 128);
  transition: all 0.5s linear;
}

.inpico i:hover {
  color: #338997;
}

#feedback {
  text-align: right;
  color: #338997;
  opacity: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0px);
  }
}

.strengthwords,
.length {
  margin-top: 5px;
  margin-bottom: 10px;
  display: flex;
  justify-content: space-between;
}

.strength {
  width: 100%;
  height: 5px;
  background-color: rgb(227, 227, 227);
  border-radius: 5px;
  position: relative;
  display: block;
}

/*  */
#strengthline {
  height: 100%;
  position: absolute;
  border-radius: 5px;
  display: block;
  width: 65%;
  transition: width 0.5s cubic-bezier(1, 0, 0.5, 1);
}

/*  */

ul input {
  width: 16px;
  height: 16px;
  margin-right: 10px;
}

ul li {
  margin-bottom: 7px;
}

#generatebtn {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  font-size: 1.3rem;
  font-weight: bold;
  color: aliceblue;
  background-color: #338a97;
  border: none;
  cursor: pointer;
  margin-top: 20px;
  transition: all 0.5s linear;
}

#generatebtn:hover {
  background-color: #40a190;
}

#lengthinp {
  -webkit-appearance: none;
  appearance: none;
  width: 50%;
  height: 8px;
  background: #ddd;
  border-radius: 4px;
  outline: none;
}
