/* General */
*{
    margin: 0;
    padding: 0;
}

html{
    background-color: #1b1b1b;
    color: aliceblue;
}

h1{
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 7.5rem;
    padding-top: 7dvh;
    padding-bottom: 3.5dvh;
}

h2{
    display: flex;
    justify-content: center;
    align-items:center;
    font-size: 5rem;
    padding-top: 2.5dvh;
    padding-bottom: 1.25dvh;
}

.footer{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 15dvh;
    font-size: 1.5rem;
}

/* index */
.options{
    margin-top: 15dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    gap: 2.5dvh;

}
.options button{
    width: 60dvw;
    height: 5dvh;
    border-radius: 50px;
    font-size: 1.5rem;
}

.options button:hover{
    cursor: pointer;
    background-color: rgb(73, 243, 39);
}

/* Encrypt and Decrypt */
.main{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}
label{
    font-size: 2.5rem;
    padding-bottom: 2dvh;
    padding-top: 2dvh;

}
input{
    padding-top: 2px;
    padding-bottom: 2px;
    width: 60dvw;
    height: 3dvh;
    border-radius: 50px;
    font-weight: bold;
    font-size: 1rem;
    padding-left: 20px;
    padding-right: 20px;

}

.buttons{
    padding-top: 5dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2vw;
}
button{
    width: 15vw;
    height: 5dvh;
    background-color: rgb(20, 148, 5);
    color: aliceblue;
    font-size: 1.5rem;
    font-weight: bolder;
    border-radius: 50px;
}

button:hover{
    background-color: aliceblue;
    transition: 1s;
    color: rgb(20, 148, 5);
}

.encrypt-msg,
.decrypt-msg{
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
    font-size: 2rem;
    margin-top:4vh;
}

/* Optimizing for different displays */
@media screen and (max-width: 1440px) {
    .footer{
        margin-top: 8dvh;
    }
    h1{
        padding-top: 2dvh;
        padding-bottom: .4dvh;
    }

    h2{
        padding-top: 1dvh;
    }
    
}

@media screen and (max-width: 1024px) {
    button{
        width: 16vw;
        font-size: 1rem;
        padding: 5px;
    }
    
}

@media screen and (max-width: 768px) {
    button{
        width: 16vw;
        font-size: .75rem;
        padding: 5px;
    }

    h1{
        font-size: 6rem;
    }
    h2{
        font-size: 3.5rem;
    }
    label{
        font-size: 2rem;
    }
    input{
        font-size: 1rem;
    }
    
}

@media screen and (max-width: 425px) {
    button{
        width: 19vw;
        height: 7dvh;
        font-size: .75rem;
        padding: 5px;
    }

    h1{
        font-size: 3.5rem;
    }
    h2{
        font-size: 3.5rem;
    }
    label{
        font-size: 2rem;
    }
    input{
        font-size: 1rem;
    }
    
}

@media screen and (max-width: 375px) {
    button{
        width: 25vw;
        height: 7dvh;
        font-size: .75rem;
        padding: 5px;
    }

    h1{
        font-size: 3rem;
    }
    h2{
        font-size: 2rem;
    }
    label{
        font-size: 2rem;
    }
    input{
        font-size: 1rem;
    }
    
}

@media screen and (max-width: 375px) {
    button{
        width: 25vw;
        height: 7dvh;
        font-size: .75rem;
        padding: 5px;
    }

    h1{
        font-size: 2.8rem;
    }
    h2{
        font-size: 2.25rem;
    }
    label{
        font-size: 2rem;
    }
    input{
        font-size: 1rem;
    }
    
}