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

/*************** ADD CUSTOM CSS HERE.   ***************/
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
	font-family: 'Ayita';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('/fonts/Ayita-Bold.woff2') format('woff2'),
         url('/fonts/Ayita-Bold.woff') format('woff'),
         url('/fonts/Ayita-Bold.ttf') format('truetype');
}

:root {
	--titles-font:'Ayita', serif;
	--base-font:'Roboto', sans-serif;
}

.base-font * {
   font-family: var(--base-font); 
}

body {
	font-family: var(--base-font);
}
.txt-m-0 * {
    margin:0!important;
}

.txt-mb-0 * {
    margin-bottom:0;
}

.icon-box-left .icon-box-img+.icon-box-text {
    padding-left:2rem;
}

h1, .banner h1, h2, .banner h2, h3, .banner h3, h4,  .banner h4, h5,  .banner h5, h6,  .banner h6 {
    line-height:inherit;
    font-weight: 200;
    font-size:1em;
    font-family: var(--titles-font);
}

.balance {
    text-wrap: balance;
}

.pretty * {
    text-wrap: pretty;
}

.zindex1 {
    z-index: 1;
}
.zindex2 {
    z-index: 2;
}
.zindex3 {
    z-index: 3;
}

.fw-300, .fw-300 > * {
    font-weight:300!important;
}

.fw-400, .fw-400 > * {
    font-weight:400!important;
}

.fw-500, .fw-500 > * {
    font-weight:500!important;
}

.fw-600, .fw-600 > * {
    font-weight:600!important;
}

.fw-700, .fw-700 > * {
    font-weight:700!important;
}

.doubled-font > * {
    font-size:2em!important;
}

.image-height-fit .col-inner, .image-height-fit .img, .image-height-fit .img > div, .image-height-fit .img .img-inner {
        height:100%;
}

.image-height-fit .img .img-inner > img {
        height:100%;
        object-fit:cover;
}

.banner a.fill {
    z-index: 2;
}

.banner:has(a.fill) .text-box {
    z-index: 1;
}

.is-uppercase, .uppercase {
	letter-spacing: 0;
}

.banner {
    background:none;
}

.br-32, .br-32 > .col-inner  {
	border-radius:2rem;
	overflow: hidden;
}

.br-40, .br-40 > .col-inner  {
    border-radius:2.5rem;
    overflow: hidden;
}
.centered-image {
    margin:0 auto;
}

.link-white-underline a {
    color:#fff;
    text-decoration:underline;
}

/*buttons*/
.button {
    line-height: 0!important;
    padding:0;
    background:unset!important;
    border:unset!important;
    min-height: 0;
    position: relative;

}
.button:hover {
    box-shadow: unset!important;
}

.button span {
    line-height: 1.06;
    font-size:1.125rem;
    font-weight: 400;
    text-transform: none;
    padding:13px 24px;
    border-radius:99px;
    z-index: 2;
    position: relative;
    left:0;
}

.button.primary span {
    background:var(--fs-color-primary);
    transition: color .2s linear,border-color .2s linear,background .2s linear,left .3s linear;
}
.button.white span {
    transition: color .2s linear,border-color .2s linear,background .2s linear,left .3s linear;
    background:#fff;
    color:var(--fs-color-primary);
}

.button.primary.is-outline span{
    border:1px solid var(--fs-color-primary);
    background:unset;
}


.button.has-icon {
    margin:0;
}
.button.has-icon:hover span {
    left:45px;
    color:inherit;
}

.button.has-icon:after {
    content:"";
    width:45px;
    height: 45px;
    border-radius:99px;
    position: absolute;
    left:100%;
    top:0;
    z-index: 1;
}
.button.has-icon:before {
    content:"";
    width:45px;
    height: 45px;
    border-radius:99px;
    position: absolute;
    left:0;
    top:0;
    z-index: 1;
}


.button.has-icon.arrow-down:after {
   background:url(/wp-content/uploads/2025/02/Icono-Arrow_Down.svg) center center no-repeat,var(--fs-color-secondary);
   z-index:1;   
}

