/* 1096px solapamiento de menús */
/* A menos de 803 se arregla */
/* Responsive de Bootstrap a 768px */

@import url('https://fonts.googleapis.com/css2?family=Signika:wght@300;400;500;600;700&display=swap');
@font-face {
    font-family: 'tahuregular';
    src: url('./fonts/tahu-webfont.woff2') format('woff2'),
         url('./fonts/tahu-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
     font-family: 'Signika', sans-serif !important;
}
/* $GENERAL */
.font-dancing {
     font-family: 'tahuregular', cursive;
    /*font-family: 'Dancing Script', cursive;*/
}
.font-roboto {
    font-family: 'Signika', sans-serif;
}
.font-montserrat-alt {
    font-family: 'Montserrat Alternates', sans-serif;
}
.font-gris {
    color: #727272;
}
.w-100 {
    width: 100%;
}
.p-1 {
    padding: 1em;
}
.mt-1 {
    margin-top: 1em;
}
.no-resize {
    resize: none;
}

/* $MENÚ PARA PARTES QUE NO SEAN LA TIENDA */

body:not(.tienda) .navbar-opciones {
    display: none;
}

body:not(.tienda) .head {
    background-image: none;
}

@media(min-width: 768px){
    body:not(.tienda) .navbar-roncalli {
        margin:0 auto;
        text-align: center;
        width:100%;
    }

    body:not(.tienda) .menu-principal {
        margin:0 auto;
    }

    body:not(.tienda) .menu-principal ul {
        width: 100%;
        position: absolute;
    }

    body:not(.tienda) .menu-principal ul li {
        display: inline-block;
        margin: 0em auto;
        float: none;
    }
}


/* $MENÚ */


@media (min-width: 768px) {
    .head {
        background-image: none, url('../imagenes/fondo-header.jpg');
        background-position: 768px;
        background-repeat: no-repeat, no-repeat;
    }
}

.navbar-roncalli {
    background-color: #fff;
    border-color: transparent;
    font-family: 'Montserrat', sans-serif;
    margin-bottom: 0em;
    overflow: hidden;
    border: 0;
    border-radius: 0;
}

.navbar .nav.navbar-nav.navbar-menu a {
    text-transform: uppercase;
    font-weight: bolder;
    color: black;
}

.navbar-header {
    padding-left: 0;
    padding-bottom: 1em;
}

.navbar-menu {
    padding-left: 0;
}

@media (min-width: 1200px) {
    .navbar-menu {
        padding-left: 8em;
    }
}

.separador {
    min-height: 1em;
}

.separador.separador-lg {
     min-height: 4em;
}

.separador.separador-xl {
     min-height: 8em;
}

.separador.gris {
    background-color: #e7e5f0;
}

.navbar-brand {
    height: auto;
}

.menu-principal {
    position: relative;
}

.menu-principal .navbar-menu {
    min-height: 113px;
    padding-top: 3em;
}

.navbar-opciones {
    min-height: 113px;
    background-color: #717171;
    padding-top: 3em;
    position: relative;
    padding-right: 0;
}


@media (min-width: 768px){

    .navbar-opciones::before {
        content: '';
        position: absolute;
        right: 1em;
        width: 100%; 
        height: 920px; 
        background-color: #717171;
        top: -30em;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .navbar-opciones li {
        position: relative;
        right: 4em;
        margin-left: 0.2em;
        margin-right: 0.2em;
    }

    .navbar-opciones li:nth-child(2)::before{
        content: '|';
        position: absolute;
        font-weight: normal;
        top: 1em;
        left: -0.2em;
    }
}


.navbar .nav.navbar-nav.navbar-opciones *,.navbar .nav.navbar-nav.navbar-opciones a {
    color: white;
}

@media (max-width: 1200px) {
    .navbar-menu {
        clear: both;
    }
}

/* $HOME */

.home p {
    line-height: 2em;
}

.quienes-somos {
    padding: 2em 0em 6em 0em;
}

.titulo {
    color: #d47729;
    font-size: 6em;

    line-height: .9;
}

.titulo, .titulo-gris {
    padding-bottom: 0.2em;
}

.titulo-gris {
    font-size: 4em;
    color: #717171;
}

@media (min-width: 400px){
    .titulo, .titulo-gris {
        font-size: 6em;
        line-height: .8;
    }
}

@media (min-width: 768px){
    .titulo, .titulo-gris {
        font-size: 7em;
        line-height: .9;

    }
}

.centrado-justificado {
    text-align: justify;
    -moz-text-align-last: center;
    text-align-last: center;
}

.saber-mas {
    text-align: center;
    margin: 4em 0 0 0;
}

.saber-mas > a {
    text-transform: uppercase;
    color: #fff;
    background: #d47729;
    padding: 1em 4em;
    text-decoration: none;
}

.saber-mas > a:hover {
    background: #f1a257;
}

.gris {
    background: #e7e5f0;
}

.footer {
    background: #e1e1e1;
    padding: 2em 0;
}

.footer__logo img {
    margin: 1em auto 0em auto;
}

.footer__info ul {
    float: left;
    width: 100%;
    list-style: none;
    text-align: center;
    padding: 0;
}

.footer__info ul a {
    color: #d47729;
}

.footer__info ul:nth-child(2) {
    padding-left: 0.5em;
}

.footer__logo p {
    color: #424242;
    font-size: 1.2em;
}

@media (min-width: 992px) {

    .footer__logo p {
        padding-top: 2em;
    }

    .footer__info ul {
        width: 50%;
        text-align: left;
    }
}

.migas-pan {
    margin-top: 2em;
}

.migas-pan .breadcrumb {
    background-color: transparent;
}

/* $EMPRESA */
.cabecera-empresa {
    background-color: #e7e5f0;
}

.cabecera-empresa .titulo-empresa {
    padding: 0.3em 0.75em;
    font-size: 5em;
    margin: 0.5em auto;
}

/* Actualización 2021: Estilos */
.descripcion-empresa {
    margin: 2.5em 0em 4em 0em;
    padding: 1em;
}

.producto {
    text-align: center;
    min-height: 278px;
    overflow: hidden;
    border-radius: 10px;
    max-width: 255px;
}

.producto img {
    height: 278px;    
    margin: 0em -100%;
    max-width: none;
    width: auto;
    
}

.producto figcaption {
    border-radius: 10px;
    position: absolute;
    bottom: 0;
    left: 13px;
    right: 0;
    background-color: rgba(255,255,255,0.7);
    opacity: 0;
    /*overflow: hidden;*/
    width: 90%;
    height: 0;
    transition: .5s ease;
    border: 2px solid transparent;
}

.producto:hover figcaption {
    height: 100%;
    border: 2px solid rgb(8,173,214);
    opacity: 1;
}

.producto figcaption .caption {
    color: white;
    font-size: 20px;
    position: relative;
    /*overflow: hidden;*/
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
     max-width: 255px;
}

.producto .producto-nombre {
    color: #019ac4;
    font-size: 16px;
}

.producto figcaption .producto-acciones {
    width: 255px;
    position: absolute;
    left: 0em;
    top: -1em;
    transition: .5s ease;
    opacity: 0;
}

.producto:hover figcaption .producto-acciones {
    opacity: 1;
    display: block;
    top: 5em;
}

.producto .producto-nombre {
    color: #717171;
}

.producto .producto-acciones a {
    color: #717171;
    display: inline-block;    
    text-decoration: none;
}

.producto .producto-acciones a:first-child {
    padding-right: 1em;
}

.listado-productos > div {
    margin-top: 2em;
}

.cabecera-empresa img {
    margin: 2.5em 0em 4em 0em;
    padding: 1em;
    border: 1px solid white;
}


/* $CONTACTO */

.gmaps {
    min-height: 48em;
}

.linea-separadora {
    padding: 1px 0;
}

input[type="text"].form-custom, input[type="email"].form-custom, input[type="password"].form-custom{
  border: 2px solid white;
  background: transparent;
  width: 100%;
  padding: 1em 2em;
  
}
textarea.form-custom {
  border: 2px solid white;
  background: transparent;
  width: 100%;
  resize: none;
  padding: 1em 2em;  
}

button.form-custom {
  border: transparent;
  padding: 1em 2em;
  min-width: 15em;
  color: white;
  background-color: #d47729;
  transition: all 0.25s;
}

button.form-custom:hover {
    background: #f1a257;
}

.contacto-section {
    padding: 3em 4em 3em 0em;
}

.contacto-section + div {
    border-left: 6px double #7d7d7d;
    border-right: 6px double #7d7d7d;
    padding-left: 0em;
    padding-right: 0em;
}

@media (max-width: 767px) {

    .contacto-section {
        text-align: center;
        padding: 3em 2em;
        margin: 0em auto;
    }

    .contacto-section + div {
        border-left: transparent;
        padding: 0em;
    }

    .cabecera-empresa img {
        margin: 6em auto;
    }

    .cabecera-empresa .titulo-empresa {
        text-align: center;
    }
    
}

@media (max-width: 429px) {
    .cabecera-empresa .titulo-empresa {
        font-size: 3em;
    }
}

/* $CARRITO */


.contenedor-carrito {
    border: 1px solid #e7e5f0;
    /*margin-top: 4em;*/
}


.carrito .contenedor-carrito h2 {
    font-size: 18px;
    font-family: Arial;
    text-align: left;
}

.producto-carrito img {
    max-height: 180px;
    position: relative;
    left: -35%;
}

.producto-carrito {
    max-width: 163px;
    max-height: 163px;
    overflow: hidden;
}

.listado-productos-carrito__item {
    margin: 1em 0em;
}

.listado-productos-carrito .producto-nombre {
    font-weight: bold;
}

.boton-comprar {
    border: transparent;
    padding: 1em 2em;
    min-width: 12em;
    color: #717171;
    background-color: #e7e5f0;
    transition: all 0.25s;
    font-weight: bold;    
}

a.boton-comprar {
    text-decoration: none;
    position: relative;
    top: 0.8em;
}

.boton-comprar:hover {
    background-color: #d7d5e0;
    color: #717171;
}

.listado-productos-carrito .accion-borrar {
    font-size: 34px;
    margin-bottom: 1.8em;
}

.accion-borrar a {
    color: #1d1d1b;
    text-decoration: none;
}

.font-bold {
    font-weight: bold;
}

.form-custom.btn-comprar {
    background-color: #08add6;
    display: inline-block;
    color: white;
    text-align: center;
    text-decoration: none;
    font-weight: normal;
    min-width: 12em;
}

.form-custom.btn-comprar:hover {
    background-color: #068bac;
}

@media (max-width: 767px) {
    .contenedor-boton-comprar {
        text-align: center;
    }
    .ficha-producto .titulo-producto {
        padding-top: 2em;
        text-align: center;
    }
}




/* $PAGINA LOGIN */


.btn-registrarse, .btn-iniciar-sesion {
    text-align: center;
    padding: 0em;
    margin-bottom: 2em;
}

.btn-registrarse a, .btn-iniciar-sesion a {
    display: inline-block;
    width: 100%;
    background-color: #e7e5f0;
    padding: 1.25em;
    color: #717171;
    text-decoration: none;
    font-weight: bold;
}

.form-login {
    border: 2px solid #e1e1e1;
    padding: 1em;
    width: 100%;
}

.form-login::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color: #717171;
}
.form-login:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color: #717171;
   opacity:  1;
}
.form-login::-moz-placeholder { /* Mozilla Firefox 19+ */
   color: #717171;
   opacity:  1;
}
.form-login:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color: #717171;
}
.form-login::-ms-input-placeholder { /* Microsoft Edge */
   color: #717171;
}

