/*
Theme Name: Base
Theme URI: https://www.invbit.com
Author: Base
Author URI: https://www.invbit.com
Description: Base para Betheme
Template: betheme
Version: 1.6.2
*/
@import './css/variables.css';

/*********************************\
              GENERAL
\*********************************/
.validate_email_against_bot {
    display: none
}

:root {
    scrollbar-color: var(--secundariooscuro) var(--casiblanco);
    scrollbar-width: thin;
}

body.style-simple,
body.style-simple .mfn-header-tmpl {
    --mfn-column-gap-bottom: 0;
    --mfn-column-gap-top: 0;
    --mfn-column-gap-right: 0;
    --mfn-column-gap-left: 0;
}

body .principal {
    color: var(--principal);
}

body .secundario {
    color: var(--secundario);
}

body .blanco {
    color: var(--blanco);
}

body .otgs-development-site-front-end,
body .wpml-ls-statics-footer {
    display: none;
}

body p:empty {
    margin: 0;
    display: none;
    visibility: hidden;
    opacity: 0;
}

body.admin-bar .full-screen .section_wrapper {
    min-height: calc( 100vh - 32px );
}

body .section.has-video .section_video {
    display: flex;
    align-items: center;
    justify-content: center;
}

body .section.has-video .section_video video {
    top: unset;
    left: unset;
    height: 100%;
}

body .section.has-video .section_video .mask {
    display: none;
}

body.style-simple .responsiveWidth {
    max-width: calc( 2 * var(--halfSection) );
}

body.mobile-side-slide {
    overflow-x: clip !important;
}

body .section_wrapper, 
body .container {
    box-sizing: border-box;
    padding-left: 33px;
    padding-right: 33px;
}

body .slick-list {
    width: 100%;
}

body .slick-track {
    display: flex;
    align-items: center;
}

body .elementor a {
    text-decoration: underline;

    &.elementor-button {
        text-decoration: none;
    }
}

body .elementor .elementor-widget-icon-box a {
    text-decoration: none;
}

body a:hover {
    text-decoration: none;
}

body .wa__btn_popup .wa__btn_popup_icon {
    height: 40px;
    width: 40px;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

body .wa__btn_popup .wa__btn_popup_icon:before {
    background-size: 60% auto;
    -webkit-background-size: 60% auto;
    -moz-background-size: 60% auto;
}

body .wa__popup_powered,
body .wa__popup_chat_box .wa__popup_heading .wa__popup_intro {
    display: none;
}

body .wa__popup_chat_box .wa__popup_heading:before {
    top: 13px;
}


/*********************************\
            COMPLIANZ
\*********************************/
/* Cookies button */
body #cmplz-manage-consent .cmplz-manage-consent {
    background: var(--secundariooscuro);
    right: unset !important;
    left: 10px;
    font-size: 0px;
    color: var(--negro) !important;
    bottom: 10px !important;
    padding: 0 !important;
    min-width: 1px;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
}

body #cmplz-manage-consent .cmplz-manage-consent:before {
    content: "";
    background: transparent url(imagenes/icono-ajustes.svg) center center / contain no-repeat;
    width: 60%;
    height: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.8s ease;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -ms-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
}

body #cmplz-manage-consent .cmplz-manage-consent:hover:before{
    transform: translate(-50%, -54%);
    -webkit-transform: translate(-50%, -54%);
    -moz-transform: translate(-50%, -54%);
    -ms-transform: translate(-50%, -54%);
    -o-transform: translate(-50%, -54%);
}

/* Cookies banner */
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
    letter-spacing: 0;
    font-size: 14px !important;
    line-height: 1;
    text-transform: none;
    justify-content: center;
    height: auto;
}

body .cmplz-cookiebanner {
    grid-row-gap: 5px;
}
  
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
    padding: 5px 10px;
}
  
body .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) {
    margin-bottom: 5px;
}
  
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
    font-size: 12px;
}

