/* Source Serif Pro font */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Source+Serif+Pro:ital,wght@0,700;1,700&display=swap');

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  font-family: "DM Sans", sans-serif;
  font-weight: 400;
}

.background {
  height: 100%;
  width: 100%;
  background-image: linear-gradient(
    45deg,
    rgba(22, 65, 109, 0.2) 0%,
    rgba(22, 65, 109, 0.2) 16.667%,
    rgba(38, 134, 170, 0.36) 16.667%,
    rgba(38, 134, 170, 0.36) 33.334%,
    rgba(51, 153, 195, 0.39) 33.334%,
    rgba(51, 153, 195, 0.39) 50.001%,
    rgba(49, 194, 238, 0.37) 50.001%,
    rgba(49, 194, 238, 0.37) 66.668%,
    rgba(51, 153, 195, 0.39) 66.668%,
    rgba(51, 153, 195, 0.39) 83.335%,
    rgba(24, 127, 142, 0.35) 83.335%,
    rgba(24, 127, 142, 0.35) 100.002%
  ),
  linear-gradient(
    22.5deg,
    rgba(22, 65, 109, 0.2) 0%,
    rgba(22, 65, 109, 0.2) 16.667%,
    rgba(38, 134, 170, 0.36) 16.667%,
    rgba(38, 134, 170, 0.36) 33.334%,
    rgba(51, 153, 195, 0.39) 33.334%,
    rgba(51, 153, 195, 0.39) 50.001%,
    rgba(49, 194, 238, 0.37) 50.001%,
    rgba(49, 194, 238, 0.37) 66.668%,
    rgba(51, 153, 195, 0.39) 66.668%,
    rgba(51, 153, 195, 0.39) 83.335%,
    rgba(24, 127, 142, 0.35) 83.335%,
    rgba(24, 127, 142, 0.35) 100.002%
  ),
  linear-gradient(
    0deg,
    rgba(22, 65, 109, 0.2) 0%,
    rgba(22, 65, 109, 0.2) 16.667%,
    rgba(38, 134, 170, 0.36) 16.667%,
    rgba(38, 134, 170, 0.36) 33.334%,
    rgba(51, 153, 195, 0.39) 33.334%,
    rgba(51, 153, 195, 0.39) 50.001%,
    rgba(49, 194, 238, 0.37) 50.001%,
    rgba(49, 194, 238, 0.37) 66.668%,
    rgba(51, 153, 195, 0.39) 66.668%,
    rgba(51, 153, 195, 0.39) 83.335%,
    rgba(24, 127, 142, 0.35) 83.335%,
    rgba(24, 127, 142, 0.35) 100.002%
  ),
  linear-gradient(90deg, rgb(205, 0, 255), rgb(205, 0, 255));
  background-color: blue;
  background-repeat: no-repeat;
  display: flex;
  justify-content: space-around;
}

nav {
  background-color: rgb(58, 58, 58);
  box-shadow:0px 8px 24px 0px rgba(0, 0, 0);
  opacity: 90%;
  color: white;
  position: absolute;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 24px 8px 20px;
  width: 100%;
}

nav ul {
  padding: 0px;
  margin: 0px;

}

nav li {
  display: inline;
  padding: 2px;
  margin: 0px;
  color: white;
  text-shadow: 1px 1px 8px rgb(255, 0, 0, 0.6);  
}

nav li a {
  text-decoration: none;
  color: white;  
}

.nav-title li {
  font-family: "Source Serif Pro", sans-serif;
  font-weight: bold;
  font-style: italic;
  font-size: 24px;
}

nav li a:hover {
  color:rgb(255, 46, 22);
  text-shadow: 2px 2px 4px rgb(255, 0, 0);  
}

.card {
  border: solid white 1px;
  border-radius: 5px;
  border-width: 1px;
  width: 75%;
  height: 45%;
  box-shadow: rgba(0, 0, 0, 0.15) 4px 4px 10px 4px;
  font-size: 18px;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.card-body {
  min-height: 100px;
}

.generate-button {
  border: none;
  background-color: white;
  color: black;
  border-radius: 5px;
  font-family: "DM Sans", sans-serif;
  font-weight: 500;
  font-size: 28px;
  margin: 16px 16px 16px 20px;
  box-shadow: rgba(0, 0, 0, 0.15) 4px 4px 10px 4px;
  padding: 14px 34px;
  display: inline-block;
  text-align: center;
  cursor: pointer;
}

.generate-button:hover {
  background-color: rgb(255, 46, 22);
  color: white;
}

/* This is messy because using textarea, either replace or learn its properties */
#password {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 500px;
  height: 100px;
  font-size: 2rem;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 50px;
  border: solid 2px white;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.25);
  color: white;
  resize: none;
  overflow: hidden;
}

@media (max-width: 690px) {
  .btn {
    font-size: 1rem;
    margin: 16px 0px 0px 0px;
    padding: 10px 15px;
  }

  #password {
    font-size: 1rem;
  }
}

@media (max-width: 500px) {
  .btn {
    font-size: 0.8rem;
  }
}

@media (max-width: 450px) {
  .nav-links {
    display: none;
  }
}
