@charset "utf-8";
/* CSS Document */

@media (max-width: 2100px){
.ctabig {
    width: 500px;
}
.contentitlecase h1 {
    margin-bottom: var(--paddings) !important;
}
}
@media (max-width: 1900px){


}
@media (max-width: 1800px){


}
@media (max-width: 1700px){
:root{
  --font:20px;
  --fontm:16px;
  --fonts:12px;
  --fontxl:22px;
}


}
@media (max-width: 1600px){
:root {
    --font: 16px;
    --fontm: 16px;
    --fonts: 12px;
    --fontxl: 22px;
}
.ctabig {
    width: 400px;
    padding: 21px;
    padding-left: 40px;
    padding-right: 40px;
}
.cta {
    padding: 21px;
    padding-left: 40px;
    padding-right: 40px;

}

h2, .sh2, h1, .sh1 {
    font-size: calc(29px + 2vw);
}
h5, .sh5 {
    font-size: 12px;
    line-height: 1.5;
}
.cmarquesinawraphome{
font-size: calc(55px + 6vw);
}
.cnumberdecada {
    font-size: calc(30px + 3vw);
}
.cmodelostep .cinner {
    gap: 6vw;
}
.clanguages {
    top: 0px;
}
.cmenuwrap .cmenuinner {
    transform: translateY(0px);
}

footer .csuperh1wrap2 {
    transform: translateX(18px) translateY(18px);
}
}
@media (max-width: 1500px){
.csuperh1wrap1 {
    transform: translateX(-20px) translateY(-20px);
}
.csuperh1wrap2 {
    transform: translateX(20px);
}
.ctextbottomhome{
padding-left: 0px;
}

}
@media (max-width: 1400px){
.cmenuul1 li a {
    margin-right: 35px;
}
.cmenuul2 li a {
    margin-right: 35px;
    margin-left: 0px;
}

.smini, .cta, .cmenu *, .smini a, .iinputdefault {
    font-size: 12px;
    }
.cmenuul2 {
    padding-right: 45px !important;
}
.cfaqrepeaterinner {
    padding-top: var(--paddings);
}
.iinputdefault {
    padding: 24px;
    padding-left: 20px;
    padding-right: 20px;
}
.clabelcv svg{
width: 30px;
height: auto;
}
.clabelcv label {
    padding: 15px;
    }
}
@media (max-width: 1300px){
.cpopupinner {
    padding: 40px;
}

}
@media (max-width: 1200px){
:root{
  --font:18px;
  --fontm:14px;
  --fonts:11px;
  --fontxl:20px;
}
h1,.sh1{
font-size: calc(35px + 5.8vw);
line-height: 0.9;
text-transform: uppercase;
}
h2,.sh2{
font-size: calc(22px + 2.3vw);
line-height: 0.9;
text-transform: uppercase;
}
h3,.sh3{
font-size: calc(18px + 0.5vw);
line-height: 1;
text-transform: uppercase;
}
h4,.sh4{
font-size: calc(16px + 0.2vw);
line-height: 1.1;
text-transform: uppercase;
}
h5,.sh5{
font-size: calc(14px + .1vw);
line-height: 1.4;
}
.smini, .cta, .cmenu *, .smini a, .iinputdefault {
    font-size: 11px;
    }
    .cta {
        padding: 20px;
        padding-left: 40px;
        padding-right: 40px;
        }
        .csuperh1wrap1 {
            transform: translateX(-20px) translateY(-10px);
        }
}
@media (max-width: 1100px){


}
@media (max-width: 1000px){
:root{
--sectionmargin: calc(var(--paddings) * 2);
--sectionmarginmid: calc(var(--paddings) * 1.25);
}

.hidedesktop{
display: block;
}
.cmarquesinawrap {
display: none;
}
.cpremiosmobile{

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  padding-left: 20px;
  padding-right: 20px;
}
.cpremiosmobile img{
width: 100%;
height: auto;
}

.ccolmoredesc .cinner {
    padding-left: var(--paddings);
        padding-right: var(--paddings)!important;
}
.contentitledescsinglelargo {
    margin-top: var(--paddings);
    padding-top: var(--paddings);
    padding-bottom: var(--paddings);
}
.csectionnewspie .citemnew:last-child{
display: none;
}
.ccolmoredesc{
margin-bottom: 20px;
}
.cssblock .col50 {
margin-bottom: 20px;
}
.cssblock .col50:last-child {
margin-bottom: 0px;
}
    .cpopup .sh3 {
    font-size: 15px;
    }
    .cpopupcontact .cformlead textarea {
        aspect-ratio: 260 / 80;
    }
.cpopupcontact .cpopup {
  display: flex;
  align-items: center;      /* vertical */
  justify-content: center;  /* horizontal */
}
.cpopupcontact .cpopup{
max-height: 100vh;
width: 100%;
left: 0px;
top: 0px;
height: 100%;
transform: none;
}
.cformgracias{
padding-top: 10px;
padding-bottom: 10px;
margin-top: 20px;
}
.cpopup .iinputdefault {
        padding: 16px;
        padding-left: 13px;
        padding-right: 13px;
    }
.cpopupinner {
        padding: 25px;
    }
    .cpopup .sh3 {
    padding-right: 40px;
      margin-bottom: 5px;
  }
  .cpopup p{
  font-size: 14px;
  letter-spacing: -0.1px;
  line-height: 1.2;
  }
  .cpopupclose {
    height: 60px;
    width: 60px;
    }
  .cpopup   .clegaltext {
    margin-top: 5px;
    margin-bottom: 5px;
}
.cpopup .ccheckboxeslegal .icheckbox {
    margin-bottom: 5px;
}
.showmenuresponsive .cmenuresponsive{
transform: translateY(0%);
opacity: 1;
}
.showmenuresponsive .cmenuresponsive li{
transform: translateY(0%);
opacity: 1;
}
.clanguages {
    right: auto;
    left: 0px;
            top: -12px;
}
.cmenuwrap{
display: none;
}
.cburger{
display: block;
}
*[class^="col"] {
    width: 100%;
}

.cmediaplacer {
    aspect-ratio: auto!important;
}
.cmediaplacer video, .cmediaplacer img {
    max-height: none!important;
    width: 100% !important;
    max-width: 1400px;
    height: auto!important;
    /* border-radius: 15px; */
    border-radius: 0px!important;
    box-sizing: border-box;
        margin: 0px!important;
}
.contenttitle *[class^="col"] {
    width: 50%;
}
.csloganheader {
display: none;
}
.cbar {
    height: 3px;
    background: black;
    margin-top: 10px;
    margin-bottom: 10px;
}
.citemmodeldesc h4 {

    margin-top: 20px;

}
.smini, .cta, .cmenu *, .smini a, .iinputdefault, .smini * {
    font-size: 11px;
    }
.cheaderdark .cheader .cheaderlogo path:nth-child(1) {
    fill: var(--color1);;
}
.citemservicio {
    aspect-ratio: 10/6;
}
.contentitledescservicio {
    padding-right:0px;
}
.ccolmoredesc .cinner {
    padding-right: 0px;
}
.cmenuwrapresponsive li:nth-child(1){
display: none;
}
.cburger {
cursor: pointer;
}
.csectioncasos,.contentcaseshome {
    --gap: 1px;
}
.cmenuwrapresponsive{
border-bottom: 1px solid black;
}
.cmenuwrapresponsive ul a{
border-color: black;
padding-bottom: 12px;
padding-top: 12px;
}

.cmenuwrapresponsive .current-menu-item a{
color: var(--color2);
}
.cheaderdark .cbar,.home .cbar,.template-page-blog .cbar{
    background: var(--color2);;
    }
    .home .cheader, .scrolledtobottom .cheader, .cheaderdark .cheader {
    background: var(--color1)!important;
    }
    .scrolled .cheader{
    background: white!important;
    }
    .scrolled .cheader .ctaheaderidiomas {
    border-color: var(--color1);
}
.template-page-blog .cheader .cheaderlogo path:nth-child(1) {
    fill: white;
}
.scrolled.home .cheader .cheaderlogo path:nth-child(1),
.scrolled.template-page-blog .cheader .cheaderlogo path:nth-child(1) {
    fill: var(--color1);
}
.scrolled .cheader{

    border-color: var(--color1);
}
.scrolled .clanguages * {
    color: var(--color1);
}
.scrolled .clanguages svg * {
    stroke: var(--color1);
}
.scrolled .cbar {
        background: var(--color1);
    }
.home .cmenuwrapresponsive {
            background: var(--color1)!important;
            border-color: var(--color2);
            }
            .home .cmenuwrapresponsive a{
            border-color: var(--color2);
            color: var(--color2);

            }
            .home .cmenuwrapresponsive .current-menu-item a{

            color: white;

            }

            .home.scrolled .cmenuwrapresponsive a{
            border-color: var(--color1);
            color: var(--color1);

            }
            .home.scrolled .cmenuwrapresponsive .current-menu-item a{

            color: var(--color2);

            }
            .home.scrolled .cmenuwrapresponsive {
                        background:white!important;
                        border-color: var(--color1);
                        }
    .cheaderwhite .cmenuwrapresponsive {
            background: white!important;
            }
    body.cheaderpalidblue.home div.cheader .cheaderlogo svg path:nth-child(2), body.cheaderpalidblue div.cheader .cheaderlogo svg path:nth-child(2) {
        fill: var(--color2)!important;
    }
    body.cheaderpalidblue.home div.cheader .cheaderlogo svg path:nth-child(1), body.cheaderpalidblue div.cheader .cheaderlogo svg path:nth-child(1) {
        fill: var(--color1)!important;
    }
    .cheaderpalidblue .cheader .ctaheaderidiomas.ejq-idiomasdrop {
    background: white !important;
}
    .cheaderpalidblue .cheader .ctaheaderidiomas * {
        color: var(--color1) !important;
    }
    .cheaderpalidblue.home .cheader {
        border-color: var(--color1) !important;
    }
h5, .sh5 {
    font-size: 12px;
    line-height: 1.4;
}
.cheaderwhite .cmenuwrapresponsive{
background: rgba(255, 255, 255, 0.80);
    backdrop-filter: blur(7.5px);
}
.chomebot .cta{
box-sizing: border-box;
}
.csectiontextdeschome{
display: none;
}
.csectiontexthome {
    width: 100%;
    box-sizing: border-box;
    }
.cmodelostep:nth-child(2) .cnumber, .cmodelostep:nth-child(4) .cnumber {
    order: 1;
}
.cmodelostep .cinner {
padding-right: 0px;
padding-left: 0px;
}
.cmodelostep .cinner{
padding-bottom: 20px;
gap:30px;
}
.cmodelostep{
margin-bottom: 20px;
}
.cmodelostep .cinner::after {
    height: 0px!important;
    width: 0px;
    bottom: 0px!important;
    top: auto!important;
    left: 0px!important;
    right: auto!important;
    border-right: 0px;
    border-bottom: 1px solid var(--black);
}
.scrollingwayfinish .cmodelostep .cinner::after {
    width: 100%;
}

.cmodelostep:last-child .cinner{
padding-bottom: 0px;
}
.cmodelostep:last-child{
margin-bottom: 0px;
}
.superh1{
font-size: 73px!important;
}
.csuperh1wrap1 {
        transform: translateX(-3px) translateY(-3px);
    }
.csuperh1wrap2 {
    transform: translateX(3px);
}
.ch2 {
    position: relative;
    right: 0px;
    bottom: 0px;
}
.ctextbottomhome{
display: none;
}
.chomebot .cta{
max-width: 100%;
margin: 0px;
margin-bottom: 10px;
}

.ctextbottomhomeresponsive{
color: var(--black);
margin-bottom: var(--paddings);
}
.csectionfullhome{
height: auto;
}
.contenttitle {
    height:45px;
}
.contenttitle .col50:last-child{
display: none;
}

.ccolcaseleft .cta{
background: transparent;
color: var(--black);
font-weight: 400;
border: 0px;
border-bottom: 1px solid var(--black);
border-radius: 0px;
padding: 0px;
padding-bottom: 3px;
}

.iinputdefault {
    padding: 20px;
    padding-left: 18px;
    padding-right: 18px;
    }
    .cformlead textarea {
    margin-top: var(--paddingsmid);
    aspect-ratio: 260 / 140;
    margin-top: 0px;
    }
    .clabelcv label {
    margin-left: var(--paddingsmid);
    margin-right: var(--paddingsmid);
    margin-bottom: var(--paddingsmid);
    }
    .ccoltextarea {
    margin-bottom: 5px;
}
.cfooter {
    min-height: 0px;
    position: relative;
    overflow: hidden;
}
.cfooter .csectionmarginheader{
display: none;
}
footer .csuperh1wrap2 {
    transform: translateX(3px) translateY(3px);
}
footer .contenttitle .col50:last-child {
        display: block;
    }
    .contenttitle .cfooterlegal a {
    text-decoration: none;
    margin-left: 10px;
}
.chomebot .cta:last-child{
margin-bottom: 0px;
}
.citemcasesmall .ccaseitemdevice .cdevice {
    width: 100%;
}
.citemcasesmall .ccolcaseleft{
order: 2;
margin-top: 20px;
}
.pin-spacer,.cstickytopheader{
top: auto!important;
left: auto!important;
transform: none!important;
position: relative!important;
width: auto!important;
max-width: 100%!important;
}
.centornositemnumber{
text-align: left;
}
.cstickytopheader{
padding-bottom: 30px!important;
}
.centornositem {
transform: none!important;
opacity: 1!important;
}
.ccaseitemdevice .jqswarightleft{
transform: translateY(10px)!important;
}
.contenttitle .col50 {
width: 100%;
}
.csectiontextfulllast{
padding-left: var(--paddings);
padding-right: var(--paddings);
}

.csectionfulllastproject  {
    height: auto;
    padding-top: var(--paddingsdouble);
    padding-bottom: var(--paddingsdouble);
}
.cfooter .contenttitle .col50:nth-child(1) {
    width: 45%;
}
.cfooter .contenttitle .col50:nth-child(2) {
    width: 55%;
}
.ccontentfree .csingledescbuilderdesc {
    padding-right: 0px;
}
.contentcaseshome .citemcasesmall {
margin-bottom: var(--paddings)!important;
}
.single-case-study .cfooter{
margin-top: var(--paddings);
}
.contentitlecase h1 {
    margin-bottom: var(--paddings) !important;
}
.citemmodeldesc .cinner {
    padding-left: 0px;
        padding-top: var(--paddings);
}
.llineleft::after, .llineright::after {
    border-left: none;
    height: 0%!important;
    width: 0px;
    border-top: 1px solid var(--black);
}
.citemsupernumber{
padding-top: var(--paddings);
}
.contentitleabout  .slabel{
max-width: 190px;
padding-left: 10px;
padding-right: 10px;
}
.contentitleabout * {
    padding-left: 0px;
    padding-right: 0px;
}
.contentitleabout svg {
    width: 100px;
    min-width: 100px;
    }
    p {
    margin-top: 0px;
    margin-bottom: 10px;
}
.ctabig{
max-width: 100%;
}
.caboutcol1 .cinner {
    padding-right: 0px;
}
.csectioncontactinfo  .llinetop::before,
.csectioncontactinfo  .llinebot::after{
border-top: 0px;
border-bottom: 0px;
}
.csectioncontactinfo{
background: var(--lightgray);
}
.cstepitem {
margin-bottom: var(--paddingsmid);
}
.csingledescbuilderdesc .cta{
box-sizing: border-box;
}
.cmarquesinawrap {
padding-top: 8px;
padding-bottom: 14px;
}
.home .cmarquesinawrap{
display: none;
}
.csectiontexthome *{
text-align: center;
}
:root {
    --font: 15px;
    --fontm: 13px;
    --fonts: 10px;
    --fontxl: 20px;
}
.csectionmodel img {
    width: 100%;
    height: auto;
    z-index: 100;
    display: block;
    opacity: 1;
    position: relative;
}
.cdevicehome{
transform: none;
left: auto;
position: relative;
right: auto;
height: auto;
order:2;
padding-top: 10px;
}
.cbgmodel{
background-size: 100%;
background-repeat: no-repeat;
background-position: top;
background: #85829f;
}
h4, .sh4 {
    font-size: 14px;
    }
.csectiontexthome{
padding-top: 40px;
padding-bottom: 50px;
}
.cmicro {
    font-size: 11px;
        width: 235px;
        padding-top: 2px;
        padding-bottom: 0px;
        text-decoration: underline;
    }
.csectiontexthome1 .sh5{
display: none;
}
.citemproyectotitle {
display: none;
}
.single-proyecto .cmenuwrapresponsive ul .menu-item-380 a,
.single-proyecto .cmenuwrapresponsive ul .menu-item-16516 a{
color: var(--color2);
}
.single-servicio .cmenuwrapresponsive ul .menu-item-378 a,
.single-servicio .cmenuwrapresponsive ul .menu-item-16519 a{
color: var(--color2);
}
.single-servicio .cmenuwrapresponsive{
background: var(--lightgray);
}
.csingledescbuilder {
    padding-bottom: 10px;
}
.csingledescbuilderdesc {
    padding-right: 0px;
}
.chomebot{
order: 3;
padding-bottom: 10px;
padding-top: 10px;
}
.cdevicehome svg,.cdevicehome .cdevice{
height: auto;
width: 100%;
}
h1, .sh1 {
    font-size:30px;
    }
    .clegalwrap, .clegalwrap a {
    font-size: 9px;
    letter-spacing: -0.15px;
    line-height: 1.2em;
}
.ccheckboxeslegal .icheckbox{
margin-bottom: 10px;
}
footer .llinetop{
height: 0px;
}
.rowcats,.llinebotcats {
display: none;
}

.citemcase {
width: 50%;
}
.cmicro{
transform: translateY(100%) translateX(-50%);
border: 0px;
}
.template-page-proyectos .citemcase .cinner,.template-page-proyectos .citemproyectoimage, .citemproyectoimage img,.contentcaseshome .citemcase .cinner {
    aspect-ratio: 41 / 35;
    object-fit: cover;
}

.csectioncasos {
--gap:1px;
}
.citemcasecta  .cta{
padding: 10px;
padding-top: 4px;
padding-bottom: 4px;
}
.cpopuplogo{
display: block;
margin-bottom: 10px;
}
}
@media (max-width: 900px){


}
@media (max-width: 800px){


}
@media (max-width: 700px){
.ccolcaseleft .fontm{
display: none;
}
.ccolcaseleft,.ccolcaseright{
width: 100%;
}
.ccolcaseleft{
order:2;
padding-top: var(--paddings);
}
.ccasedesc{
gap:0px;
text-align: center;
}
.ccaseitemdevice .cdevice {
    width: 100%;
}
.cta {
    padding: 15px;
    padding-left: 30px;
    padding-right: 30px;
}
.ccolcaseleft .shbot {
    margin-bottom: 0px;
}
}
@media (max-width: 650px){


}
@media (max-width: 600px){


}
@media (max-width: 550px){


}
@media (max-width: 500px){


}
@media (max-width: 400px){
.superh1{
font-size: 62px!important;
}
.cpopup .iinputdefault {
    padding: 13px;
    padding-left: 13px;
    padding-right: 13px;
}
}
@media (max-width: 360px){
.superh1 {
    font-size: 54px !important;
}
}