.button.has-icon.arrow-down:before {
    background:url(/wp-content/uploads/2025/02/Icono-Arrow_Right-blanco.svg) center center no-repeat,var(--fs-color-primary);
   z-index:1; 
}

.button.has-icon.arrow-up:after {
   background:url(/wp-content/uploads/2025/02/Icono-Arrow_Up-azul-claro.svg) center center no-repeat,#fff;
   z-index:1;   
}

.button.has-icon.arrow-up:before {
    background:url(/wp-content/uploads/2025/02/Icono-Arrow_Right-blanco.svg) center center no-repeat,var(--fs-color-primary);
   z-index:1; 
}

.button.has-icon.icon-telf span {
    background:#fff;
    color:var(--fs-color-primary);
}

.button.has-icon.icon-telf:after {
    background:url(/wp-content/uploads/2025/02/Icono-Telefono_Llamada-entrante.svg) center center no-repeat,var(--fs-color-secondary);
    z-index:1;  
}

.button.has-icon.icon-telf:before {
    background:url(/wp-content/uploads/2025/02/Icono-Telefono_Llamada-saliente.svg) center center no-repeat,#fff;
    z-index:1;  
}

.button.white.has-icon:hover span {
    color:var(--fs-color-primary);
}

.button.white.arrow-down:before {
        background:url(/wp-content/uploads/2025/02/Icono-Arrow_Right-Azul.svg) center center no-repeat,#fff;
}

.button.is-outline {
    border-width: 1px;
}

.custom-list-drop ul {
    list-style-type:none;
    margin:0;
}

.custom-list-drop ul li {
     margin: 0 0 20px 0;
    line-height: 1.2;
    padding-left: 45px;
    background: url(/wp-content/uploads/2025/02/Icono-TuawaTech_Azul-claro.svg) left center no-repeat;
    background-size: 30px
}

.text.drop-left h2 {
    padding-left:60px;
    position: relative;

}
.text.drop-left h2:after {
    content:"";
    position:absolute;
    width: 45px;
    height: 45px;
    background:url(/wp-content/uploads/2025/02/Icono-TuawaTech_Azul-claro.svg) center center no-repeat;
    background-size:contain;
    top:15px;
    left: 0;
}

.text.drop-left.drop-white h2:after {
    filter: brightness(0) invert(1);
}


/*landing*/

.section-topbar {
    z-index: 1;
    margin-bottom:-40px;

}

.section-topbar + section {
    z-index: 2;
    border-top-left-radius:40px;
    border-top-right-radius:40px;
}
.topbar-text {
    text-align: right;
    display:flex;
    align-items:center;
    justify-content: flex-end;
}

.topbar-text div {
    margin-left:25px;
}

.topbar-text div a img {
    margin-right:7px;
    display: inline-block;
    position: relative;
    top:-2px;
}
.lp-custom-menu-section {
    padding:20px 0!important;
    transition: .3s padding linear;
}
.lp-custom-menu-section.sticky {
    position: sticky;
    top: 0px;
    z-index: 999;
    border-top-left-radius:0;
    border-top-right-radius:0;
    padding:10px 0!important;
}

.lp-custom-menu-section:before {
    content:"";
    width:40px;
    height: 40px;
    background:url(/wp-content/uploads/2025/02/corner-fill-left.svg) center center no-repeat;
    background-size:contain;
    position: absolute;
    top:100%;
    left:0;
}
.lp-custom-menu-section:after {
    content:"";
    width:40px;
    height: 40px;
    background:url(/wp-content/uploads/2025/02/corner-fill-right.svg) center center no-repeat;
    background-size:contain;
    position: absolute;
    top:100%;
    right:0;
}


.main-menu-col .ux-menu {
    display: flex;
    flex-flow:row nowrap;
    align-items: center;
    justify-content: flex-end;
}

.main-menu-col .ux-menu .ux-menu-link__link {
    min-height: 0;
    line-height: 1.2;
    padding:5px 10px;
    margin:0 5px;
    font-size: 1.125rem;
}

.main-menu-col .ux-menu .ux-menu-link__link:hover {
    color:var(--fs-color-secondary);
}