.contenedor-boton {
    text-align: center;
}

.boton-login {
    /* MODULARIZADO CON SYMFONY: COLORES DE LA EMPRESA */
    border: transparent;    
    padding: 0.8em;
    min-width: 12em;
}

.formulario-registro {
    display: none;
}

.formulario-registro div.form-group div:first-child {
    padding-left: 0em;
    margin-bottom: 1.5em;
}

.formulario-registro div.form-group div:last-child {
    padding-right: 0em;
    margin-bottom: 1.5em;
}

.tabla-codigos th, .tabla-codigos td {
    text-align: center;
}

/* $DATOS PERSONALES */

.datos-personales .contenedor-foto {
    margin-top: 4em;
    margin-bottom: 2em;
    position: relative;
    padding: 2em;
    border: 1px solid white;
    min-height: 27.5em;
}

.datos-personales .cabecera-empresa.cabecera-datos-personales .empresa-perfil {
    bottom: 1em;
    position: absolute;
    width: 30%;
    background-color: white;
    border-radius: 50%;
    padding: 0.35em;
    left: 50%;
    transform: translate(-50%, 0);
}

.datos-personales .cabecera-empresa.cabecera-datos-personales .empresa-perfil img {
    border: none;
    margin: auto;
    padding: auto;
}



.datos-personales .contenedor-cabecera-datos-personales {
    background-color: white;
    margin-top: 4em;
    margin-bottom: 2em;
}

