/*
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
\*********************************/
@view-transition {
    navigation: auto;
}
  
.container {
    view-transition-name: page;
}
  
::view-transition-old(page) {
    animation: fade 0.2s linear forwards;
}
  
::view-transition-new(page) {
    animation: fade 0.3s linear reverse;
}
  
@keyframes fade {
    0% { opacity: 1; transform: translateY(0); -webkit-transform: translateY(0); -moz-transform: translateY(0); -ms-transform: translateY(0); -o-transform: translateY(0); }
    100% { opacity: 0; transform: translateY(50px); -webkit-transform: translateY(50px); -moz-transform: translateY(50px); -ms-transform: translateY(50px); -o-transform: translateY(50px); }
}

.validate_email_against_bot,
.otgs-development-site-front-end,
.wpml-ls-statics-footer {
    display: none
}

:root {
    scrollbar-color: var(--verdecorporativo) var(--white);
    scrollbar-width: thin;
}

.style-simple,
.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;
}

p:empty {
    margin: 0;
    display: none;
    visibility: hidden;
    opacity: 0;
}

.admin-bar .full-screen .section_wrapper {
    min-height: calc( 100vh - 32px );
}

.section.has-video .section_video {
    display: flex;
    align-items: center;
    justify-content: center;
}

.section.has-video .section_video video {
    top: unset;
    left: unset;
    height: 100%;
}

.section.has-video .section_video .mask {
    display: none;
}

.style-simple .responsiveWidth {
    max-width: calc( 2 * var(--halfSection) );
}

.mobile-side-slide {
    overflow-x: clip !important;
}

.section_wrapper, 
.container {
    box-sizing: border-box;
    padding-left: 33px;
    padding-right: 33px;
}

.slick-list {
    width: 100%;
}

.slick-track {
    display: flex;
}

h1 {
    font-size: var(--size-h1);
    line-height: 1;
    font-weight: 700;
}

h2 {
    font-size: var(--size-h2);
    line-height: 1.3;
    font-weight: 700;
}

h3 {
    font-size: var(--size-h3);
    line-height: normal;
    font-weight: 700;
}

h4 {
    font-size: var(--size-h4);
    line-height: 1.3;
    font-weight: 700;
}

h5 {
    font-size: var(--size-h5);
    line-height: 1.3;
    font-weight: 700;
}

h6 {
    font-size: var(--size-h6);
    line-height: 1.3;
    font-weight: 700;
}

body,
p {
    font-size: var(--size-p);
    line-height: 1.6;
    font-weight: 400;
}

.lead, 
.big {
    font-size: var(--size-plead);
    line-height: 1.4;
    font-weight: 400;
}

.small {
    font-size: var(--size-psmall);
    line-height: 1.3;
    font-weight: 400;
}

a {
    transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
    -o-transition: all .3s ease;

    &:hover {
        text-decoration: none;
    }
}

.principal {
    color: var(--verdecorporativo);
}

.secundario {
    color: var(--verdecontraste);
}

.blanco {
    color: var(--white);
}

.button-animation-slide .button {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.89rem;
    overflow: visible;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;

    &::before {
        content: "";
        display: inline-block;
        height: 100%;
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        -ms-border-radius: 100px;
        -o-border-radius: 100px;
        transition: all 0.4s;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        -o-transition: all 0.4s;
    }

    &:hover {
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        transform: translateY(-3px);
        -webkit-transform: translateY(-3px);
        -moz-transform: translateY(-3px);
        -ms-transform: translateY(-3px);
        -o-transform: translateY(-3px);

        &::before {
            opacity: 0;
            transform: scaleX(1.4) scaleY(1.6);
            -webkit-transform: scaleX(1.4) scaleY(1.6);
            -moz-transform: scaleX(1.4) scaleY(1.6);
            -ms-transform: scaleX(1.4) scaleY(1.6);
            -o-transform: scaleX(1.4) scaleY(1.6);
        }
    }
}