/* Complianz documents */
body #cmplz-document {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 0 120px;
    text-align: justify;
}

body #cmplz-document h2 {
    font-size: var(--size-h2);
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0px;
    border: 0;
    padding: 0;
    margin-bottom: 15px;
    margin-top: 60px;
}

body #cmplz-document h2:first-child {
    margin-top: 0;
}

body #cmplz-document h3 {
    font-size: var(--size-h3);
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0px;
    border: 0;
    padding: 0;
    margin-bottom: 15px;
}

body #cmplz-document h4 {
    font-size: var(--size-h4);
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0px;
    border: 0;
    padding: 0;
    margin-bottom: 15px;
}


/*********************************\
              HEADER
\*********************************/
#Header #Top_bar {
    padding: 65px 0 0;
}

#Header #Top_bar.is-sticky {
    padding: 0;
}

/* Action button */
#Top_bar .top_bar_right .action_button,
#Side_slide .extras .action_button {
    width: auto;
    font-size: 16px;
    line-height: 1.4;
    padding: 7px 0;
    margin: 0;
    background: none;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
}

#Top_bar .top_bar_right .action_button:before,
#Side_slide .extras .action_button:before {
    content: none;
}

#Top_bar .top_bar_right .action_button:after,
#Side_slide .extras .action_button:after {
    content: "";
    width: 100%;
    height: 1px;
    background: var(--negro);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

#Top_bar .top_bar_right .action_button:hover,
#Side_slide .extras .action_button:hover {
    color: var(--secundariooscuro);
    transition: all .2s ease-in-out .4s;
    -webkit-transition: all .2s ease-in-out .4s;
    -moz-transition: all .2s ease-in-out .4s;
    -ms-transition: all .2s ease-in-out .4s;
    -o-transition: all .2s ease-in-out .4s;
}

#Top_bar .top_bar_right .action_button:hover:after,
#Side_slide .extras .action_button:hover:after {
    animation: buttonLine 1s ease-in-out 1 both;
    -webkit-animation: buttonLine 1s ease-in-out 1 both;
}

@keyframes buttonLine {
    0% {
        width: 100%;
        background: var(--negro);
    }
    40% {
        width: 0;
        background: var(--negro);
    }
    60% {
        width: 0;
        background: var(--secundario);
    }
    100% {
        width: 100%;
        background: var(--secundario);
    }
}


/* Menu */
.menu-highlight #Top_bar .menu > li {
    margin: 0 15px;
}

.menu-highlight #Top_bar #menu > ul > li > a {
    border: 1px solid var(--secundarioclaro);
    margin: 0;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    background: none !important;
    position: relative;
    overflow: hidden;
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
}

.menu-highlight #Top_bar #menu > ul > li.current-menu-item > a,
.menu-highlight #Top_bar #menu > ul > li > a:hover {
    color: var(--blanco);
}

.menu-highlight #Top_bar #menu > ul > li > a:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--secundario);
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
}

.menu-highlight #Top_bar #menu > ul > li.current-menu-item > a:before,
.menu-highlight #Top_bar #menu > ul > li > a:hover:before {
    top: 0;
}

.menu-highlight #Top_bar .menu > li > a span:not(.description),
.menu-highlight:not(.header-fixed):not(.header-simple) #Top_bar.is-sticky .menu > li > a span {
    line-height: 1.4 !important;
    padding: 6px 16px;
}

.menu-highlight:not(.header-fixed):not(.header-simple) #Top_bar.is-sticky .menu > li > a {
    margin: 12px 0px !important;
    padding: 0 !important;
}

@media only screen and (max-width: 1239px) {
    #Header #Top_bar {
        padding: 35px 0 0;
    }
}

@media only screen and (max-width: 767px) {
    #Header #Top_bar {
        padding: 0;
    }
    
    #Header #Top_bar.is-sticky {
        box-shadow: 0 2px 5px 0 rgba(0,0,0,0.1);
    }
}

/* Side slide */
#Side_slide .extras {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 60px;
}