.main-menu-col > .col-inner {
    display: flex;
    flex-flow:row wrap;
    align-items: center;
    justify-content: flex-end;
}

.main-menu-col > .col-inner .button {
    margin:0 0 0 15px;
} 

.main-menu-col > .col-inner .button.is-outline:hover span {
    color:var(--fs-color-secondary);
    border-color:var(--fs-color-secondary);
}

.main-menu-col > .col-inner .button:not(.is-outline):hover span {
    color:#fff;
    background:var(--fs-color-secondary);
}
.tuawa-tech-steps {
    counter-reset: step;
}

.tuawa-tech-steps > .col > .col-inner:after {
    counter-increment: step;
    content:counter(step);
    width: 65px;
    height: 65px;
    border-radius:20px;
    background:#81CBD2;
    position: absolute;
    top:1.5rem;
    left:1.5rem;
    font-size: 2.5rem;
    font-family: var(--titles-font);
    font-style: normal;
    font-weight: 700;
    color:var(--fs-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
}

 .tuawa-tech-steps.dark-blue-steps > .col > .col-inner:after {
    background:#134D8F;
    color:#fff;
 }

.caracteristicas-table tr > th, .caracteristicas-table tr > td {
    padding:24px 0 22px 0;
    line-height: 1.2;
    font-size: 1.25rem;
    border-bottom:1px solid var(--fs-color-secondary);
    color:var(--fs-color-primary);
}

.caracteristicas-table tr > td:first-child {
    font-weight: 600;
}

.img.price-img {
    position: absolute;
    max-width: 200px;
    bottom:2rem;
    right:2.5rem;
    z-index: 2;
}
#main .instalacion-slider .flickity-viewport {
    overflow: visible;
}

#main .instalacion-slider .flickity-slider > .banner {
    margin:0 12px!important;
}

.instalacion-slider .flickity-prev-next-button {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    color: #fff;
    opacity: 0;
    transition: .3s all linear;
    backdrop-filter: blur(2px);
    bottom:unset;
    top:50%;
    margin-top:-22px;
}
.instalacion-slider .flickity-prev-next-button.previous {
    background:url(/wp-content/uploads/2025/02/slider-arrow-right.svg) center center no-repeat,rgba(255, 255, 255, 0.48)!important;
    background-size:24px!important;
    opacity: 1;
}

.instalacion-slider:hover .flickity-prev-next-button.previous,.instalacion-slider:hover .flickity-prev-next-button.next {
    transform: translateX(0) !important;
}

.instalacion-slider .flickity-prev-next-button.next {
    background:url(/wp-content/uploads/2025/02/slider-arrow-left.svg) center center no-repeat,rgba(255, 255, 255, 0.48)!important;
    background-size:24px!important;
    opacity: 1;
} 

.instalacion-slider .flickity-prev-next-button .arrow, .instalacion-slider .flickity-prev-next-button svg {
    display:none;
}

.instalacion-slider .flickity-prev-next-button:disabled, .instalacion-slider button.flickity-prev-next-button[disabled] {
    opacity:.5!important;
}

.instalacion-slider .flickity-page-dots {
    bottom: -80px;
    max-width:850px;
    width: 100%;
    left: 50%;
    transform:translateX(-50%);
    right: unset;
}

.instalacion-slider .flickity-page-dots {
    display: flex;
    align-items:center;
    flex-flow:row nowrap;
}

.instalacion-slider .flickity-page-dots .dot {
    width:100%;
    height: 2px;
    background:var(--fs-color-secondary);
    border: none;
    border-radius: 2px;
    opacity: .4;
    transition: background .3s;
}

.instalacion-slider .flickity-page-dots .dot.is-selected {
    opacity: 1;
    background:var(--fs-color-primary);
}

.counter-col {
    margin-top:-110px;
}

.row-divided>.col+.col:not(.large-12) {
    border-left-color:var(--fs-color-secondary);
}