/*********************************\
            COMPLIANZ
\*********************************/
/* Cookies button */
body #cmplz-manage-consent .cmplz-manage-consent {
    background: var(--verdecorporativo);
    right: unset !important;
    left: 60px;
    font-size: 0px;
    color: var(--black);
    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;

    &: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;
    }

    &:hover:before {
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
    }
}

/* Cookies banner */
#cmplz-cookiebanner-container {
    .cmplz-body {
        scrollbar-width: none;
    }

    .cmplz-cookiebanner {
        grid-row-gap: 5px;
        padding: 20px;
    }

    .cmplz-header {
        display: none;
    }   

    p {
        margin: 0;
    }   
    
    .cmplz-buttons .cmplz-btn {
        letter-spacing: 0;
        font-size: var(--size-psmall) !important;
        line-height: 1.2 !important;
        text-transform: none;
        font-weight: 700;
        justify-content: center;
        height: auto;
        box-shadow: none;
    }
    
    .cmplz-categories .cmplz-category {
        &:not(:last-child) {
            margin-bottom: 5px;
        }

        .cmplz-category-header .cmplz-category-title,
        .cmplz-description > span { 
            font-size: var(--size-psmall);
            line-height: 1; 
        }

        .cmplz-category-header .cmplz-always-active {
            font-size: 10px;
            line-height: 1;
        }
    }
}

/* Complianz documents */
#cmplz-document {
    max-width: 100%;
    padding: 40px 0;
    text-align: justify;

    p, li, td {
        font-size: var(--size-p);
        line-height: 1.4;
        font-weight: 400;
    }

    h2, h3, h4 {
        font-weight: 600;
        border: 0;
        padding: 0;
        margin-bottom: 15px;
        line-height: 1.2;
    }

    h2 {
        font-size: var(--size-h2);
        margin-top: 60px;
    
        &:first-child {
            margin-top: 0;
        }
    }
    
    h3 {
        font-size: var(--size-h3);
    }
    
    h4 {
        font-size: var(--size-h4);
        font-weight: 700;
    }
}


/*********************************\
              HEADER
\*********************************/
.mfn-header-tmpl-builder {
    max-width: 1707px; /* 1675px (diseño) + 16px * 2 (margin lateral) */
    margin: 0 auto;

    .section:not(.mfn-header-sticky-section) {
        backdrop-filter: blur(27px);
    }

    .section_wrapper {
        max-width: none;
        padding: 0;
    }
}


/*********************************\
              FOOTER
\*********************************/
@media only screen and (max-width: 530px) {
    #mfn-footer-template .mcb-section .mcb-wrap-grid.mcb-wrap-grid-col-custom.menus-footer .mcb-wrap-inner {
        grid-template-columns: 1fr;

        .column_heading .title,
        ul.mfn-footer-menu-style-vertical {
            text-align: center;
        }
    }
}

/* Footer template */
.mfn-footer-tmpl {
    .mcb-section:not(.full-width) {
        max-width: 100%;

        @media screen and (max-width: 767px) {
            padding-left: 20px;
            padding-right: 20px;

            .section_wrapper {
                padding-left: 0;
                padding-right: 0;
            }
        }
    }
}

/* Back to top */
#back_to_top.sticky {
    bottom: 10px;
    right: 10px !important;
    width: 40px;
    height: 40px;
    padding: 0;
    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;

    &:before {
        content: none;
    }
}

/* Accesibilidad */
body #pojo-a11y-toolbar {
    top: auto !important;
    bottom: 10px !important;

    .pojo-a11y-toolbar-toggle a {
        font-size: 26px;
        padding: 8px;
        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;
    }

    .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title {
        line-height: 1.2;
    }

    &.pojo-a11y-toolbar-left .pojo-a11y-toolbar-toggle {
        left: 190px;
        bottom: 0;
    }
}

/* Whatsapp */
body .wa__btn_popup {
    .wa__btn_popup_icon {
        height: 60px;
        width: 60px;
        box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
    }

    .wa__btn_popup_icon:before {
        background-size: 60% auto;
        -webkit-background-size: 60% auto;
        -moz-background-size: 60% auto;
    }
}

body .wa__popup_powered {
    display: none;
}

