/*

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;

}

a {
    text-decoration: none;
}

h3 {
    font-family:'Exo', sans-serif;
    text-align: center;
    font-weight: 700;
    background-color:#08b5f2;
    color: #000000;
     
}


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


figure>img,
#logo>img {
    display: block;
}


header{
    background-color: #000000;
    height: 80px;
}

.cabecera{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 ;
    padding:1.10rem;
}

.galeria{
    background-color: #08b5f2;
    margin: 0.25rem 0;
    padding:9px; 
}

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

.imagen1{
    display: flex;
    justify-content: space-between;
    margin: 1rem 0 2rem auto;
    width: 100%;   
}


.img-galeria{
    max-width: 100%;
    margin: 0.5rem 0 2.5rem 0.25rem ;
    max-width: 40vw;
    box-shadow: 0 0.25em 0.25em 0 rgba(0, 0, 0, 0.3);
}


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: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    /*  indicaremos que el eje principal
        de la caja flexible
        sea la vertical   */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    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 */
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    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 */
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.contenidos {
    /* como caja contenedora flex */
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    /*  indicaremos que el eje principal
        de la caja flexible
        sea la vertical   */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    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 */
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    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*/
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    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: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    nav ul li {
        /*  para que el menú se extienda a lo ancho
            definimos que sus "hijos" puedan crecer o achicarse */
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        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: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        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 */
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        /*  indicamos que los "hijos del encabezados
            estén centrados verticalmente */
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-content: center;
    }
    nav {
        margin: 0;
        /*  indicamos que el menú mida
            todo el ancho MENOS 8em
            para que quepa el logo a la izquierda */
        -webkit-flex-basis: calc( 100% - 8em);
        -ms-flex-preferred-size: calc( 100% - 8em);
        flex-basis: calc( 100% - 8em);
    }
    article {
        /* como caja contenedora flex */
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        /*  en caso de ser necesario,
            los "hijos" de article pueden
            bajar a la siguiente línea de "hijos" */
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        /*  indicamos que los "hijos" de article
            se alineen en el inicio
            según el eje secundario (vertical) */
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        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: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: baseline;
        -webkit-align-items: baseline;
        -ms-flex-align: baseline;
        align-items: baseline;
        /*  como "hijo" de caja contenedora flex,
            se estira para ocupar toda la caja "padre" */
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        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: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
    section {
        /*  como "hijo" de caja contenedora flex,
            se estira para ocupar la mitad de la caja "padre" */
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 50%;
        -ms-flex: 1 1 50%;
        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   */
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
    }
    aside {
        /*  indicaremos que el eje principal
            de la caja flexible cambie
            a la vertical   */
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        /*  como "hijo" de caja flex "contenidos",
            indicamos ocupar 30% de la caja "padre"
            sin posibilidad de agrandarse ni achicarse */
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 30%;
        -ms-flex: 0 0 30%;
        flex: 0 0 30%;
    }
    section {
        /*  como "hijo" de caja flex aside,
            indicamos INposibilidad de agrandarse o achicarse */
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }
}