.datos-personales .contenedor-cabecera-datos-personales * {
    margin: 0em;
    padding: 0em;
}

.datos-personales .contenedor-cabecera-datos-personales .titulo-apartado {
    /* COLORES MODULARIZADOS CON SYMFONY */
    padding: 0.3em 0.75em;
    font-size: 4em;
}

.datos-personales .contenedor-cabecera-datos-personales .titulo-datos-personales {
    text-align: center;
    padding: 1.4em 0.75em;
    vertical-align: middle;
    font-size: 1.5em;
}

.datos-personales .contenedor-boton-datos-personales {
    margin-top: 1em;
    text-align: left;
}

.datos-personales .formulario-datos-personales label {
    display: inline-block;
    padding-left: 1em;
    font-family: roboto;
    font-weight: lighter;
    /* COLORES MODULARIZADOS CON SYMFONY */
}

/* $CARRITO PASO 2 */

.formulario-nueva-direccion, .formulario-direccion-guardada {
    display: none;
}

/* $PAGINA GRACIAS COMPRA */

body.gracias .titulo-gracias {
    font-size: 5em;
    padding-bottom: 0.5em;
}

body.gracias .texto-mensaje {
    line-height: 28px;
}

body.gracias .gracias img {
    margin-top: 2em;
}

.paginacion-productos {
    text-align: center;
}
