* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    /*background: url(fondocielo.jpg);*/
}

/*
body {
    background-image: url(foto.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: fixed;
}*/

input:invalid {
    border: 2px dashed red;
}

input:valid {
    border: 2px dashed #46A2FD ;
}

#mailusu {
    text-transform: lowercase;
}


main {
    margin-top: 10px;
    top: 10px;
    left: 100px;
    width: 100%;
    padding: 20px;
    outline: none;
    /*outline: thick double #32a1ce;*/

    /*margin: 0px auto;*/
    /*margin-top: 100px;*/

}

.contenedor__todo {
    width: 100%;
    max-width: 800px;
    margin: auto;
    position: relative;

}

.caja__trasera {
    width: 100%;
    border: none;
    padding: 10px 20px;
    /* 10px arriba y abajo y 20px derecha e izquierda*/
    display: flex;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(10px);
    /*desenfoque*/
    background-color: rgba(3, 105, 255, 0.8);
}

.caja__trasera div {
    margin: 100px 40px;
    color: white;
    transition: all 500ms;

}

.caja__trasera div p,
.caja__trasera div button {
    margin-top: 30px;
}

.caja__trasera div h3 {
    font-weight: 410;
    /*especifica el peso o grueso de la letra. Algunos tipos de letra sólo están disponibles en normal y bold.*/
    font-size: 26px;
}

.caja__trasera button {
    padding: 10px 40px;
    border: 2px solid #fff;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    /*especifica el peso o grueso de la letra. Algunos tipos de letra sólo están disponibles en normal y bold.*/
    cursor: pointer;
    color: white;
    /*color texto*/
    outline: none;
    /*elimina linea negra del botón*/
    transition: all 300ms;
}

.caja__trasera button:hover {
    background: #fff;
    color: #46A2FD;
}

/* Formularios */
.contenedor__login-register {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 380px;
    position: relative;
    top: -275px;
    left: 10px;

    transition: left 500ms cubic-bezier(0.175, 0.885, 0.320, 1.275);

}

.contenedor__login-register form {
    width: 100%;
    padding: 80px 20px;
    /*background-color: #22d019;*/
    background: #fff;
    position: absolute;
    border-radius: 20px;
}

.contenedor__login-register form h2 {
    font-size: 30px;
    text-align: center;
    margin-bottom: 20px;
    color: #46A2FD;

}

.contenedor__login-register form input {
    width: 100%;
    margin-top: 20px;
    padding: 10px;
    border: none;
    background: #F2F2F2;
    font-size: 16px;
    outline: none;
}

.contenedor__login-register form button {
    padding: 10px 40px;
    margin-top: 40px;
    border: none;
    font-size: 14px;
    background: #46A2FD;
    color: white;
    cursor: pointer;
    outline: none;
}

.formulario__login {
    opacity: 1;
    display: block;
    /* Esto lo cambiaremos en javascript para ponerlo en block o none según queramos ocultar*/

}

.formulario__register {
    display: none;
}

/* Trabajando en el responsive Design*/

@media screen and (max-width: 850px) {
    main {
        margin-top: 50px;

    }

    .caja__trasera {
        max-width: 350px;
        height: 300px;
        flex-direction: column;
        margin: auto;
        background-color: transparent;


    }

    .caja__trasera div {
        margin: 0px;
        position: absolute;
    }

    /* Formulario Responsive Design*/
    .contenedor__login-register {
        top: -10px;
        left: -5px;
        margin: auto;
    }

    .contenedor__login-register form {
        position: relative;
    }
}


.izquierda {

    background: white;
    border: 3px solid rgb(186, 186, 186);
    height: 100vh;
    width: 30%;
    text-align: center;
    margin-left: 10px;
}

.centro {
    border: 3px solid rgb(186, 186, 186);
    height: 100vh;
    width: 40%;
    text-align: center;
    margin-left: 10px;
}

.derecha {
    /*background: url(fondocielo.jpg);
    background-size: cover;
    background-position: center;*/
    border: 3px solid rgb(186, 186, 186);
    width: 30%;
    height: 100vh;
    text-align: center;
    /*margin: 0 auto;
    display: flex;
    justify-content: center;*/
    margin-left: 10px;
    margin-right: 10px;
}

#pantalla-contenido {
    display: flex;
}


#cabecera1 {
    display: flex;
    height: 75px;
    margin: 10px;
    font-weight: 600;
    /*grosor de letra*/
    vertical-align: middle;
    text-align: center;
}

#cabecera1 p {
    display: inline;
    /*text-align: center;*/
    width: 600px;

}


h1 {
    font-size: 30px;
    width: 50%;
    margin: auto;
    margin-bottom: 20px;
    /* Margen de abajo*/
}

h2 {
    font-weight: bold;
    /*text-align: center;
    font-size: 20px;
    width: 50%;
    margin: auto;
    margin-bottom: 15px;*/
    /* Margen de abajo*/
}

p {
    font-size: 19px;
    line-height: 30px;
    width: 60%;
    margin: auto;
    /* Para centrar*/
    margin-left: 80px;
}

li {
    list-style: none;
    /* quita las marcas o puntos de los elementos del ul o li*/
}

.bonita {
    color: rgba(3, 105, 255, 0.8);
}

.enlace {
    text-align: center;
}

a {
    border: 3px solid blue;
    padding: 10px;
    text-decoration: none;
    /*para que no aparezca el subrayado*/
    color: rgb(3, 3, 15);
    border-radius: 15px;
    font-weight: bold;
    display: inline-block;
    margin-top: 10px;
    /*margin-left: 10px;*/
    margin-bottom: 5px;

}

/*
.btn1 {
    margin-left: 30px;
    border: burlywood;
}
*/

.btn {
    /*background: #fff;*/
    /* color de fondo */
    /*color: #4741d7;*/
    /* color de fuente */
    /*border: 2px solid #4741d7;*/
    /* tamaño y color de borde */
    /*padding: 16px 20px;*/
    /*border-radius: 3px;*/
    /* redondear bordes */
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: inline-block;
}

.btn:hover {
    color: white;
    /*color: #22d019;*/
    /* color de fuente hover */
}

.btn::after {
    content: "";
    background: rgba(3, 105, 255, 0.8);
    /*background: #030310;*/
    /* color de fondo hover */
    position: absolute;
    z-index: -1;
    /*padding: 16px 20px;*/
    display: block;
    border-radius: 50%;
    left: -50%;
    right: -50%;
    top: -150%;
    bottom: -150%;
    transform: scale(0, 0);
    transition: all 0.5s ease;
}

.btn:hover::after {
    transition: all 0.6s ease-out;
    transform: scale(1, 1);
}

#frm {
    border: solid gray 1px;
    width: 25%;
    border-radius: 2px;
    margin: 120px auto;
    background: white;
    padding: 50px;
}


/* MODAL */

#btn-abrir-modal {
    vertical-align: middle;
    max-height: 40px;
    /* Para que no deforme la imagen de usuario (login) y la lleve a un alto de 75px*/
    /*margin-left: 49%;*/
    /*margin-right: 10px;*/

}

#btn-cerrar-modal {
    margin-right: 20px;

}

#modal::backdrop {
    background-color: rgba(0, 0, 0, .55);
}

#modal {
    /*max-width: 50ch;*/
    margin: auto;
    /*Centra la pantalla de registro y login*/
    max-width: max-content;
    border: none;
    overflow-x: hidden;
    /* Deshabilitar el scrollbar horizontal */
}