* {
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    border-collapse: collapse;
    --colorAzulClaro: #E9ECF8;
    --colorAzulOscuro: #052051;
    transition: all .2seg ease-in-out;
}

link[rel="shorcut"] {
    background-color: rgb(255,255,255);
}

body {
    background-color: var(--colorAzulClaro);
    color: var(--colorAzulOscuro);
}

textarea:focus {
    border: 1px solid rgb(255,255,255);
    color: rgb(255,255,255);
    background-color: var(--colorAzulOscuro)
}

button {
    width: 328px;
    height: 67px;
    padding: 24px;
    border-radius: 24px;
    border: 1px;
    gap: 8px;
    font-size: 18px;
}

button[encriptar] {
    background-color: var(--colorAzulOscuro);
    color: #fff;
    border: 2px solid var(--colorAzulOscuro);
}

button[encriptar]:focus, button[encriptar]:hover {
    background-color: #356EA9;
}

button[desencriptar] {
    background-color: var(--colorAzulClaro);
    color: var(--colorAzulOscuro);
    border: 2px solid var(--colorAzulOscuro);
}

button[desencriptar]:hover, button[desencriptar]:focus {
    background-color: #ADB5BD;
}

@media screen and (min-width: 481px) {
    main {
        width: 100vw;
        height: 100vh;
        display: flex;
        flex-direction: row;

        & > section {
            margin: 30px 0;
            gap: 20px;
        }

        & > section:nth-child(1) {
            background-image: url(logoAlura.svg);
            background-size: 100% auto;
            background-position: center top;
            background-repeat: no-repeat;
            flex-basis: 0;
            flex-grow: .4;
        }

        & > section:nth-child(2) {
            flex-basis: 0;
            flex-grow: 1;
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;

            & > textarea {
                border: 1px solid var(--colorAzulOscuro);
                width: 680px;
                height: 800px;
                border-radius: 10px;
                padding: 10px;
                color: var(--colorAzulOscuro);
            }

            & textarea:focus {
                color: rgb(255,255,255);
            }

            & > div.mensaje {
                width: 680px;
                font-size: 18px;
                color: #45565F;
                text-align: left;
                padding-left: 20px;
                background-image: url(exclamacion.svg);
                background-size: 16px 16px;
                background-repeat: no-repeat;
                background-position: left center;
            }
        }

        & > section:nth-child(3) {
            flex-basis: 0;
            flex-grow: .5;
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;

            & > div#desencriptado {
                position: relative;
                background-color: rgb(255,255,255);
                width: 90%;
                height: 800px;
                border-radius: 10px;
                padding: 5px;
                color: var(--colorAzulOscuro);
                background-size: 70% auto;
                background-position: center center;
                background-repeat: no-repeat;

                & > div.mensajeNo {
                    font-size: 1.2em;
                    position: absolute;
                    left: 0;
                    bottom: 2px;
                    width: 95%;
                    display: flex;
                    flex-direction: column;
                    text-align: center;

                    & > strong {
                        width: 100%;
                        font-size: 1.5em;
                        text-align: center;
                    }
                }
            }

            & > button {
                display: none;
            }
        }
    }
}

@media screen and (max-width: 480px) {
    
    main {
        width: 95vw;
        height: auto;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 15px;
        padding-left: 2.5vw;

        & > section {
            width: 95vw;
        }

        & > section:nth-child(1) {
            background-image: url(logoAlura.svg);
            background-size: auto 90%;
            background-repeat: no-repeat;
            background-position: center center;
            width: 100%;
            height: 100px;
        }

        & > section:nth-child(2) {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 95vw;
            height: 300px;
            gap: 10px;

            & > textarea {
                border: 1px solid var(--colorAzulOscuro);
                width: 95%;
                height: 150px;
                padding: 10px;
                color: var(--colorAzulOscuro);
                border: 1px solid var(--colorAzulOscuro);
                border-radius: 5px;
            }

            & textarea:focus {
                color: rgb(255,255,255);
            }

            & > div.mensaje {
                width: 95vw;
                height: 30px;
                background-position: 20px 3px;
                padding-left: 40px;
            }

            & > div.botones {
                display: flex;
                flex-direction: column;
                gap: 10px;
            }
        }

        & > section:nth-child(3) {
            display: flex;
            flex-direction: column;
            gap: 10px;
            justify-content: center;
            align-items: center;

            & > div#desencriptado {
                position: relative;
                background-color: rgb(255,255,255);
                border-radius: 10px;
                width: 95vw;
                height: 150px;
                background-size: auto 80%;
                background-position: center 10px;
                background-repeat: no-repeat;

                & > div.mensajeNo {
                    position: absolute;
                    left: 0;
                    bottom: 0;
                    width: 100%;
                    text-align: center;
                }
            }

            & > button {
                display: none;
            }
        }
    }
}