/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* FUENTES */

@font-face {
    font-family: 'Rubik';
    src: url('/wp-content/themes/generatepress_child/font/Rubik-Regular') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'DMmono';
    src: url('/wp-content/themes/generatepress_child/font/DMMono-Regular') format('woff2');
    font-weight: normal;
    font-style: normal;
}

body {
    background-color: #ffffff;
    font-size: 18px !important;
}

p {
    font-size: 18px !important;
    line-height: 1.5rem !important;
}


/* ELEMENTOS COMUNES */

.mw500 {
    max-width: 500px;
}

.mw750 {
    max-width: 750px;
}

.mw900 {
    max-width: 900px;
}

.txt-verde {
    color: #40916c;
}

.card-height {
    height: 250px;
    display: flex;
    align-items: center !important;
    margin: auto;
}

.bloques-home {
    transition: all 0.5s linear;
    background: rgba(245, 245, 245, 1.0);
}

.bloques-home:hover {
    background: rgba(149, 213, 178, 0.4);
}

.counter-prefix .elementor-counter-number-prefix {
    display: none !important;
}

.txt-left {
    text-align: left !important;
}

.contador-personalizado .elementor-counter .elementor-counter-number-prefix {
    text-align: left;
}

.contador-personalizado .elementor-counter .elementor-counter-number-prefix,
.contador-personalizado .elementor-counter .elementor-counter-number-suffix {
    flex-grow: 0;
}


/* ESTILOS CABECERA */

#site-header>div {
    align-items: center !important;
    padding: 0 80px;
}

#menu-1-d495653 li {
    font-family: "Rubik";
    font-weight: 400;
    font-size: 15px;
    text-align: center;
}

#menu-1-d495653 li a {
    color: #ffffff;
    padding: 10px 50px;
}

#menu-1-d495653 li:hover a {
    color: #40916c;
}

#menu-1-d495653 li a:active,
#menu-1-d495653 a.elementor-item-active {
    color: #95D5B2;
    font-weight: 700;
}


/* ESTILOS FOOTER */

.site-footer a {
    color: #ffffff;
    transition: all 0.2s ease;
}

.site-footer a:hover {
    color: #95D5B2;
}

.link-footer .elementor-icon-box-content span,
.link-footer .elementor-icon-box-icon a {
    color: #ffffff;
}

.link-footer:hover .elementor-icon-box-content span,
.link-footer:hover .elementor-icon-box-icon a {
    color: #95D5B2 !important;
}


/* ESTILO BOTONES */

.btn {
    width: 300px;
    font-family: "Rubik";
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 700;
    /*border-left: 7px solid #40916C;*/
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    text-align: center;
    color: #fff;
    background: #95D5B2;
    padding: 1em 0.5em;
    z-index: 1;
    position: relative;
    overflow: hidden;
    display: inline-block;
}

.btn:before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: -96%;
    right: 100%;
    bottom: 0;
    background-color: #40916c;
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    width: 300px;
    padding: 1em 0.5em;
    z-index: -1
}

.btn:hover {
    color: #fff;
}

.btn:hover:before {
    left: 0;
    right: 0;
}


/* boton slider */

.elementor-widget-testimonial-carousel .elementor-testimonial__text {
    line-height: 0.7 !important;
}


/* ESTILOS HOME */


/*.home #site-header {
    background: rgba(21, 39, 32, 1);
    background: -moz-linear-gradient(180deg, rgba(21, 39, 32, 1) 40%, rgba(21, 39, 32, 0) 100%);
    background: -webkit-linear-gradient(180deg, rgba(21, 39, 32, 1) 40%, rgba(21, 39, 32, 0) 100%);
    background: linear-gradient(180deg, rgba(21, 39, 32, 1) 40%, rgba(21, 39, 32, 0) 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}*/

.blq-rect {
    position: relative;
    padding: 40px 50px;
}

.blq-rect .bg-rect {
    background-color: #95D5B2;
    height: 250px;
    width: 50px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -5 !important;
}

.blq-rect strong {
    font-weight: 500;
}

.paises .elementor-counter {
    display: flex;
}


/* Slider productos */

.contenedor {
    color: #ffffff;
    max-width: 1200px;
    margin: auto;
}

.tit-producto {
    display: flex;
}

.tit-producto h2 {
    width: 50%;
    font-family: 'DM Mono' !important;
    font-size: 50px !important;
    font-weight: 400 !important;
    text-transform: uppercase;
    color: #ffffff;
    text-align: left;
}

