/*
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,
.otgs-development-site-front-end,
.wpml-ls-statics-footer {
    display: none
}

:root {
    scrollbar-color: var(--principal) var(--blanco);
    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.2;
    font-weight: 400;
}

h2 {
    font-size: var(--size-h2);
    line-height: 1.2;
    font-weight: 600;
}

h3 {
    font-size: var(--size-h3);
    line-height: 1.2;
    font-weight: 600;
}

h4 {
    font-size: var(--size-h4);
    line-height: 1.2;
    font-weight: 600;
}

h5 {
    font-size: var(--size-h5);
    line-height: 1.2;
    font-weight: 600;
}

h6 {
    font-size: var(--size-h6);
    line-height: 1.2;
    font-weight: 600;
}

body,
p {
    font-size: var(--size-p);
    line-height: 1.4;
    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.2;
    font-weight: 400;
}

a:hover {
    text-decoration: none;
}

.decorative {
    font-family: var(--font-decorative);
}

.principal {
    color: var(--principal);
}

.secundario {
    color: var(--secundario);
}

.blanco {
    color: var(--blanco);
}

a {
    transition: all .3s ease-in-out;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    -ms-transition: all .3s ease-in-out;
    -o-transition: all .3s ease-in-out;
}

.no-content-padding #Content {
    padding-top: var(--heightHeader) !important;
}

.button {
    text-transform: uppercase;
    font-weight: 700;
    font-size: var(--size-button);
    line-height: 1;
}

img {
    pointer-events: none;
}


/*********************************\
            COMPLIANZ
\*********************************/
/* Cookies button */
body #cmplz-manage-consent .cmplz-manage-consent {
    background: var(--secundario);
    right: unset !important;
    left: 60px;
    font-size: 0px;
    color: var(--blanco);
    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: 12px !important;
        line-height: 1.2 !important;
        text-transform: uppercase;
        justify-content: center;
        height: auto;
    }
    
    .cmplz-categories .cmplz-category {
        &:not(:last-child) {
            margin-bottom: 5px;
        }

        .cmplz-category-header .cmplz-category-title,
        .cmplz-description > span { 
            font-size: 12px;
            line-height: 1; 
        }

        .cmplz-category-header .cmplz-always-active {
            font-size: 10px;
            line-height: 1;
        }
    }
}

/* Complianz documents */
#cmplz-document {
    max-width: 100%;
    padding: 80px 40px;
    text-align: justify;
    background: var(--blanco);
    margin: 0 0 80px;

    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
\*********************************/
/* Selector de idioma */
.be_header_language_switcher_hkf0i4un li {
    &.wpml-ls-current-language:hover > a {
        border-radius: 4px 4px 0 0 !important;
        -webkit-border-radius: 4px 4px 0 0 !important;
        -moz-border-radius: 4px 4px 0 0 !important;
        -ms-border-radius: 4px 4px 0 0 !important;
        -o-border-radius: 4px 4px 0 0 !important;
    }

    ul {
        border-radius: 0 0 4px 4px;
        -webkit-border-radius: 0 0 4px 4px;
        -moz-border-radius: 0 0 4px 4px;
        -ms-border-radius: 0 0 4px 4px;
        -o-border-radius: 0 0 4px 4px;
        overflow: hidden;
        background-color: var(--fondo) !important;
        color: var(--negro);
        width: 100%;
        padding: 0 5px 5px;

        .wpml-ls-link {
            padding: 6px 14px !important;
            line-height: 1 !important;
            border-radius: 4px !important;
            -webkit-border-radius: 4px !important;
            -moz-border-radius: 4px !important;
            -ms-border-radius: 4px !important;
            -o-border-radius: 4px !important;
            width: 100%;

            &:hover {
                background-color: var(--secundario) !important;
                color: var(--blanco) !important;
            }
        }
    }
}

/* Selector de idioma móvil */
.be_header_language_switcher_y6fjhfvd .wpml-ls-legacy-list-horizontal {
    padding: 0;
    order: 0;

    ul {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px 10px;
        flex-wrap: wrap;
    }
}


