/*selector universal*/
@charset "utf-8"
    
    box-sizing: border-box;
    list-style: none;
    margin: 0;
    padding: 0;

@font-face {
    font-family: 'gotham-book';
    src: url('gotham-black-webfont.woff2') format('woff2'),
         url('gotham-black-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'gothambold';
    src: url('gotham-bold-webfont.woff2') format('woff2'),
         url('gotham-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

<style type= "text/css">
 
.padre {padding: 0; margin: 0; margin-left: 0}
.hijo {padding: 0; margin: 0; margin-left: 0} 


nav li {padding: 0; align-items: baseline; list-style: none}

.navBar ul{padding: 0; display: flex; align-content: flex-start; flex-direction: row; list-style-type: none;}
.navBar li {margin-left: 0; display: flex; align-items: baseline; }

.navmensaje ul{display: flex; flex-wrap: nowrap;}
.navmensaje li {padding-right: 0.2em;}

.navbottom ul {padding: 0; display: flex; align-content: flex-start; flex-direction: row; list-style-type: none; margin-left: 1em;}
.navbottom li {margin-left:0; display: flex; align-items: baseline;}

.otrosobjetos {margin-left:2em; margin-bottom: 2em;}
.otrosobjetos a {margin-right: 2em;}

.botonesnav ul{display: flex; flex-direction: row; list-style-type: none; align-items: center; align-content: center; margin-left: 3em;}
.botonesnav li{display: flex; align-content: flex-start; flex-direction: row; list-style-type: none; margin: 0.3em; align-content: center; align-items: center;}

.botonsino {margin-left: 7em; margin-top: 2em;}


.bandejamensajes ul {margin-left: 0; padding-left: 0;}
.bandejamensajes li {margin-bottom: 0; padding:0; padding-bottom:}

.botoncerrarsesion {margin-left: 2.2em;}

.provcon {align-items: center; margin-top: 4em;  }
.provcon li {align-items: center; }

header: {
    align-items: ;
    font-family: 'gothambold';
    text-align: center;
    justify-content: center;
    }

header .titulo  {font-family: 'gothambold'; font-size: 1.2em; line-height: 2em;}

.tipodeusuario {margin-top: 2em; padding-bottom: 0em;}


.carrito {display:block;
    margin: 1em auto;
    align-content: center;
    font-family: sans-serif;
    font-size: 0.8rem
    color: black
}

h1 {font-family: sans-serif;
    font-size: 2.2em;
    color: #ffd937;
    border-bottom: 2px lightcoral;
    margin-bottom: 0.5em;
    margin-top: 0.5em;
text-align: center;
line-height: 3rem}

h2 {font-family: sans-serif;
    font-size: 1.2rem;
    color: #ffd937;
    border-bottom: 2px lightcoral;
    margin-bottom: 0.2em;
    margin-top: 0.5em;
    text-align: center;
    line-height: 1.5rem;
}
h3 {font-family: sans-serif;
    font-size: 1.1rem;
    color: #393939;
    border-bottom: 2px lightcoral;
    margin-bottom: 0.2rem;
    margin-top: 0.5em;
    text-align: center;
    line-height: 1.5rem;
}

form {padding-left: 1.2em; display:flex; flex-direction: column; 
    flex-wrap: wrap;
    font-family: 'gothambook';
    color: #ffd937;
    border-bottom: 2px;
    margin-bottom: 0.5em;
    margin-top: 0.2em;
    line-height: 3rem;
    align-content: space-around;
    justify-content: flex-start;
}

.cajaytipo {display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; align-content: center; width: 75%}
.cajaytipo label {font-size: 1.2em; padding-left: 5em; padding-right: 0em; margin-right: 0em; display: flex; flex-wrap: wrap;}
.cajaytipo input {padding-left: 0;}


input {width: 87%; margin-left: 0.6em; padding-top: 0em; padding-bottom: 1em; margin-bottom: 1em; font-size: 1em;}
.busqueda {padding-bottom: 2em;}
label {padding-bottom:0; align-content: center;font-family:'gotham-medium'; width: 87%; margin-left: 0.6em;}
.select {width: 87%; height: 2em; font-size: 0.9em; margin-top: 0em; padding-top: 0em; margin-left: 0.7em;}

.buttonlargo {padding:1em; width:87%; margin-left: 0.6em; padding-top: 1em; padding-bottom: 1em; margin-bottom: 1em; font-size: 1em; align-content: center; border-style: none;}
.buttonlargo a {color:black;}

.mensajeform {border: 1px dotted #999;
    font-family: 'gothambook';
    font-size: 2em;
    color: #ffd937;
    border-bottom: 2px;
    margin-bottom: 0.5em;
    margin-top: 0.2em;
    align-content: center;
    align-items: flex-start;
    text-align: left;
    line-height: 3rem;
    align-content: space-between;
    justify-content: flex-start;
}

p {font-family: 'gotham-book';
    margin-left: 2.3rem;
    margin-right: 2.3rem;
    font-size: 0.8rem;
    text-align: justify;
    display:flex;
    padding-bottom: 0.5em;
    max-width: 35em;
}

.acentrado {padding-left: 4em; align-content: center;align-items: center; justify-content: center }
.acentrado img {justify-content: center; align-content: center;align-items: center}
.menupic {display: inline;
    margin-left: 0;
    list-style-type: none;
    border-left-style: none;
    list-style-image: none;
    height: 0 0 0 0;
    margin: inherit;
    align-content: center;}

img {display: inline;
    list-style-type: none;
    height: 0 0 0 0;
    align-content: center;
    align-items: center;}

.imgcentradas {display: inline;
    list-style-type: none;
    margin-left: 10em;
    height: 0 0 0 0;
    align-content: center;
    align-items: center;}

.fondofoto {width: 100%;}

.deseoimprimirlo {display: flex;
    list-style-type: none;
    margin-left: 5em;
    margin-bottom: 2em;
    align-content: center;
    align-items: center;}

article figure {
    border-radius: 50%;
    overflow: hidden;
    max-width: 50vw;
    margin: 1em auto;
    box-shadow: 0 0.35em 0.5em 0 rgba(0, 0, 0, 0.2);
}

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

article>*:not(h2) {
    text-align: center;
}

#contenedor {
    background-color: white;
    box-shadow: 0;
    margin: auto;
    max-width: 30em;
    min-height: 100vh;
    width: 30vw;
}


footer {
    background-color: white;
    padding: 1em;
    text-align: center;
}

#logo {
    background-color: lightcoral;
    border-radius: 0.5em;
    font-weight: bold;
    font-size: 2em;
    text-align: center;
    width: 3em;
    box-shadow: 0 0 0 0.2em rgba(0, 0, 0, 0.2);
    display: inline-block;
    padding: 0.3em;
}



main,
aside {
    padding: 0em;
}

article {
    margin-bottom: 0em;
}

aside {
    background-color: lightcoral;
}




footer p {
    color: #ccc;
}


/*

2º:
layout usando "flexbox" para celulares

*/

#contenedor {display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: space-between}

header {flex-wrap: nowrap; align-items: center; align-content: center}

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 { display: flex; flex-direction:row; justify-content: space-between; flex:1}

    /* 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 {
        display:flex;
        flex-direction: row;
        
        /*  para que sea horizontal
            definimos la lista menú
            como caja flexible
    
        display: flex;
        */
    }
    nav ul li {
        display:flex;
        flex: 1
        flex-direction: row;
        /*  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 {
        flex-basis: 100%;
        /*
        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;
        */
    }
}