#Side_slide #menu ul li a {
    margin: 0;
    padding: 20px;
    display: flex;
    justify-content: center;
}

#Side_slide #menu ul li,
#Side_slide.light #menu>ul:last-child>li:last-child {
    border: 0;
}

#Side_slide #menu ul li:not(:last-child) a:before {
    content: "";
    position: absolute;
    width: 100px;
    height: 1px;
    background: var(--secundarioclaro);
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
}

/*********************************\
              FOOTER
\*********************************/
body .mfn-footer-tmpl .mcb-section:not(.full-width) {
    max-width: 100%;
}

body #back_to_top.sticky {
    bottom: 60px;
    right: 10px !important;
    width: 40px;
    height: 40px;
    border-radius: 100px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    -ms-border-radius: 100px;
    -o-border-radius: 100px;
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

body #back_to_top.sticky:before {
    content: none;
}

#Footer .footer_copy .one {
    margin: 0 0 55px;
    padding: 0;
    font-size: var(--size-small);
    line-height: 1.4;
}

#Footer .footer_copy .copyright {
    float: none;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

#Footer .footer_copy .logo {
    margin: 0 0 10px;
}

#Footer .footer_copy .logo img {
    max-width: 160px;
    width: 100%;
}

#Footer .footer_copy .copyText {
    margin: 0;
}

#Footer .footer_copy .menu {
    display: flex;
    gap: 5px 30px;
    flex-wrap: wrap;
    justify-content: center;
}

#Footer .footer_copy .menu a {
    transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
}

@media only screen and (min-width: 1240px) {
    #Footer .footer_copy .logo .mobile {
        display: none;
    }
}

@media only screen and (max-width: 1239px) {
    #Footer .footer_copy .one {
        margin: 0 0 35px;
    }

    #Footer .footer_copy .logo img {
        max-width: 250px;
        margin: 0 auto;
        display: block;
    }

    #Footer .footer_copy .logo .desktop {
        display: none;
    }

    #Footer .footer_copy .copyright {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}

@media only screen and (max-width: 767px) {
    body #Footer .container {
        padding-right: 33px;
        padding-left: 33px;
    }
}

/*Kit digital*/
#Footer .footer_action {
    background: var(--casiblanco);
}

#Footer .footer_action .financiacion {
    display: grid;
    grid-template-columns: 1fr 1fr 5fr;
    gap: 20px;
    text-align: left;
    align-items: center;
}

#Footer .footer_action .financiacion > div {
    line-height: 0;
}

#Footer .footer_action .financiacion > div img {
    max-height: 50px;
    width: auto;
}

#Footer .footer_action .financiacion > div p {
    font-size: 13px;
    line-height: 15px;
    margin-bottom: 0;
}

@media only screen and (max-width: 959px) {
    #Footer .footer_action .financiacion {
        grid-template-columns: 1fr 1fr;
        text-align: center;
        gap: 5px;
   }

   #Footer .footer_action .financiacion > div:last-child {
        grid-column: 1 / span 2;
   }
}

body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title {
    line-height: 1.2;
}

body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
    font-size: 26px;
    padding: 8px;
}


/*********************************\
              INICIO
\*********************************/
.testimonials_slider .testimonials_slider_ul .slick-slide .author {
    margin: 0 0 30px;
    text-align: center;
}

.testimonials_slider .testimonials_slider_ul .slick-slide .author .title {
    color: var(--secundario);
    margin: 0;
}

.testimonials_slider .testimonials_slider_ul .slick-slide .author .company {
    color: var(--secundarioclaro);
    font-size: var(--size-small);
    line-height: 1.4;
}

.style-simple .testimonials_slider .testimonials_slider_ul .slick-slide .bq_wrapper,
.style-simple .testimonials_slider .testimonials_slider_ul .slick-slide .bq_wrapper .blockquote {
    margin: 0;
    text-align: center;
}