.tit-producto p {
    width: 50%;
    font-family: 'DM Mono';
    font-size: 20px !important;
    line-height: 25px !important;
    color: #95d5b2;
    text-align: left;
    padding-left: 40px;
}

.info-producto {
    min-height: 500px;
    position: relative;
}

.tit-producto {
    display: flex;
}

.caract1,
.caract2,
.caract3 {
    display: none;
}

.foto-producto {
    width: 70%;
    /*position: absolute;
    left: 0;
    z-index: 1;*/
}

.caract1 h3,
.caract2 h3 {
    margin-left: 20px;
}

.caract3 h3 {
    /*position: absolute;
    top: 200px;*/
    position: absolute;
    top: 0;
    left: 0;
}

.caract3 svg {
    margin-left: 110px;
}

.caract1,
.caract2,
.caract3 {
    justify-content: center;
    position: absolute;
    z-index: 2;
}

.caract1 {
    top: 10%;
    right: 0;
}

.caract2 {
    top: 50%;
    right: 0;
}

.caract3 {
    /*bottom: 0;
    right: 70%;*/
    bottom: 40%;
    right: 60%;
}

.chestnut-line {
    margin-left: 160px !important;
}

.vanilla-line,
.sweet-line {
    margin-left: 120px !important;
}

#grape-cookies .caract1 {
    top: 20%;
}

#grape-cookies .caract2 {
    top: 60%;
}

.boton {
    position: absolute;
    bottom: 8%;
    right: 0;
    margin-top: 50px;
    margin-right: 60px;
}

.swiper-pagination-bullet {
    background: #0000!important;
    opacity: 1!important;
    border: solid 2px #95D5B2!important;
}

.swiper-pagination-bullet-active {
    background: #95D5B2!important;
    opacity: 1!important;
    border: solid 2px #95D5B2!important;
}


/* ANIMAR LAS LÍNEAS DE LOS PRODUCTOS */

.caract1 svg path,
.caract2 svg path,
.caract3 svg path {
    stroke-dashoffset: 100%;
    stroke-dasharray: 130%;
}

.activar-animacion-linea {
    animation: animarLinea 4s ease-out forwards;
}

@keyframes animarLinea {
    to {
        stroke-dashoffset: 0%;
        stroke-dasharray: 200%;
    }
}


/* Bloque mapa */

.mapa {
    text-align: center;
    padding: 150px 0;
    position: relative;
}

#mapaHover {
    cursor: pointer;
}

.pais1,
.pais2,
.pais3,
.pais4,
.pais5,
.pais6 {
    display: flex;
    justify-content: center;
    position: absolute;
    z-index: 2;
    transition: all 0.5s ease-out;
}

.pais1 h3,
.pais2 h3,
.pais3 h3,
.pais4 h3,
.pais5 h3,
.pais6 h3 {
    color: #95D5B2;
    position: absolute;
    transition: all 0.5s ease-out;
}

.pais1 svg path,
.pais2 svg path,
.pais3 svg path,
.pais4 svg path,
.pais5 svg path,
.pais6 svg path {
    transition: all 0.5s ease-out;
}

.pais1:hover h3,
.pais2:hover h3,
.pais3:hover h3,
.pais4:hover h3,
.pais5:hover h3,
.pais6:hover h3 {
    color: #40916C;
    transform: scale(1.1);
}

.pais1:hover svg path,
.pais2:hover svg path,
.pais3:hover svg path,
.pais4:hover svg path,
.pais5:hover svg path,
.pais6:hover svg path {
    stroke: #40916C;
}

.pais-resaltado svg path {
    stroke: #40916C;
}

.pais-resaltado h3 {
    color: #40916C !important;
    text-transform: uppercase;
}


/*.pais1 h3,
.pais2 h3,
.pais3 h3,
.pais4 h3,
.pais5 h3,
.pais6 h3 {
    position: absolute;
}*/


/* Switzerland */

.pais1 {
    top: -20px;
    left: 360px;
}

.pais1 svg {
    margin-top: 50px;
}

.pais1 h3 {
    top: 0;
    left: -20px;
}


/* Poland */

.pais2 {
    top: -16px;
    right: 255px;
}

.pais2 svg {
    margin-top: 50px;
}

.pais2 h3 {
    right: -85px;
}


/* United Kingdom */

.pais3 {
    top: 222px;
    left: 23px;
}

.pais3 svg {
    margin-bottom: 70px;
}

.pais3 h3 {
    bottom: 0;
    left: -20px;
}


/* Germany */

.pais4 {
    top: 240px;
    right: 98px;
}

.pais4 svg {
    margin-bottom: 70px;
}

.pais4 h3 {
    bottom: 0;
    right: -128px;
}