/*********************************\
              FOOTER
\*********************************/
/* Footer template */
.mfn-footer-tmpl {
    .mcb-section:not(.full-width) {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .social {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;

        a {
            display: flex;
            align-items: center;
            justify-content: center;
            background: var(--principal);
            color: var(--footer);
            font-size: var(--size-h2);
            line-height: 1;
            width: 1.6em;
            height: 1.6em;
            border-radius: 50%;
            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            -ms-border-radius: 50%;
            -o-border-radius: 50%;

            &:hover {
                background: var(--principalclaro);
                color: var(--footer);
            }
        }
    }
}

/* 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;
    background: var(--secundario);
    border: 0;

    &:before {
        content: none;
    }

    i {
        color: var(--blanco);
    }
}

/* 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;
    }
}

/* Mapa */
.mfn-footer .map-container a {
    color: var(--negro);
}


/*********************************\
              INICIO
\*********************************/
/* Icono instalaciones */
.column.be_icon_box_2_qurnnkek .icon-wrapper {
    padding-bottom: 20px;
}

/* Imágenes Hacemos a tu medida */
.hacemos-imagen {
    height: 100%;

    .image_frame, .image_wrapper {
        height: 100%;
    }

    img {
        min-height: 100%;
    }
} 


/*********************************\
             CONTACTO
\*********************************/
.wpcf7-form {
    color: var(--negro);

    a {
        color: var(--negro) !important;
        text-decoration: underline;

        &:hover {
            color: var(--principal) !important;
        }
    }

    #submit {
        width: 100%;
        margin: 0 !important;
    }

    input[name="politica"] + span {
        font-weight: 500;
        font-size: var(--size-psmall);
        line-height: 1.4;
    }

    input[type="checkbox"] {
        min-height: 0px;
    }

    .wpcf7-list-item {
        margin: 0;
    }

    .wpcf7-spinner {
        margin: 5px 0 0 -12px;
        left: 50%;
    }

    .form-legal {
        p {
            font-size: var(--size-button);
            line-height: 1.4;
            margin: 0;
            text-align: justify;
        }
    }

    .form-row {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 20px 40px;
        margin: 0 0 20px;

        p, label, span {
            margin: 0;
        }

        .full-width {
            grid-column: auto / span 6;
        }

        .half-width {
            grid-column: auto / span 3;

            @media only screen and (max-width: 767px) {
                grid-column: auto / span 6;
            }
        }

        .third-width {
            grid-column: auto / span 2;

            @media only screen and (max-width: 767px) {
                grid-column: auto / span 6;
            }
        }

        .two-third-width {
            grid-column: auto / span 4;

            @media only screen and (max-width: 767px) {
                grid-column: auto / span 6;
            }
        }
    }

    label.hidden {
        font-size: 1px;
        line-height: 1;
        padding: 0;
        margin: 0;
        opacity: 0;
        height: 0;
        width: 0;
    }

    .intl-tel-input.separate-dial-code.allow-dropdown.iti-sdc-3 {
        .selected-flag {
            background: none;
            width: 50px;
    
            .selected-dial-code {
                display: none;
            }
        }

        input[type=text], input[type=tel] {
            padding-left: 60px;
        }
    }

    .wpcf7-not-valid-tip {
        font-size: var(--size-button);
    }

    .intl-tel-input {
        .highlight .country-name {
            color: var(--negro) !important;
        }
    }

    .wpcf7-response-output {
        margin: 0 0  10px !important;
        padding: 5px 10px !important;
        font-size: var(--size-button);
        border: solid 1px #008000 !important;
        background: #00800010;
        color: #008000;
        border-radius: 4px;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        -ms-border-radius: 4px;
        -o-border-radius: 4px;
    }

    &.invalid {
        .wpcf7-response-output {
            border: solid 1px #dc3232 !important;
            background: #dc323210;
            color: #dc3232;
        }
    }
}

input[type="checkbox"],
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 {
    font-size: var(--size-psmall);
    line-height: 1.4;
    font-weight: 500;
    padding: 15px 20px;
}


