body {
  opacity: 0;
  transition: opacity 0.3s ease;
}

body {
    background-color: rgb(42, 42, 46);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 100vh;
    width: 100vw;
}

main {
    max-width: 600px;
    height: max-content;
}


h1 {
    font-family: monospace;
}

.max-width {
    max-width: 400px;
}

.pw-field {
    padding: 0.375rem 0.75rem;
    height: 40px;
}

#pw-result {
    font-family: monospace;
    font-size: 1.5rem;
}

.container-fluid {
    overflow: hidden;
}

.bg-img-blur {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    filter: blur(10px) brightness(90%);
    scale: 110%;
}

.img-container {
    max-height: 350px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.img-container>img {
    width: 100%;
    height: auto;
}

.photo-credits {
    bottom: 0;
    font-size: .7rem;
}

label.input-group-text {
    font-size: 1.2rem;
}

.input-group>.form-control {
    min-width: 70px;
}

footer {
    transform: translateX(-50%);
}

footer>p {
    font-size: .7rem;
}