/*

1º:
reglas generales comunes a todos los dispositivos

*/

* {
    /* selector universal */
    box-sizing: border-box;
    /* para que el ancho de todas las etiquetas
        tomen como referencia el borde de las mismas
        y NO el contenido, como viene por defecto  */
    list-style: none;
    margin: 0;
    padding: 0;
}


<style>
@import url('https://fonts.googleapis.com/css?family=Exo:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
</style>


body {
    font-family: 'Exo', sans-serif;
    background: #08b5f2;
}


h6 {
    font-family: 'Exo', sans-serif;
    font-weight: 400;
    font-size: 0.75rem;
    color: #ffffff;
}

.ingresar{
    padding: 30rem;
}

.contenidos{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-around;
    padding:0.75rem 1.5rem 2rem;
    background: url('img/FONDO2.jpg') 70%;
}


footer{
    margin:auto;
    background-color: #000000;
    padding: 1.5rem;
    text-align: center;
}


/*

2º:
layout usando "flexbox" para celulares

*/

#contenedor {
    /*  usaremos el contenedor
        como caja "padre" flexible
    	para que el pié quede abajo
        aun con poco contenido 

    display: flex;
    */
    /*  indicaremos que el eje principal
        de la caja flexible
        sea la vertical   

    flex-direction: column;
    */
    /*  indicaremos que los elementos "hijos" 
        del contenedor se separen
    	para que el pié quede siempre abajo
        aun con poco contenido en la página
    
    justify-content: space-between; */
}

header,
footer {
    /*  flex resume 3 propiedades para los items:
        flex-grow (si se les permite crecer)
        flex-shrink (si se les permite achicar)
        flex-basis (medida según el eje ppal del flex)
        
        indicamos que el encabezado y el pié
        no "crezcan", pero que puedan "achicarse"
        si fuera necesario
    
    flex: 0 1 auto;
    */
}

.contenidos {
    /* como caja contenedora flex
    
    display: flex;
    */
    /*  indicaremos que el eje principal
        de la caja flexible
        sea la vertical
    
    flex-direction: column;
    */
    /*  indicaremos que los elementos "hijos" 
        de "contenidos" se separen
    	para que el aside quede siempre abajo
        aun con poco contenido en la página

    justify-content: space-between;
    */
    /*  como "hijo" de "contenedor", que es una caja flexible
        le indicamos que se achique o se agrande
        si fuera necesario, para que ocupe toda la pantalla
    
    flex: 1;
    */
}


/****************************************

             3º: mediaqueries
 
(cambios en el layout en la medida en que
la ventana del navegador se va ensanchando)

*****************************************/


/* a partir de 320px */

@media screen and (min-width:20em) {
    nav ul {
        /*  para que sea horizontal
            definimos la lista menú
            como caja flexible
    
        display: flex;
        */
    }
    nav ul li {
        /*  para que el menú se extienda a lo ancho
            definimos que sus "hijos" puedan crecer o achicarse

        flex: 1;
        */
    }
}


/* a partir de 480px */

@media screen and (min-width:30em) {
    header {
        /*  para que el menu horizontal
            quede al lado del logo
            definimos el encabezado
            como caja flexible

        display: flex;
        */
        /*  indicamos que el logo se vaya 
            lo más a la izquierda posible
            y el menu, lo más a la derecha posible

        justify-content: space-between;
        */
        /*  indicamos que los "hijos del encabezados
            estén centrados verticalmente

        align-items: center;
        */
    }
    nav {
        /*
        margin: 0;
        */
        /*  indicamos que el menú mida
            todo el ancho MENOS 8em
            para que quepa el logo a la izquierda

        flex-basis: calc( 100% - 8em);
        */
    }
    article {
        /*     como caja contenedora flex

        display: flex;
        */
        /*  en caso de ser necesario,
            los "hijos" de article pueden
            bajar a la siguiente línea de "hijos"

        flex-wrap: wrap;
        */
        /*  indicamos que los "hijos" de article
            se alineen en el inicio
            según el eje secundario (vertical)
        
        align-items: flex-start;
        */
    }
    /*
    article>h2 {
        width: 100%;
    }
    article>*:not(h2) {
        text-align: left;
    }
    article>figure {
        max-width: 25%;
        margin: 0 1em 0.5em 0;
    }
    article>p {
        max-width: 70%;
    }
    */
}


/* a partir de 640px */

@media screen and (min-width:40em) {
    main {
        /* como caja contenedora flex

        display: flex;
        */
        /*  indicaremos que el eje principal
            de la caja flexible cambie
            a la horizontal

        flex-direction: row;
        */
        /*  alinea verticalmente los "hijos"
            según la base de la primera línea de texto
        
        align-items: baseline;
        */
        /*  como "hijo" de caja contenedora flex,
            se estira para ocupar toda la caja "padre"
        
        flex: 1;
        */
    }
    /*
    main article {
        width: 50%;
        display: block;
        text-align: center;
    }
    article>*:not(h2) {
        text-align: center
    }
    article>figure {
        max-width: 50%;
        margin: 1em auto;
    }
    article>p {
        max-width: 90%;
        margin: auto;
    }
    */
    aside {
        /* como caja contenedora flex
    
        display: flex;
        */
    }
    section {
        /*  como "hijo" de caja contenedora flex,
            se estira para ocupar la mitad de la caja "padre"
        
        flex: 1 1 50%;
        */
    }
}


/* a partir de 800px */

@media screen and (min-width:50em) {
    .contenidos {
        /*  indicaremos que el eje principal
            de la caja flexible cambie
            a la horizontal

        flex-direction: row;
        */
    }
    aside {
        /*  indicaremos que el eje principal
            de la caja flexible cambie
            a la vertical

        flex-direction: column;
        */
        /*  como "hijo" de caja flex "contenidos",
            indicamos ocupar 30% de la caja "padre"
            sin posibilidad de agrandarse ni achicarse
        
        flex: 0 0 30%;
        */
    }
    section {
        /*  como "hijo" de caja flex aside,
            indicamos INposibilidad de agrandarse o achicarse
        
        flex: 0 0 auto;
        */
    }
}