/*********************************\
           QUÉ HACEMOS
\*********************************/
.mfn-list-center .mfn-list-item {
    text-align: center;
}

.plano-fribogotana img {
    width: 100%;
    aspect-ratio: 68 / 53;
    object-fit: cover;
}

/* Lista pasos */
.be_column_b2srf2e ul {
    list-style-position: inside;
    margin: 0;

    li {
        margin: 0;
        
        &::marker {
            font-size: .8em;
        }
    }
}

/* Slider galerías */
@media only screen and (max-width: 1239px) and (min-width: 960px) { 
    .otros-servicios-wrap {
        .wrap.one-second {
            width: 100%;

            &:last-child .mcb-wrap-inner {
                padding-top: 80px;
                padding-bottom: 80px;
            }
        }

        &.inverted .wrap.one-second {
            &:last-child .mcb-wrap-inner {
                padding-top: 0;
                padding-bottom: 0;
            }

            &:nth-child(2) .mcb-wrap-inner {
                padding-top: 80px;
                padding-bottom: 80px;
            }
        }
    }
}

.gallerySlider .mcb-item-image_gallery-inner {
    overflow: visible !important;

    .gallery {
        position: relative;

        .gallery-item img {
            width: 100%;
            aspect-ratio: 68 / 53;
            object-fit: cover;
        }

        .slide-counter {
            position: absolute;
            bottom: 20px;
            left: 50%;
            width: 80px;
            height: 40px;
            text-align: center;
            color: var(--blanco);
            transform: translateX(-50%);
            -webkit-transform: translateX(-50%);
            -moz-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            -o-transform: translateX(-50%);
            z-index: 8;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 3px;

            .current {
                color: var(--principal);
            }

            @media only screen and (max-width: 1239px) {
                bottom: -50px;
                color: var(--grisoscuro);
            }
        }

        .slick-arrow {
            position: absolute;
            width: 40px;
            height: 40px;
            border-radius: 100px;
            -webkit-border-radius: 100px;
            -moz-border-radius: 100px;
            -ms-border-radius: 100px;
            -o-border-radius: 100px;
            color: var(--blanco);
            border: solid 1px var(--blanco);
            z-index: 10;
            bottom: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease-in-out;
            -webkit-transition: all 0.3s ease-in-out;
            -moz-transition: all 0.3s ease-in-out;
            -ms-transition: all 0.3s ease-in-out;
            -o-transition: all 0.3s ease-in-out;

            &.arrow-prev {
                left: calc( 50% - 80px );
            }

            &.arrow-next {
                right: calc( 50% - 80px );
            }

            &:hover {
                background: var(--blanco);
                color: var(--principal);
            }

            @media only screen and (max-width: 1239px) {
                bottom: -50px;
                color: var(--grisoscuro);
                border-color: var(--grisoscuro);

                &:hover {
                    background: var(--grisoscuro);
                    color: var(--blanco);
                }
            }
        }
    }
}

/* Slider pasos */
.sliderPasos {
    .mcb-background-overlay {
        z-index: -1;
    }

    .slick-slide {
        height: unset;

        & > .mcb-wrap-inner {
            width: calc( 100% - 30px );
            margin: 0 15px !important;
            height: 100%;
            align-items: self-start !important;

            .wrap:nth-child(2) {
                height: 345px;
            }

            .wrap:nth-child(3) .mcb-wrap-inner {
                padding-top: 80px;
                padding-bottom: 80px;
            }
        }
    }

    .slick-arrow {
        position: absolute;
        top: 365px;
        width: 40px;
        height: 40px;
        border-radius: 100px;
        -webkit-border-radius: 100px;
        -moz-border-radius: 100px;
        -ms-border-radius: 100px;
        -o-border-radius: 100px;
        border: solid 1px var(--gris);
        color: var(--gris);
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 10;

        &.arrow-prev {
            left: calc( 50% - 65px );
        }

        &.arrow-next {
            right: calc( 50% - 65px );
        }
    }

    .slide-counter {
        position: absolute;
        top: 376px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        z-index: 10;
    }
}


/*********************************\
          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: 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;
    }
}
