/*
Theme Name: digitis
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/* FONTS */
@font-face { font-family: 'Effra Regular'; src: url('fonts/effra-regular.woff2') format('woff2'); }
@font-face { font-family: 'Effra Bold'; src: url('fonts/effra-bold.woff2') format('woff2'); }
@font-face { font-family: 'Effra Light'; src: url('fonts/effra-light.woff2') format('woff2'); }
@font-face { font-family: 'Effra Light Italic'; src: url('fonts/effra-light-italic.woff2') format('woff2'); }



h1, h2, h3, h4, h5, h6, .heading-font, .off-canvas-center .nav-sidebar.nav-vertical > li > a, .effra-bold { font-family: "Effra Bold", sans-serif!important; font-weight: 700!important; }
body, .effra-light, .nav > li > a { font-family: "Effra Light", sans-serif!important; font-weight: 300!important; }
b, strong, .effra-regular { font-family: "Effra Regular", sans-serif!important; font-weight: 400!important; }
em, i, .effra-light-italic { font-family: "Effra Light Italic", sans-serif!important; font-weight: 300!important; }
body {line-height: 1.5;}

/* HEADER */
.nav-uppercase>li>a {letter-spacing: 0;}
div#masthead .flex-col.hide-for-medium.flex-right, div#masthead .flex-col.hide-for-medium.flex-right > ul.header-nav, div#masthead .flex-col.hide-for-medium.flex-right > ul.header-nav > li.menu-item, div#masthead .flex-col.hide-for-medium.flex-right > ul.header-nav > li.menu-item > a.nav-top-link { height: 100%; }
.sub-menu.nav-dropdown { box-shadow: 0px 20px 20px rgba(0, 0, 0, .1); border-radius: 0 0 15px 15px; }


