* {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    /* border: 1px solid rgb(190, 190, 190); */
    /* font-family: 'Quicksand', sans-serif; */
    /* font-family: 'Roboto', sans-serif; */
    /* font-family: 'Montserrat', sans-serif; */
    /* font-family: 'Roboto Condensed', sans-serif; */
}

body {
    background-color: #EDEEF0;
}

header.cabecera {
    position: sticky;
    top: 0px;
    width: 100%;
    height: 110px;
    padding: 5px 0px 0px 0px;
    border-bottom: 1px solid #EDEEF0;
    background-color: #ffffff;
    display: grid;
    grid-template-columns: 10% 65% 10% 15%;
    grid-template-rows: 45% 25% 2% 28%;
    grid-template-areas:
    "A1 A2 A3 A4"
    "A1 A2 A3 A4"
    "B1 B1 B1 B1"
    "C1 C1 C1 C1";
    z-index: 1;
}

@media screen and (max-width: 620px) {

    header.cabecera {
        height: 110px;
        grid-template-columns: 20% 60% 20%;
        grid-template-rows: 45% 25% 2% 28%;
        grid-template-areas:
        "A1 A2 A3 A4"
        "A1 A2 A3 A4"
        "B1 B1 B1 B1"
        "C1 C1 C1 C1";
    }

    .linea {
        grid-area: B1;
        background-color: #EDEEF0;
    }
}

/* ___________________________________________________ */
 /* Inicia Estilos Payment "Botón Desplegable" */


 .perfil {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    grid-area: A1;
    cursor: pointer;
    margin: 0px 0px 0px 20px;
}

.perfil img {
    display: block;
    width: 35px;
    height: auto;
}

.check {
    display: none;
}

.check:checked + .panel-menu {
    position:fixed;
    top: 110px;
    bottom: 40px;
    left: 0px;
    width: 320px;
    background-color: #EDEEF0;
    transition: all 0,7s;
    padding: 20px 20px;

}

.panel-menu {
    position:fixed;
    top: 110px;
    bottom: 40px;
    left: -100%;
    width: 320px;
    background-color: #EDEEF0;
    transition: all 0.7s;
    padding: 20px 20px;
    z-index: 1;
}

.panel-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 20% 2% 50% 2% 20% 6%;
    row-gap: 2px;

}