.style-simple .testimonials_slider .testimonials_slider_ul .slick-slide .bq_wrapper blockquote {
    color: var(--blanco);
    font-size: var(--size-big);
    line-height: 1.4;
    font-family: var(--font-title);
    max-width: 700px;
    margin: 0 auto;
    top: 0;
}

.testimonials_slider blockquote .read-more-btn {
    background: none;
    color: var(--principalclaro);
    padding: 0;
    margin: 0 15px;
    font-style: italic;
    font-family: var(--font-text);
    font-size: var(--size-medium);
    line-height: 1;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}

.testimonial-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    text-align: center;
}

.testimonial-popup-content {
    background-color: var(--blanco);
    padding: 50px;
    max-width: 700px;
    width: 90%;
    position: relative;
    max-height: 80vh;
    overflow-y: auto;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
}

.close-popup {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 35px;
    cursor: pointer;
    color: var(--secundariooscuro);
}

.slider_pager .slick-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.slider_pagination {
    margin: 20px 0 0;
}

.slider_pagination a {
    margin: 0;
    background: var(--secundario);
    opacity: .4;
}

.slider_pagination a:hover {
    background: var(--secundario);
    opacity: 1;
}

.slider_pagination .slick-active a, 
.slider_pagination a.selected {
    background: var(--secundario);
    opacity: 1;
    height: 12px;
    width: 12px;
    margin: 0;
    top: 0;
    border-radius: 100%;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    -ms-border-radius: 100%;
    -o-border-radius: 100%;
}

.slider_pagination .slick-active a:after, 
.slider_pagination a.selected:after {
    content: none;
}


/*********************************\
             CONTACTO
\*********************************/
body .wpcf7-form [type="submit"] {
    width: 100%;
    margin: 0 !important;
}

body .wpcf7-form .wpcf7-spinner {
    margin: 5px 0 0 -12px;
    left: 50%;
}

body .wpcf7-form .form-legal {
    font-size: 0.7em;
    line-height: 1.5em;
    padding: 10px 0;
    text-align: justify;
}

body .wpcf7-form input[name="politica"] + span {
    font-weight: 500;

    a {
        color: var(--negro);
        text-decoration: underline;

        &:hover {
            color: var(--secundario);
        }
    }
}

body .column_cf7 input[type="checkbox"] {
    min-height: 0px;
}

body .wpcf7-list-item {
    margin: 0;
}

body input[type="checkbox"],
body input[type="radio"] {
    accent-color: var(--principal);
}

input[type=date], 
input[type=email], 
input[type=number], 
input[type=password], 
input[type=search], 
input[type=tel], 
input[type=text], 
input[type=url], 
select, 
textarea {
    padding: 15px;
}


/*********************************\
         PÁGINAS INTERNAS
\*********************************/


/*********************************\
          BLOG / NOTICIAS
\*********************************/
/* Archive */
body.blog .column_blog,
body.archive.category .column_blog,
body.archive.tag .column_blog {
    padding-bottom: 120px;
}

body.archive.category .mcb-sidebar,
body.archive.tag .mcb-sidebar {
    display: none;
}

/* Fixed nav arrows */
body .fixed-nav {
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
}