body .wa__popup_chat_box .wa__popup_heading {
    .wa__popup_intro {
        display: none;
    }

    &:before {
        top: 13px;
    }
}


/*********************************\
              INICIO
\*********************************/
/* Portada */
#portada > .mcb-background-overlay {
    mix-blend-mode: hard-light;
}

/* Botón sin fondo */
.be_button_9wa50y18 .button {
    box-shadow: none;

    .button_icon {
        transition: all 0.4s;
        -webkit-transition: all 0.4s;
        -moz-transition: all 0.4s;
        -ms-transition: all 0.4s;
        -o-transition: all 0.4s;
    }

    &:hover {
        box-shadow: none;
        transform: none;
        -webkit-transform: none;
        -moz-transform: none;
        -ms-transform: none;
        -o-transform: none;

        .button_icon {
            transform: translateX(3px) rotate(405deg);
            -webkit-transform: translateX(3px) rotate(405deg);
            -moz-transform: translateX(3px) rotate(405deg);
            -ms-transform: translateX(3px) rotate(405deg);
            -o-transform: translateX(3px) rotate(405deg);
        }
    }
}

/* Nosotros */
@media only screen and (max-width: 1239px) {
    #nosotros .section_wrapper > .wrap {
        width: 100%;
        
        & > .mcb-wrap-inner {
            padding-inline: 0;
        }

        &:nth-child(2) > .mcb-wrap-inner {
            padding-top: 3.5rem
        }
    }
}

@media only screen and (max-width: 580px) {
    .column.be_heading_wvn043ud .title {
        font-size: var(--size-h1);
    }
}

/* Certificados */
#certificados {
    background: linear-gradient(0deg, #1D4B1A 0%, #1D4B1A 100%), 
                linear-gradient(180deg, rgba(29, 75, 26, 0.20) 0%, rgba(29, 75, 26, 0.00) 100%), 
                linear-gradient(180deg, rgba(29, 75, 26, 0.00) 0%, rgba(29, 75, 26, 0.20) 100%);

    & > .mcb-background-overlay {
        background-blend-mode: color;
    }

    .section_wrapper {
        display: grid;
        grid-template-columns: minmax(480px, 1fr) 450px 1fr;

        @media only screen and (max-width: 959px) {
            grid-template-columns: 1fr;
            row-gap: 3.56rem;
        }
    }
}

@media only screen and (max-width: 580px) {
    #certificados .certificados-wraps > .mcb-wrap-inner {
        grid-template-columns: 1fr;
        row-gap: 1.89rem;
    }
}

/*********************************\
             CONTACTO
\*********************************/
.wpcf7-form {
    input[type="submit"] {
        width: 100%;
        margin: 0 !important;
    }

    input[name="politica"] + span {
        font-weight: 500;
    }

    input[type="checkbox"] {
        min-height: 0px;
    }

    .wpcf7-list-item {
        margin: 0;
    }

    .wpcf7-spinner {
        margin: 5px 0 0 -12px;
        left: 50%;
    }

    .form-legal {
        padding: 24px 0 0;

        p {
            font-size: var(--size-psmall);
            line-height: 1.4;
            margin: 0;
        }
    }

    .form-row {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 0 40px;
        margin: 0 0 30px;

        p, label, span {
            margin: 0;
        }

        .full-width {
            grid-column: auto / span 6;
        }

        .half-width {
            grid-column: auto / span 3;
        }

        .third-width {
            grid-column: auto / span 2;
        }
    }
}

input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--verdecorporativo);
}


/*********************************\
         PÁGINAS INTERNAS
\*********************************/


/*********************************\
          BLOG / NOTICIAS
\*********************************/
/* Archive */
body.archive.category .mcb-sidebar,
body.archive.tag .mcb-sidebar {
    display: none;
}