/* Australia */

.pais5 {
    bottom: 100px;
    right: 243px;
}

.pais5 svg {
    margin-bottom: 70px;
}

.pais5 h3 {
    bottom: 0;
    left: -20px;
}


/* Israel */

.pais6 {
    bottom: 98px;
    right: 505px;
}

.pais6 svg {
    margin-bottom: 70px;
}

.pais6 h3 {
    bottom: 0;
    left: -20px;
}


/* ESTILOS DEL FORMULARIO */

.contenedor-campo {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    border-top: solid 3px #ebebeb;
    margin-bottom: 20px;
}

.label-formulario {
    width: 30%;
}

.label-formulario p {
    font-family: 'Rubik';
    font-size: 22px;
    font-weight: 400;
    padding-top: 10px;
    transition: all 0.5s ease-out;
}

.campo-formulario {
    width: 70%;
}

.campo-formulario input[type="text"],
.campo-formulario input[type="email"] {
    width: 100%;
}

.campo-formulario input[type="text"],
.campo-formulario input[type="email"],
textarea {
    transition: all 0.5s ease-out;
    border-width: 3px;
    border-color: #f7f8f9;
}

.campo-formulario textarea {
    max-height: 150px;
}

.campo-formulario input[type="text"]:focus .label-formulario p,
.campo-formulario input[type="email"]:focus .label-formulario p {
    transform: translateX(10px);
}

.campo-formulario input[type="text"]:focus,
.campo-formulario input[type="email"]:focus,
textarea:focus {
    border-color: #40916C;
    border-width: 3px;
}

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

.boton-formulario input[type="submit"] {
    width: 250px;
    font-family: "Rubik";
    text-transform: uppercase;
    font-size: 24px;
    font-weight: 700;
    border-left: 10px solid #40916C;
    transition: 0.5s ease-in-out;
    -webkit-transition: 0.5s ease-in-out;
    text-align: center;
    color: #fff;
    background: #95D5B2;
    padding: 0.3em 0.5em;
    z-index: 1;
    position: relative;
    overflow: hidden;
    display: inline-block;
}

.boton-formulario input[type="submit"]:hover {
    background: #40916C;
}


/*.boton-formulario input[type="submit"]:before {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: -100%;
    right: 100%;
    bottom: 0;
    background-color: #40916c;
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    width: 300px;
    padding: 1em 0.5em;
    z-index: -1
}*/

.boton-formulario input[type="submit"]:hover {
    color: #fff;
}


/*.boton-formulario input[type="submit"]:hover:before {
    left: 0;
    right: 0;
}*/

::placeholder {
    font-size: 12px;
}

.boton-formulario .wpcf7-spinner {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px!important;
    background-color: #1b4332;
}


/*--- ANIMACION GRAFICA ---*/

.fgrafica {
    fill: #F5F5F5;
    opacity: 0;
}

.activar-animacion-fgrafica {
    /*animation: animateCircle 0.4s ease forwards;*/
    animation: animateCircle 0.8s ease forwards;
    animation-delay: 2s;
}

.line {
    fill: none;
    stroke: #95D5B2;
    stroke-width: 3;
    stroke-dashoffset: 100%;
    stroke-dasharray: 100%;
}

.activar-animacion-line {
    /*animation: animateLine 2s ease forwards;*/
    animation: animateLine 4s ease forwards;
}

.circle {
    fill: #D9D9D9;
    opacity: 0;
}

.activar-animacion-circle {
    /*animation: animateCircle 0.8s ease forwards;*/
    animation: animateCircle 1.6s ease forwards;
}

#line1 {
    animation-delay: 0.5s;
}

#c2 {
    animation-delay: 0.5s;
}

#line2 {
    animation-delay: 1s;
}

#c3 {
    animation-delay: 1s;
}

#line3 {
    animation-delay: 1.5s;
}

#c4 {
    animation-delay: 1.5s;
}

.trz {
    fill: none;
    stroke: #474747;
    stroke-width: 2;
    opacity: 0;
}

.activar-animacion-trz {
    /*animation: animateCircle 1s ease forwards;*/
    animation: animateCircle 2s ease forwards;
    animation-delay: 2s;
}

@keyframes animateCircle {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animateLine {
    to {
        stroke-dashoffset: 0%;
    }
}


/* ---------- ESTILOS DEL BANNER DE COOKIES ---------- */

#moove_gdpr_cookie_info_bar {
    /* Fondo opaco */
    background: rgba(0, 0, 0, 0.50)!important;
    /* Permita ocupar toda la pantalla */
    max-height: 100vh!important;
}