body .fixed-nav .desc h6 {
    line-height: 1.3;
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

body .fixed-nav .desc .date {
    font-size: 13px;
    color: var(--gris);
    border: 0;
}

body .fixed-nav .desc .date .icon-clock {
    display: none;
}

body .fixed-nav .photo img,
body .Recent_posts ul li .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Barra lateral */
body .Recent_posts ul li a .desc {
    padding: 8px 10px 3px;
    min-height: 80px;
}

body .Recent_posts ul li a .desc h6 {
    display: -webkit-box;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    line-height: 20px;
}

body .Recent_posts ul li a .desc .date {
    font-size: 12px;
    line-height: 14px;
}

body .widget:not(.widget_block) > h3 {
    font-size: 21px;
    line-height: 29px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: -1px;
}

body .mcb-sidebar select {
    width: 100%;
}

body .widget_categories ul {
    list-style: none;
    padding: 0;
    background: none;
}

body .widget_categories ul li:after {
    content: none
}

body .widget_categories ul li a {
    padding: 5px 10px;
    background: var(--principal);
    display: block;
    border-radius: 3px;
    margin-bottom: 6px;
}

body .widget_categories ul li a:hover {
    background: var(--secundario);
}


/*********************************\
           WOOCOMMERCE
\*********************************/
body .woocommerce ul.products li.product .woocommerce-placeholder {
    border: 0;
}

body .woocommerce .quantity .qty {
    padding: 10px 30px !important;
}

body .woocommerce table.shop_table tr.order-total .includes_tax {
    display: block;
}

body .woocommerce table.shop_table tr.order-total .includes_tax .woocommerce-Price-amount {
    font-size: 1em;
    font-weight: 400;
    color: #767676;
}

.woocommerce div.product form.cart .reset_variations,
.woocommerce .sku_wrapper {
    display: none;
}

.woocommerce ul.products {
    display: grid;
    gap: 40px;
}

.woocommerce.columns-2 ul.products {
    grid-template-columns: repeat(2, 1fr);
}

.woocommerce.columns-3 ul.products,
.woocommerce ul.products.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.woocommerce.columns-4 ul.products,
.woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.woocommerce ul.products:before, 
.woocommerce ul.products:after {
    display: none;
}

.woocommerce ul.products li.product {
    height: inherit;
    margin: 0;
    width: auto !important;
}


/*********************************\
            RESPONSIVE
\*********************************/
@media only screen and (min-width: 960px) and (max-width: 1239px) {
    
}

@media only screen and (min-width: 768px) and (max-width: 1239px) {
    body .Recent_posts ul li .photo {
        display: none;
    }

    body .Recent_posts ul li a .desc {
        margin: 0;
    }
}

@media only screen and (max-width: 959px) {
    body .animate {
        animation-delay: 0ms !important;
    }

    html.mfn-header-tmpl-burger-sidebar-opened #pojo-a11y-toolbar { 
        display: none; 
    }
}

@media only screen and (min-width: 768px) {
}

@media only screen and (max-width: 767px) {
    .joinchat {
      --bottom: 20px;
    }
      
    .joinchat--left .joinchat__button {
        bottom: 0;
    }

    body .hideMobile {
        display: none !important;
    }

    body.style-simple .responsiveWidth {
        max-width: 670px;
        padding: 0 33px;
    }

    body .section_wrapper, 
    body .container {
        padding-left: 0;
        padding-right: 0;
    }

    body .content_wrapper .mcb-column-inner {
        margin: 0;
    }
}

@media only screen and (max-width: 500px) {
    h1, 
    .text-logo #logo {
        font-size: 38px;
        line-height: 38px;
    }

    h2 {
        font-size: 32px;
        line-height: 32px;
    }
}

@media only screen and (max-width: 480px) {
    body .woocommerce-variation-add-to-cart {
        flex-direction: column;
    }

    body .woocommerce .quantity {
        width: 100%;
        margin: 0 0 5px !important;
    }

    body .woocommerce .product div.entry-summary .cart .button {
        width: 100%;
    }
    
    body .woocommerce .product div.entry-summary .accordion table.shop_attributes tr {
        display: flex;
        flex-direction: column;
        padding: 0 0 10px;
    }
    
    body .woocommerce .product div.entry-summary .accordion table.shop_attributes tr:last-child {
        padding: 0;
    }
    
    body .woocommerce .product div.entry-summary .accordion table.shop_attributes th,
    body .woocommerce .product div.entry-summary .accordion table.shop_attributes td {
        width: 100%;
        padding: 0;
        text-align: left;
    }
}

@media only screen and (max-width: 370px) {
    h1, 
    .text-logo #logo {
        font-size: 32px;
        line-height: 32px;
    }

    h2 {
        font-size: 28px;
        line-height: 28px;
    }
}