.bloque1, .bloque2, .bloque3, .bloque4, .bloque5, .bloque6 {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

.bloque1 {
    grid: 1/-2;
}

.bloque1 img {
    width: 70%;
    height: auto;
    object-fit: fill;
    padding: 10px;
}

.bloque2 {
    grid: 2/3;
}

.bloque3 {
    padding: 5px;
    grid: 3/4;
}

.bloque3 h3 {
    font-family: 'Montserrat', sans-serif;
    color: #000000;
    font-size: 12pt;
    text-align: left;
    margin-bottom: 30px;
    width: 70%;
    height: auto;
    letter-spacing: normal;

}

/* Direcciones Pertenece al Bloque 3*/

div.contenedor-dir {
    display: inline-flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    width: 70%;
    height: auto;
    column-gap: 5px;
    row-gap: 5px;
    margin: 10px 0px;
}

div.icono-ubicacion {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    width: 20%;
    height: auto;
}

div.dir-locales {
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-start;
    align-content: flex-start;
    width: 80%;
    height: auto;
}

div.dir-locales h4 {
    width: 100%;
    height: auto;
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 8pt;
    text-align:left;
    letter-spacing: normal;
    margin-bottom: 5px;
    
}

p.direccion {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    color: #000000;
    font-size: 7pt;
    text-align: left;
    letter-spacing: normal;
}

img.icono-U {
    width: 35px;
    height: auto;
}

.bloque4 {
    grid: 4/5;
}

.bloque5 {
    grid: 5/6;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    margin: 0px 30px;
}

.link-facebook, .link-whatsapp, .link-instagram, .descarga-menu {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

.link-facebook, .link-whatsapp, .link-instagram, .descarga-menu, img {
    width: 35px;
    height: auto;
    justify-self: center;
    align-self: center;
}

.link-facebook, .link-whatsapp, .link-instagram, .descarga-menu, p.texto-redes {
    font-family: 'Roboto', sans-serif;
    font-size: 8pt;
    margin: 3px 5px;
    justify-self: center;
    align-self: center;
    letter-spacing: normal;

}

    .link-whatsapp {
        grid: 1/2 ;

    }

    .link-facebook {
        grid: 2/3;

    }

    .link-instagram {
        grid: 3/4;
    }

    .descarga-menu {
        grid: 4/5;
    }

.linea-separacion {
    display: block;
    width: 70%;
    height: 1px;
    background-color: #808080;
}


.bloque6 {
    grid: 6/7;
  
    
}

.bloque6 p {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    color: #000000;
    font-size: 9pt;
    text-align: center;
    letter-spacing: normal;

}

@media screen and (max-width: 620px ) {

    .check:checked + .panel-menu {
        top: 110px;
        bottom: 40px;  
    }

    .perfil {
        margin: 0px 0px 0px 0px;
    }
}


@media screen and (min-width: 380px) and (max-width: 480px) {
  
    .check:checked + .panel-menu {
        width: 100%;
        padding: 30px 40px;   
    }

    .panel-menu {
        width: 100%;
        padding: 30px 40px;
    }
}

@media screen and (max-width: 380px) {

    .check:checked + .panel-menu {
        width: 100%;
        padding: 30px 30px;   
    }

    .panel-menu {
        width: 100%;
        padding: 30px 30px;
    }

    .bloque1 img {
        padding: 10px;
    }
    
}

/* ___________________________________________________ */
 /* Inicia Estilos "Logo Cabecera" */



.logo-restaurante {
    background-image: url("../imagenes-index/logo_abysmo_blanco.svg");
    background-size:contain;
    background-position: left;
    background-repeat: no-repeat;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-template-rows: auto;
    grid-template-areas:
    "left center right";
    width: 100%;
    height: 100%;
    grid-area: A2;
    align-self: center;
 }


 @media screen and (max-width: 620px) {

    .logo-restaurante {
        background-position: center;
        align-items: center;
        justify-content: center;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        grid-template-areas:
        "center";
     }

}


 /* ___________________________________________________ */
 /* Inicia Estilos Payment "Botón Pago" */



 .payment {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: auto;
    grid-area: A3;
}

.payment img {
    display: block;
    width: 30px;
    height: auto;
}


@media screen and(max-width: 620px ) {

    .payment img {
        display: block;
        width: 40px;
        height: auto;
    }
    
}


/* ___________________________________________________ */
/* Inicia Estilos Botones "Redes Sociales" */



.redes {
    display: flex;
    flex-flow: row nowrap;
    align-content: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin: auto;
    grid-area: A4;
}

.redes img {
    display: block;
    width: 25px;
    height: auto;
    margin: 0px 2px;
}




/* ___________________________________________________ */
/* Inicia Estilos Línea "Línea Divisoria" */

.linea {
    grid-area: B1;
    background-color: #EDEEF0;
}



/* ___________________________________________________ */
/* Inicia Estilos Título menú "titulo-menu-cabecera" */



.titulo-menu-cabecera {
    display: flex;
    flex-flow: column nowrap;
    align-items:center;
    justify-content:center;
    background-color: #ffffff;
    width: 100%;
    height: 30px;
    grid-area: C1;

}

.titulo-menu-cabecera h2 {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 400;
    color: #000000;
    font-size: 1em;
    margin-top: 3px;
    letter-spacing: normal;
}

@media screen and (max-width: 620px) {

    .titulo-menu-cabecera h2 {
        font-size: 1em;
        margin-top: 7px;
    }

    .redes {
        display: none;
    }

}


/* ___________________________________________________________________________________ */
                    /* * inicia los stilos de "Section Menú" */ 


    div.form-contenedor, 
    div.texto-cabecera-conteiner,
    label.form-indicaciones,
    label.datos-clientes {
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
    }

    div.form-contenedor { 
        background-color: #ffffff;
        max-width: 480px;
        height: 100%;
        margin: 3px auto 42px auto;
    }                 

    div.texto-cabecera-conteiner {
        text-align: center;
        margin: 20px 10px;
    }

    p.cabecera-texto-01, 
    p.cabecera-texto-02 {
        font-family: 'Quicksand', sans-serif;
        font-size: 0.9em;
        color: #808080;
        margin: 2px 0px;
        letter-spacing: normal;
    }

    hr.division {
        width: 60%;
        color: #808080;
      
    }

    form.formulario { 
        display: flex;
        flex-flow: column nowrap;
        justify-content: center;
        align-items: center;
        width: 85%;
        margin: 25px 0px;
    }

    label.form-comentarios {
        margin: 15px 0px;
        width: 95%;
    }
    
    textarea.text-comentarios {
        text-align: left;
        border-color: 1px solid #808080;
        width: 100%;
        height: 80px;
        padding-left: 3px;
        padding-top: 3px;
        margin: 15px 0px;   
      
    } 

    label.datos-clientes,
    label.fecha-reserva,
    label.form-indicaciones {
        align-items: flex-start;
        font-family: 'Quicksand', sans-serif;
        font-size: 0.9em;
        color: #000000;
        font-weight: 600;
        margin: 10px 0px;
        width: 100%;
        letter-spacing: normal;

    }
    

    div.datos-contenedor,
    div.fecha-hora-contenedor {
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin: 8px 0px;
    }

    input.form-nombres, 
    input.form-apellidos, 
    input.form-whatsapp, 
    input.form-email,
    input.form-date,
    input.form-time {
        width: 100%;
        height: 30px;
        margin: 10px;
        border: none;
        outline: none;
        border-bottom: 1px solid #808080;
    }

    input.boton-enviar {
        font-family: 'Quicksand', sans-serif;
        background-color: #808080;
        color: #ffffff;
        font-size: 1.1em;
        width: 100%;
        height: 50px;
        border: none;
        outline: none;
        letter-spacing: normal;

    }

    input.boton-enviar:hover {
        background-color: #000000;
        color: #ffffff;
        transition: all 0.5s;
    }

@media screen and (max-width: 720px) { 
    
    div.form-contenedor { 
        margin: 3px auto;
    }  

    input.boton-enviar {    
        background-color: #000000;      
    }              

}

@media screen and (max-width: 359px) {
    div.contenedor-calificativos.mod-05 {
        width: 107%;
    }
}



/* _______________________________________________________ */
/* inicia los stilos de "Nav Menú Pie" */



section.menu-pie {
    position:fixed;
    bottom: 0px;
    margin-top: 3px;
    background-color: #ffffff;
    height: 40px;
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}

section.menu-pie nav {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-template-areas:
    "pie-1 pie-2 pie-3 pie-4";
    width: 340px;
    height: 80%;
}

section.menu-pie nav a {
    text-decoration: none;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
}

section.menu-pie nav a img {
    display: block;
    width: 27px;
    height: auto;

}

.menu-qr {
    grid-area:pie-1;
}

.promo-dia {
    grid-area:pie-2;
}

.reservas {
    grid-area:pie-3;
}

.califica {
    grid-area:pie-4;
}

@media screen and (max-width: 720px) {
    
    section.menu-pie {
        position:sticky;
        bottom: 0px;
}

}

@media screen and (max-width: 360px) {

section.menu-pie nav  {
    width: 280px;
}

}

*{
    letter-spacing: normal;
}