.moove-gdpr-info-bar-container {
    /* Contenedor con el aviso de las cookies */
    /* Centrar el contenedor */
    display: flex!important;
    justify-content: center!important;
    align-items: center!important;
    /* Tamaño del contenedor completo */
    height: 100vh!important;
}

.moove-gdpr-info-bar-content {
    /* Párrafo y botones del aviso de las cookies */
    /* Tamaño del contenido */
    max-width: 50%;
    /* Hace que el botón se coloque debajo del texto */
    flex-direction: column!important;
    background: white;
    padding: 2%!important;
}

#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
    /* Eliminar el borde superior que aparece por defecto */
    border: none!important;
    /* Añadir sombra al contenedor */
    box-shadow: 5px 5px 15px #E2E2E2
}

#moove_gdpr_cookie_info_bar.moove-gdpr-info-bar-hidden {
    /* Hacer que desaparezca correctamente el banner */
    bottom: -2100px!important;
}


/* Estilo para el BOTÓN */

.moove-gdpr-button-holder {
    /* Añadir margen superior respecto al texto en el banner principal */
    margin-top: 20px!important;
    /* Eliminar paddings innecesarios por defecto en el banner principal */
    padding-left: 0px !important;
}


/* Mantener el padding en el contenedor de los botones interiores */

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder {
    padding-left: 60px!important;
    padding-right: 60px!important;
}

button.mgbutton {
    /* Cambiar tamaño del botón y el tamaño de fuente en el banner principal */
    padding: 12px 50px !important;
    font-size: 16px !important;
}

#moove_gdpr_cookie_info_bar .moove-gdpr-cookie-notice p {
    /* Cambiar el estilo del texto */
    font-size: 16px !important;
    line-height: 1.5 !important;
    font-weight: 100 !important;
    text-align: center;
}

button.moove-gdpr-infobar-allow-all {
    /* Estilos del botón de activar todas */
    padding: 12px 50px !important;
    background-color: #40916c !important;
}

button.moove-gdpr-modal-allow-all {
    /* Estilos del botón de activar todas */
    background-color: #40916c !important;
    border-color: #40916c !important;
}

button.moove-gdpr-modal-allow-all:hover {
    /* Estilos del botón de activar todas en el estado hover*/
    background-color: #ffffff !important;
    border-color: #40916c !important;
    color: #40916c!important;
}


/* Añadir botón GUARDAR en el panel de COOKIES */

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder button.mgbutton.moove-gdpr-modal-save-settings {
    display: block !important;
}

@media screen and (max-width:1024px) {
    /* Reducir padding del contenedor de botones interiores en las tablet para que no se descuadren */
    #moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-modal-footer-content .moove-gdpr-button-holder {
        padding-left: 10px!important;
        padding-right: 10px!important;
    }
}

@media screen and (max-width:768px) {
    .moove-gdpr-info-bar-content {
        /* Añadir relleno en el contenedor y que se separe de la ventana*/
        padding: 5%!important;
        max-width: 100%;
    }
    .moove-gdpr-button-holder {
        /* Centrar el botón de aceptar en los dispositivos móviles */
        justify-content: center !important;
        padding: 10px !important;
    }
    button.mgbutton {
        /* Cambiar tamaño del botón y el tamaño de fuente */
        padding: 5px 10px !important;
        font-size: 16px !important;
    }
    /* Hacer más grande sólo el botón principal en el móvil sin afectar a los botones interiores */
    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
        font-size: 15px!important;
        padding: 15px 35px!important;
    }
}


/*----------------- RESPONSIVE --------------*/

@media screen and (max-width: 1200px) {
    #site-header>div {
        padding: 0;
    }
    .card-height {
        height: 280px;
        align-items: center;
        margin: auto;
    }
}

@media screen and (max-width: 950px) {
    .card-height {
        height: 300px;
        align-items: center;
        margin: auto;
    }
}

@media screen and (max-width: 768px) {
    /* header */
    /*.home #site-header {
        background: rgb(0, 0, 0);
    }*/
    #logo-header a {
        text-align: center;
    }
    .card-height {
        height: 320px;
        align-items: center;
        margin: auto;
    }
    /* slider productos */
    .contenedor {
        padding: 50px 20px;
    }
    .tit-producto {
        display: block;
    }
    .tit-producto h2,
    .tit-producto p {
        width: 100%;
        margin: 0;
    }
    .tit-producto p {
        margin-top: 20px;
    }
    .info-producto {
        margin: auto;
        justify-content: center;
    }
}

@media screen and (max-width: 600px) {}