/* AJUSTES EN TEXTOS */
.uppercase, h6, th, span.widget-title { letter-spacing: 0;}
a.button { letter-spacing: 0;}<
body .text-box.res-text { font-size: unset !important;}
.banner p {line-height: 1.3}
.h1, .h2, h1, h2 { line-height: unset;}
.dark, .dark p, .dark td { color: #ffffff;} 
.ls-05 {letter-spacing: .05em}
.ls-1 {letter-spacing: .1em}
.lower {text-transform: unset}


/* ICONOS */

.button .icon-angle-down:before { content: "\f1e3" !important; }
.button .icon-angle-right:before { content: "\f1df" !important; }
ul li.bullet-checkmark:before { content: "\e86c" !important; font-size: 22px; }
.button .icon-angle-down:before, .button .icon-angle-right:before, ul li.bullet-checkmark:before { font-family: 'Material Icons' !important; font-weight: normal; font-style: normal; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
ul li.bullet-checkmark { padding: 7px 0 7px 40px; }


/* AJUSTES */
.mw-280 .box-image{ max-width: 280px;}
.mw-100 .box-image{ max-width: 100px;}
.img-round img {border-radius: 300px}
.m-auto, .col.m-auto > .col-inner { margin-left: auto!important; margin-right: auto!important;}
.ml-0-inner > .col-inner {margin-left: 0!important; margin-right: auto!important}
.mr-0-inner > .col-inner {margin-right: 0!important; margin-left: auto!important}
.ml-auto {margin-left: auto}
.col-bottom-content { display: flex; align-items: end;}
.col-centrada-vertical > .col-inner { display: flex; flex-direction: column; justify-content: center;}
.sticky-col-0 > .col-inner { position: sticky; top: 0px;}
.row-space-between { justify-content: space-between!important;}
.row-space-between:after { display:none}
.row-space-between p, .row-space-between div.text {display: inline-block}
.opacity-hover .overlay { opacity: .3;}
.opacity-hover:hover .overlay { opacity: 1;}
.round-img-30, .round-img-30 .banner-bg.fill, .img.round-img-30, .img.round-img-30 .img-inner, .round-img-30 img, .round-img-30 .bg.section-bg { border-radius: 30px;}
.round-img-20, .round-img-20 .banner-bg.fill, .img.round-img-20, .img.round-img-20 .img-inner, .round-img-20 img, .round-img-20 .bg.section-bg { border-radius: 20px;}
.round-img-15, .round-img-15 .banner-bg.fill, .img.round-img-15, .img.round-img-15 .img-inner, .round-img-15 img, .round-img-15 .bg.section-bg { border-radius: 15px;}
.round-img-10, .round-img-10 .banner-bg.fill, .img.round-img-10, .img.round-img-10 .img-inner, .round-img-10 img, .round-img-10 .bg.section-bg { border-radius: 10px;}
.z-i-1 {z-index: 1; position: relative;}
.z-i-2 {z-index: 2; position: relative;}
.recent-blog-posts span.post_comments { display: none;}
.slider-dgts { padding: 0;}
.slider-dgts .flickity-slider > .row { padding-right: 15px; opacity: 1;}
.section-max-width { max-width: calc(100vw - 100px); margin-left: auto; margin-right: auto; border-radius: 15px; overflow: hidden; }
.gradient-overlay .section-bg-overlay { background-color: unset !important; background: linear-gradient(0deg, #00000099, transparent); }
.br-15, .br-15 .banner, .br-15 .img-inner, .br-15 .image-cover, .br-15 .banner-bg { border-radius: 15px; }
.img-bg-como-trabajamos { position: absolute; top: -80px; left: 0; z-index: -1; max-width: 885px; }
.pt-30 .flickity-viewport {padding-top: 30px;}
.quote-img-testimonial { position: absolute; max-width: 110px; top: -30px; left: -40px; }
.overflow-hidden {overflow: hidden;}
.contacta-bg { position: absolute; max-width: 450px; top: -120px; z-index: -1; }
.contacta-bg-left { left: 0; }
.contacta-bg-right { right: 0; transform: scaleX(-1); }
.flickity-page-dots { bottom: -30px;}
.slider-nav-dots-simple .flickity-page-dots .dot { border-radius: 10px; background-color: #EDEEE9; border-color: #EDEEE9; opacity: 1; transition: all .2s ease-in-out;}
.slider-nav-dots-simple .flickity-page-dots li.dot.is-selected { width: 24px; background-color: #E4472C !important; border-color: #E5472C; }









/* FILTROS TEMPORALES */

.filtros-proyectos {
    padding: 10px;
}

.filtros-proyectos__wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    background-color: #EDEEE8;
    border-radius: 15px;
    padding: 10px 15px;
	justify-content: space-between;
}

body .filtros-proyectos__wrapper > .filtros-proyectos__item {
    background: transparent;
    border: none;
    padding: 4px 24px;
    font-size: 16px;
    font-weight: 500;
    color: #333;
    cursor: pointer;
    border-radius: 8px!important;
    transition: all 0.3s ease;
    white-space: nowrap;
	margin: 0;
	letter-spacing: 0;
}

body .filtros-proyectos__wrapper > .filtros-proyectos__item:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

body .filtros-proyectos__wrapper > .filtros-proyectos__item.active {
    background-color: #fff;
    color: #c9512b;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Responsive */
@media (max-width: 968px) {
    .filtros-proyectos__wrapper {
        justify-content: center;
    }
    
    .filtros-proyectos__item {
        padding: 10px 18px;
        font-size: 14px;
    }
}

@media (max-width: 576px) {
    .filtros-proyectos__wrapper {
        border-radius: 20px;
        gap: 5px;
    }
    
    .filtros-proyectos__item {
        padding: 8px 16px;
        font-size: 13px;
        flex: 1 1 auto;
        text-align: center;
    }
}

















/* SHAPE GUEROLA */
.shape-guerola { width: 115px; height: 115px; position: absolute; border-radius: 15px; z-index: 0; }
.shape-guerola-top-left { top: -40px; left: -40px; }
.shape-guerola-primary { background-color: var(--fs-color-primary); }
.shape-guerola-secondary { background-color: var(--fs-color-secondary); }




/* COOKIES NEW */
#moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_left:not(.gdpr-full-screen-infobar) { border-radius: 0!important; border: none !important; top: 50%; left: 50%; bottom: unset; transform: translate(-50%, -50%); min-height: 100vh !important; display: flex; justify-content: center; align-items: center; border-top: none !important; background-color: #000000bf !important; min-width: 100vw;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content { flex-direction: column; padding-bottom: 0 !important;} 
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content > .moove-gdpr-cookie-notice { padding: .75em 1.5em 1.5em 1.5em;}
#moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_left:not(.gdpr-full-screen-infobar) .moove-gdpr-info-bar-container { padding: 0!important; width: 100%; min-height: 200px; display: flex !important; align-items: center; background-color: white; max-width: 600px;}
#moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_left:not(.gdpr-full-screen-infobar) .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder .mgbutton {width: 50%!important; margin: 0;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-button-holder { padding-left: 0!important; width: 100%; display: flex !important;}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton { padding: 1em!important;}
.cookies-digitis-text > h5 { font-size: 1em !important;}
.cookies-digitis-text > p.digitis-txt-small { font-size: .85em !important; line-height: 1.5em !important;}
button.mgbutton.moove-gdpr-infobar-settings-btn.change-settings-button.gdpr-fbo-2 { box-shadow: none !important; background-color: #d4d4d4 !important;}
button.mgbutton.moove-gdpr-infobar-settings-btn.change-settings-button.gdpr-fbo-2:hover { background-color: #222 !important;}
.cookies-digitis-text > h5 > img { max-width: 25px; margin-right: 7px;}






/* LISTAS */
ul li.bullet-star, ul li.bullet-checkmark, ul li.bullet-arrow {border-bottom: unset;}




/* CLICABLE */
html:not([ng-app="uxBuilder"]) .clicable .box-text, html:not([ng-app="uxBuilder"]) .clicable .text-box, html:not([ng-app="uxBuilder"]) .clicable .img { pointer-events: none;}




/*FORMULARIOS*/
p.gform_required_legend { display: none;}
.select-resize-ghost, .select2-container .select2-choice, .select2-container .select2-selection, 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 { box-shadow: none!important;}
.gform_wrapper.gravity-theme legend { border-bottom: 0; text-transform: unset;}
div.gform_confirmation_wrapper { font-size: 1.2em; padding: 30px; border: 3px solid #369738; background-color: #3697382b;}
.dark div.gform_confirmation_wrapper { border: 3px solid white; background-color: #ffffff2b;}
div.gform_confirmation_wrapper h3 { line-height: 1.2;}
div.gform_confirmation_wrapper br {display: none;}



/* FOOTER */
.footer-secondary {margin-top: -7px;}
.absolute-footer ul { border-bottom: 0; opacity: 1; text-transform: unset; font-size: .9em }
.copyright-footer { font-size: .9em;}
footer#footer a { transition: all .2s;}
footer#footer a:not(.button):hover {opacity: .7}
.footer-secondary > .footer-text { font-size: .9em;}




/* BOTONES */
/*a.button.secondary:not(.is-outline):not(.is-link):not(.is-underline), a.button.white:not(.is-outline):not(.is-link):not(.is-underline), .white.is-outline:hover { color: #369738!important;}*/
.button-left {text-align: left; display: flex; justify-content: space-between; align-items: center;}
.button.regular { font-weight: 400;}
.button { font-family: 'Effra Regular'; }
a.button:not(.is-outline):not(.is-link):not(.is-underline) { padding-right: 9px; }
a.button.primary:not(.is-outline):not(.is-link):not(.is-underline) { background-color: rgb(231 71 44 / 15%); border: none; color: #E7472C; }
a.button.white:not(.is-outline):not(.is-link):not(.is-underline) { background-color: rgb(255 255 255 / 15%)!important; border: none; color: #FFFFFF!important; }
a.button > i { width: 32px; height: 32px; border-radius: 40px; display: inline-flex; align-items: center; justify-content: center; transition: all .2s; }
a.button.primary > i { background-color: #E7472C; color: white; }
a.button.white > i { background-color: #FFF; color: #E7472C; }
a.button:hover > i { /*margin-left: .8em;*/ width: 40px; }
.button:hover { /*box-shadow: inset 0 0 0 100px rgba(0, 0, 0, .05);*/ box-shadow: unset; }





/* CONTENEDOR */

@media only screen and (max-width: 1700px) and (min-width: 1600px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1500px!important; }
}

@media only screen and (max-width: 1600px) and (min-width: 1500px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1400px!important; }
}

@media only screen and (max-width: 1500px) and (min-width: 1400px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1300px!important; }
}

@media only screen and (max-width: 1400px) and (min-width: 1300px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1200px!important; }
}

@media only screen and (max-width: 1300px) and (min-width: 1200px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1150px!important; }
}

@media only screen and (max-width: 1200px) and (min-width: 1100px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1050px!important; }
}

@media only screen and (max-width: 1100px) and (min-width: 1000px) {
    .container-width, .full-width .ubermenu-nav, .container, .row { max-width: 950px!important; }
}



/* GRANDE HASTA TABLET */

@media only screen and (max-width: 4000px) and (min-width: 850px) {
    
    .row-5 > .col { flex-basis: 20%; max-width: 25%;}
	.col-br-left-desktop > .col-inner { border-radius: 15px 0 0 15px !important; }
    
    
    
}



/* PC PORTÁTIL GRANDE */

@media only screen and (max-width: 1380px) {
    
    .section-max-width { max-width: calc(100vw - 70px); }
        
    
}






/* PC PORTÁTIL PEQUEÑO */


@media only screen and (max-width: 1290px) {
    
    .section-max-width { max-width: calc(100vw - 60px); }
    
}





/* PORTATIL HASTA TABLET */

@media only screen and (max-width: 1366px) and (min-width: 850px) {
    
    .fs-laptop-0-9 {font-size: 0.9rem!important}
	.fs-laptop-0-95 {font-size: 0.95rem!important}
	.fs-laptop-1 {font-size: 1rem!important}
	.fs-laptop-1-1 {font-size: 1.1rem!important}
	.fs-laptop-1-2 {font-size: 1.2rem!important}
	.fs-laptop-1-3 {font-size: 1.3rem!important}
	.fs-laptop-1-4 {font-size: 1.4rem!important}
	.fs-laptop-1-5 {font-size: 1.5rem!important}
	.fs-laptop-1-6 {font-size: 1.6rem!important}
	.fs-laptop-1-7 {font-size: 1.7rem!important}
	.fs-laptop-1-8 {font-size: 1.8rem!important}
	.fs-laptop-1-9 {font-size: 1.9rem!important}
	.fs-laptop-2 {font-size: 2rem!important}
	.fs-laptop-2-1 {font-size: 2.1rem!important}
	.fs-laptop-2-2 {font-size: 2.2rem!important}
	.fs-laptop-2-3 {font-size: 2.3rem!important}
	.fs-laptop-2-4 {font-size: 2.4rem!important}
	.fs-laptop-2-5 {font-size: 2.5rem!important}
	.fs-laptop-2-6 {font-size: 2.6rem!important}
	.fs-laptop-2-7 {font-size: 2.7rem!important}
	.fs-laptop-2-8 {font-size: 2.8rem!important}
	.fs-laptop-2-9 {font-size: 2.9rem!important}
	.fs-laptop-3 {font-size: 3rem!important}
	.fs-laptop-3-1 {font-size: 3.1rem!important}
	.fs-laptop-3-2 {font-size: 3.2rem!important}
	.fs-laptop-3-3 {font-size: 3.3rem!important}
	.fs-laptop-3-4 {font-size: 3.4rem!important}
	.fs-laptop-3-5 {font-size: 3.5rem!important}
	.fs-laptop-3-6 {font-size: 3.6rem!important}
	.fs-laptop-3-7 {font-size: 3.7rem!important}
	.fs-laptop-3-8 {font-size: 3.8rem!important}
	.fs-laptop-3-9 {font-size: 3.9rem!important}
	.fs-laptop-4 {font-size: 4rem!important}
	.section-areas-home .area-slide > .col > .col-inner > .row > .col:first-child > .col-inner { padding: 30px 30px 30px 45px !important; }

    
    
}




/* TABLET */

@media (max-width: 849px) {

    body .text-box.res-text { font-size: unset !important;}
    .no-br-tablet br {display: none}
	.section-max-width { max-width: calc(100vw - 50px); }
	.quote-img-testimonial { left: -20px; }
	.contacta-bg { max-width: 310px; top: -80px; }
	.pb-0-tablet {padding-bottom: 0px}
   


}
    
    
    
    

/* MOBILE */
    
@media (max-width: 549px) {

    .mobile-center, .mobile-center > .col-inner {text-align: center;}
    .mobile-center > .col-inner > div.img { margin-left: auto; margin-right: auto;}
    .col.horizontal-mobile > .col-inner, .row.horizontal-mobile  { display: flex; overflow-x: auto;flex-wrap: nowrap;}
    .row.horizontal-mobile > .col {width: 280px; flex: 0 0 auto;}
    .no-br-mobile br {display: none}
    .absolute-footer > .container { display: flex; flex-direction: column-reverse;}
    .absolute-footer p { margin-bottom: 0;}
    .absolute-footer { font-size: 85%;}
    .mr-0-mobile { margin-right: 0;}
    .round-img-30, .round-img-30 .banner-bg.fill, .img.round-img-30, .img.round-img-30 .img-inner, .round-img-30 img, .round-img-30 .bg.section-bg { border-radius: 20px;}
    .round-img-20, .round-img-20 .banner-bg.fill, .img.round-img-20, .img.round-img-20 .img-inner, .round-img-20 img, .round-img-20 .bg.section-bg { border-radius: 10px;}
    #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content .moove-gdpr-cookie-notice { padding-left: 15px!important; padding-right: 15px; padding-bottom: 15px;}
    #moove_gdpr_cookie_info_bar.gdpr_infobar_postion_bottom_left:not(.gdpr-full-screen-infobar) .moove-gdpr-info-bar-container { max-width: 93%;}
    .pb-half-mobile {padding-bottom: 15px;}
    .pb-0-mobile {padding-bottom: 0px}
	.section-max-width { max-width: unset; }
	.shape-guerola-top-left { top: -30px; left: -30px; }
	.contacta-bg { max-width: 260px; top: -50px; }
	h3 { font-size: 1.4em; }
	h4 { font-size: 1.3em; }
	.slider-dgts .flickity-viewport { width: calc(100% + 30px)!important; max-width: unset; }
    

    

    
}






/**
 * Guerola - Horizontal Scroll Areas v2
 * CSS corregido para sticky funcional
 */

/* ========================================
   SECCIÓN PRINCIPAL
   La altura se establece dinámicamente por JS
   ======================================== */

.section-areas-home {
    /* La altura la pone el JS: slides * 100vh */
    position: relative !important;
    overflow: visible !important; /* IMPORTANTE: sticky no funciona con overflow:hidden */
    padding: 0 !important;
}

.section-areas-home > .section-content {
    height: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
}

.section-areas-home a.button.primary {
    margin-right: 0;
}

/* ========================================
   CONTENEDOR STICKY
   Se mantiene fijo mientras scrolleas por la sección
   ======================================== */

.section-areas-home .areas-sticky {
    position: sticky !important;
    top: 2.5vh; /* Centrado vertical: (100vh - 95vh) / 2 */
    height: 95vh !important;
    width: 100%;
    overflow: hidden; /* Ocultar lo que se sale del track */
    display: flex;
    align-items: center;
    background-color: rgb(238, 239, 233);
	border-radius: 15px;
}

/* ========================================
   TRACK HORIZONTAL
   ======================================== */

.section-areas-home .areas-track {
    display: flex;
    flex-wrap: nowrap;
    gap: 10vw;
    padding: 0 60px;
    height: 100%;
    align-items: center;
    will-change: transform;
}

/* ========================================
   SLIDES
   ======================================== */

.section-areas-home .area-slide {
    flex: 0 0 auto; /* No crecer, no encoger */
    width: clamp(300px, 85vw, 1440px);
    height: 85%;
    display: flex !important;
    align-items: center !important;
    background: rgb(238, 239, 233);
    border-radius: 0;
    margin: 0 !important;
}

/* Ajustes internos de Flatsome */
.section-areas-home .area-slide > .col {
    height: 100%;
}

.section-areas-home .area-slide > .col > .col-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* La columna de la imagen/banner */
.section-areas-home .area-slide .ux-banner {
    height: 100% !important;
    padding-top: 0 !important;
    min-height: 400px;
}

.section-areas-home .area-slide .banner-inner {
    height: 100% !important;
}

/* ========================================
   INDICADOR
   ======================================== */

.section-areas-home .areas-slider-indicator {
    position: absolute;
    bottom: 30px;
    left: 60px;
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 500;
    color: #333;
    z-index: 10;
    pointer-events: none;
}

.section-areas-home .indicator-current {
    min-width: 24px;
    color: #e7472c;
    font-weight: 600;
}

.section-areas-home .indicator-line {
    width: 80px;
    height: 2px;
    margin: 0 15px;
    background-color: #d1d1d1;
    position: relative;
    overflow: hidden;
    border-radius: 1px;
}

.section-areas-home .indicator-line-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #e7472c;
    transform-origin: left center;
    transform: scaleX(0);
    border-radius: 1px;
}

.section-areas-home .indicator-total {
    min-width: 24px;
    color: #666;
}

/* ========================================
   MÓVIL - SCROLL VERTICAL NORMAL
   ======================================== */

@media (max-width: 849px) {
    .section-areas-home {
        height: auto !important;
        padding: 60px 0 !important;
        overflow: visible !important;
    }

    .section-areas-home > .section-content {
        height: auto !important;
    }

    .section-areas-home .areas-sticky {
        position: relative !important;
        top: 0 !important;
        height: auto !important;
        overflow: visible !important;
        flex-direction: column;
    }

    .section-areas-home .areas-track {
        flex-direction: column;
        gap: 60px;
        padding: 0;
        width: 100%;
        height: auto;
        transform: none !important;
    }

    .section-areas-home .area-slide {
        width: 100%;
        height: auto;
    }

    .section-areas-home .areas-slider-indicator {
        display: none !important;
    }
}

/* ========================================
   TABLET
   ======================================== */

@media (min-width: 850px) and (max-width: 1199px) {
    .section-areas-home .areas-track {
        gap: 30px;
        padding: 0 40px;
    }

    .section-areas-home .area-slide {
        width: 85vw;
    }

    .section-areas-home .areas-slider-indicator {
        left: 40px;
        bottom: 25px;
    }
}