.blog_wrapper .posts_group {
    display: grid;
    gap: 3.56rem;

    &.col-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    &.col-3 {
        grid-template-columns: repeat(3, 1fr);

        @media only screen and (max-width: 1239px) {
            grid-template-columns: repeat(2, 1fr);
        }

        @media only screen and (max-width: 580px) {
            grid-template-columns: repeat(1, 1fr);
        }
    }

    &.col-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    &.col-5 {
        grid-template-columns: repeat(5, 1fr);
    }

    &.col-6 {
        grid-template-columns: repeat(6, 1fr);
    }

    .post-item {
        width: 100% !important;
        margin: 0 !important;

        .image_frame {
            border-radius: 1.89rem;
            -webkit-border-radius: 1.89rem;
            -moz-border-radius: 1.89rem;
            -ms-border-radius: 1.89rem;
            -o-border-radius: 1.89rem;

            img {
                width: 100%;
                aspect-ratio: 1 / .9;
                object-fit: cover;

                @media only screen and (max-width: 580px) {
                    aspect-ratio: 1 / .7;
                }
            }
        }

        .post-desc {
            padding: 0;

            .post-head {
                display: flex;
                justify-content: space-between;
                margin-block: 1.33rem;
                align-items: flex-start;

                .post-date {
                    font-size: 0.89rem;
                    line-height: normal;
                    font-weight: 700;
                    text-transform: uppercase;
                    color: var(--greytitle);
                    margin-top: 0.83rem;
                    flex: 7rem 0 0;

                    &:before {
                        content: "";
                        display: inline-block;
                        width: 0.56rem;
                        height: 0.56rem;
                        margin-right: 0.56rem;
                        background: var(--verdecorporativo);
                        border-radius: 100px;
                        -webkit-border-radius: 100px;
                        -moz-border-radius: 100px;
                        -ms-border-radius: 100px;
                        -o-border-radius: 100px;
                    }
                }

                .categories {
                    display: flex;
                    flex-wrap: wrap;
                    gap: 0.56rem;
                    justify-content: flex-end;
                    flex: 1;

                    .category-link {
                        font-size: 0.89rem;
                        line-height: normal;
                        font-weight: 700;
                        text-transform: uppercase;
                        color: var(--verdedark);
                        background: var(--verdebackground);
                        padding: 0.83rem 1.78rem;
                        border-radius: 100px;
                        -webkit-border-radius: 100px;
                        -moz-border-radius: 100px;
                        -ms-border-radius: 100px;
                        -o-border-radius: 100px;

                        @media only screen and (max-width: 959px) {
                            padding: 0.53rem 1.28rem;
                        }
                    }
                }
            }

            .post-footer {
                margin: 0;
                padding: 0;

                .read-more {
                    text-transform: uppercase;
                    font-weight: 700;
                    font-size: 0.89rem;
                    color: var(--verdecontraste);
                    display: flex;
                    gap: 0.89rem;
                    align-items: center;
                    transition: all 0.4s;
                    -webkit-transition: all 0.4s;
                    -moz-transition: all 0.4s;
                    -ms-transition: all 0.4s;
                    -o-transition: all 0.4s;

                    .label {
                        color: var(--verdecontraste);
                        transition: all 0.4s;
                        -webkit-transition: all 0.4s;
                        -moz-transition: all 0.4s;
                        -ms-transition: all 0.4s;
                        -o-transition: all 0.4s;
                    }

                    .icon {
                        transition: all 0.4s;
                        -webkit-transition: all 0.4s;
                        -moz-transition: all 0.4s;
                        -ms-transition: all 0.4s;
                        -o-transition: all 0.4s;
                    }

                    &:hover {
                        color: var(--verdecorporativo);

                        .label {
                            color: var(--verdecorporativo);
                        }

                        .icon {
                            transform: translateX(3px) rotate(405deg);
                            -webkit-transform: translateX(3px) rotate(405deg);
                            -moz-transform: translateX(3px) rotate(405deg);
                            -ms-transform: translateX(3px) rotate(405deg);
                            -o-transform: translateX(3px) rotate(405deg);
                        }
                    }
                }
            }
        }
    }
}

/* 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(--verdecorporativo);
    display: block;
    border-radius: 3px;
    margin-bottom: 6px;
}

body .widget_categories ul li a:hover {
    background: var(--verdecontraste);
}


/*********************************\
           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: 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;
    }
}