/*formulario llamada*/
.form-llamada {
    max-width: 790px;
    margin: 0 auto;
    position: relative;
}
.form-llamada ::placeholder {
    color:#fff;
}
.form-llamada .frm_form_field {
    margin-bottom:20px;
}
.form-llamada input[type=email], .form-llamada input[type=number], .form-llamada input[type=search], .form-llamada input[type=tel], .form-llamada input[type=text], .form-llamada input[type=url], .form-llamada textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    margin-bottom: 0;
    height: unset;
    line-height: 1.1;
    padding: 11px 1.5rem;
    font-size: 1.25rem;
    box-shadow: unset;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 99px;
    background-color: transparent;
    font-weight: 400;
}

.form-llamada input[type="checkbox"], .form-llamada input[type="radio"]  {
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  margin:0;
  min-width: 16px;
  width:16px;
  height:16px;
  border:1px solid #fff;
  background:transparent;
  position:absolute;
  top:4px;
  left:0;
  display: flex;
  align-items:center;
  justify-content:center;
  border-radius:99px;
}

.form-llamada input[type="checkbox"]::before, .form-llamada input[type="radio"]::before {
  content: "";
    width: calc(100% - 3px);
    height: calc(100% - 3px);
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em #fff;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  border-radius: 0;
}

.form-llamada input[type="checkbox"]:checked::before, .form-llamada input[type="radio"]:checked::before  {
  transform: scale(1);
  position:relative;
}

.form-llamada .frm_checkbox label, .form-llamada .frm_radio label {
    position: relative;
    padding-left: 24px;
    font-size: 1rem;
    font-weight: 300;
    color:#fff;
    padding-top:0;
}

.form-llamada .frm_checkbox label a {
  text-decoration:underline;
  color:#fff;
  font-weight:500;
}

.form-llamada .frm_form_field:has(.frm_submit) {
    position: absolute;
    top: 0;
    right: 0;
    width: 32%;
}

/*formulario contacto*/
.form-contacto ::placeholder {
    color:var(--fs-color-primary);
    opacity: 1;
}
.form-contacto .frm_form_field {
    margin-bottom:20px;
}
.form-contacto input[type=email], .form-contacto input[type=number], .form-contacto input[type=search], .form-contacto input[type=tel], .form-contacto input[type=text], .form-contacto input[type=url], .form-contacto textarea, .form-contacto select {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    margin-bottom: 0;
    height: unset;
    line-height: 1.1;
    padding: 1.5rem 2rem;
    font-size: 1.25rem;
    box-shadow: unset;
    border: 1px solid #fff;
    color: var(--fs-color-primary);
    border-radius: 99px;
    background-color: #fff;
    font-weight: 400;
}

.form-contacto select {
    background-image:url(/wp-content/uploads/2025/02/select-arrow-down.svg);
    background-position: right 1.5rem top 50%;
    background-repeat: no-repeat;
    background-size: auto 16px;
}

.form-contacto input[type="checkbox"], .form-contacto input[type="radio"]  {
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  margin:0;
  min-width: 16px;
  width:16px;
  height:16px;
  border:1px solid #fff;
  background:#fff;
  position:absolute;
  top:4px;
  left:0;
  display: flex;
  align-items:center;
  justify-content:center;
  border-radius:99px;
}

.form-contacto input[type="checkbox"]::before, .form-contacto input[type="radio"]::before {
  content: "";
    width: calc(100% - 3px);
    height: calc(100% - 3px);
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--fs-color-primary);
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
  border-radius: 0;
}

.form-contacto input[type="checkbox"]:checked::before, .form-contacto input[type="radio"]:checked::before  {
  transform: scale(1);
  position:relative;
}

.form-contacto .frm_checkbox label, .form-contacto .frm_radio label {
    position: relative;
    padding-left: 24px;
    font-size: 1rem;
    font-weight: 300;
    color:var(--fs-color-primary);
    padding-top:0;
}

.form-contacto .frm_checkbox label a {
  text-decoration:underline;
  color:var(--fs-color-primary);
  font-weight:500;
}


.frm_forms .frm_error {
    color:#ff7171;
    font-size: .875rem;
}

.form-llamada .frm_forms .frm_error_style {
display:none;
}

