* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: sans-serif;


}

body {
    background-color: #2f3954;
    color: #282847;
    background-image: url('https://img.freepik.com/free-vector/worldwide-connection-gray-background-illustration-vector_53876-80911.jpg?w=1060&t=st=1696825986~exp=1696826586~hmac=7d1408f2dcc4c8070f8c9b3a15ea317716bd71abf1cb64c355964403753b3ad5');
    background-size: 2000px 1000px;
    background-repeat: no-repeat;
}

main {
    display: flex;
    align-items: center;
    justify-content: left;
    min-height: 100vh;
    padding: 2rem;



}


.generator {
    width: 100%;
    max-width: 640px;
    padding: 2rem 1rem;
    background-color: #fff;
    border-radius: 1rem;
}

h1 {
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

input:not([type="checkbox"]),
button {
    appearance: none;
    outline: none;
    border: none;
    background: none;
}

input[type="checkbox"] {
    cursor: pointer;
    width: 20px;
    height: 20px;
}

.password-wrap {

    position: relative;
    display: flex;
    width: 100%;
    margin-bottom: 1rem;
}

.password-wrap:after {
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    height: 3px;
    left: 0;
    right: 0;
    border-radius: 3px;
    background: linear-gradient(to right, #70086f 25%, #528fdf 75%);
}


.password-wrap input {
    flex: 1 1 0%;
    padding: 0.5rem;
    color: rgb(49, 29, 4);
}

.password-wrap input::placeholder {
    color: #888;
    font-style: italic;

}

.password-wrap button {
    cursor: pointer;
    background: linear-gradient(to right, #c8c2c8 0%, #e2e7ee 75%);




}

.material-icons {
    font-size: xx-large;
}


label {
    display: flex;
    white-space: nowrap;
    user-select: none;
    margin-bottom: 1rem;
}

label span {
    display: block;
    flex: 1 1 0%;
    white-space: nowrap;

}

label input[type="number"] {
    text-align: right;
}

button[type="submit"] {
    cursor: pointer;
    padding: 0.5rem 1rem;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    border-radius: 0.27rem;
    background: linear-gradient(to right, #70086f 25%, #528fdf 50%);
    background-size: 200%;
    background-position: 25%;
    transition: 0.3s ease-out;
}

button [type="submit"]:hover {
    background-position: 75%;
}

.navbar ul {
    display: flex;
    align-items: center;
    justify-content: left;
    list-style: none;
    background-color: #ececec;
    padding: 1rem;
}

.navbar {
    text-shadow: 3px 3px 3px #cccccc;
}