/*custom footer*/
.custom-footer .ux-menu-link__link {
    color: #fff;
    flex: 1;
    min-height: unset;
    padding:1px 0;
    margin-bottom:6px;
}

.custom-footer .button.is-outline.white {
    background:transparent!important;

}

.custom-footer .button.is-outline.white span {
    background: transparent;
    border:1px solid #fff!important;
    color:#fff;
}
.custom-footer a {
    color:#fff;
}
.custom-footer a:hover, .custom-footer .ux-menu-link:hover a {
    color:var(--fs-color-secondary);
}
.custom-footer .policy-links a {
    color:#fff;
    opacity: .8;
    text-wrap: nowrap;
}
.custom-footer .policy-links a:hover {
    opacity: 1;

}

.custom-footer .policy-links a:not(:first-child) {
    margin-left:24px;
    position: relative;
}

.custom-footer .policy-links a:not(:first-child):after {
    content:"";
    position: absolute;
    width: 1px;
    background: #fff;
    left:-12px;
    top:2px;
    bottom:2px;
}

.fixed-buttons-mobile {
    display: none!important;
}

@media (max-width:1270px) {
        .main-menu-col .ux-menu .ux-menu-link__link {
         padding: 5px;
         margin: 0;
        }
        .main-menu-col > .col-inner .button {
            margin-left:7px;
        }

        .main-menu-col > .col-inner .button span {
            padding:9px 15px;
        }


}

@media (max-width:1120px) {

    .main-menu-col {
        display: none;
    }
    
    .lp-custom-menu-section.sticky {
        position: static;
    }

    .lp-custom-menu-section.sticky:before, .lp-custom-menu-section.sticky:after {
        display: none!important;
    }
    .fixed-buttons-mobile {
        display: block!important;
        text-align:center;
        padding:10px 0;
        background: #fff9;
        backdrop-filter: blur(3px);
        position: fixed;
        bottom:0;
        z-index: 999;
        width: 100%;
        border-top-left-radius:40px;
        border-top-right-radius:40px;
    }
    .fixed-buttons-mobile .button {
        margin:0 5px;
    }

    .fixed-buttons-mobile .button span {
        padding:11px 22px;
    }

    .fixed-buttons-mobile .button.is-outline span {
        background: #fff;
        color:var(--fs-color-primary);
    }

    .custom-footer {
        padding-bottom:60px!important;
    }
}

@media (max-width:850px) {
    .tuawa-tech-steps > .col > .col-inner:after {
        width: 45px;
        height: 45px;
        font-size: 1.75rem;
        border-radius:10px;
    }
    .caracteristicas-table tr > th, .caracteristicas-table tr > td {
        font-size: 1rem;
        padding: 12px 5px 10px 5px;
    }

    .caracteristicas-table {
        overflow-x:scroll;
    }

    .caracteristicas-table table {
        min-width: 680px;
    }

    .instalacion-slider .flickity-page-dots {
        bottom: -60px;
    }

    .counter-col {
        margin-top:-40px;
    }

    .form-llamada input[type=email], .form-llamada input[type=number], .form-llamada input[type=search], .form-llamada input[type=tel], .form-llamada input[type=text], .form-llamada input[type=url], .form-llamada textarea {
       font-size: 1.125rem; 
    }

    .form-contacto input[type=email], .form-contacto input[type=number], .form-contacto input[type=search], .form-contacto input[type=tel], .form-contacto input[type=text], .form-contacto input[type=url], .form-contacto textarea, .form-contacto select {
        padding: 1.25rem 1.5rem;
        font-size: 1.125rem;
    }

    .lp-custom-menu-section.sticky {
        top: 0;
    }
}
@media (max-width:600px) {
    .form-llamada .frm_form_field:has(.frm_submit) {
        position: static;
        width: 100%;
    }
}
@media (max-width:550px) {
    .text.drop-left h2 {
        padding-left: 40px;
    }
    .text.drop-left h2:after {
        width: 30px;
        height: 25px;
        top: 6px;
    }

    .counter-col {
        margin-top: 40px;
    }


}




