/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on February 27, 2023 */



@font-face {
    font-family: 'helvetica_neue_lt_std55_roman';
    src: url('helveticaneueltstd-roman-webfont.woff2') format('woff2'),
        url('helveticaneueltstd-roman-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}




@font-face {
    font-family: 'helvetica_neue_lt_std85_heavy';
    src: url('helveticaneueltstd-hv_0-webfont.woff2') format('woff2'),
        url('helveticaneueltstd-hv_0-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

b,
strong {
    font-family: 'helvetica_neue_lt_std85_heavy';
}

body {
    font: 16px/1.5 'helvetica_neue_lt_std55_roman', Helvetica Neue, Arial;
    overflow-x: hidden;
}

html,
body {
    font: 18px/1.5 'helvetica_neue_lt_std55_roman', Helvetica Neue, Arial;
}

@media (max-width: 1536px) {

    html,
    body {
        font: 15px/1.5 'helvetica_neue_lt_std55_roman', Helvetica Neue, Arial;
    }
}

@media (max-width: 1366px) {

    html,
    body {
        font: 14px/1.5 'helvetica_neue_lt_std55_roman', Helvetica Neue, Arial;
    }
}

@media (max-width: 768px) {

    html,
    body {
        font: 13px/1.5 'helvetica_neue_lt_std55_roman', Helvetica Neue, Arial;
    }
}

.landing {
    opacity: 0;
}

body {
    background: #f2f2f2;
}

#menu {
    display: none;
    position: fixed;
    width: 5.2vw;
    height: 100vh;
    top: 0px;
    right: 0px;
    transition: all 0.3s;
    transition-delay: 0.5s;
    background: rgba(76, 54, 39, 0);
    z-index: 1000;
}

@media (max-width: 768px) {
    #menu {
        width: 5.2vw;
    }
}

#menu.active {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    transition: all 0.3s;
    transition-delay: 0s;
    background: rgba(76, 54, 39, 1);
    z-index: 1000;
}

#close {
    position: relative;
    width: 42px;
    height: 35px;
    z-index: 10000;
    float: right;
    cursor: pointer;
    top: 6vh;
    right: 5.2vw;
}

@media (max-width: 768px) {
    #close {
        position: relative;
        width: 30px;
        height: 30px;
        z-index: 10000;
        float: right;
        cursor: pointer;
        top: 5.2vw;
        right: 5.2vw;
    }
}

@media (max-width: 425px) {
    #close {
        position: relative;
        width: 22px;
        height: 22px;
        z-index: 10000;
        float: right;
        cursor: pointer;
        top: 5.2vw;
        right: 5.2vw;
    }
}

#close span {
    top: 17px;
    position: absolute;
    background-color: #966162;
    height: 4px;
    border-radius: 2px;
    width: 100%;
    transition: all 0.3s;
}

@media (max-width: 425px) {
    #close span {
        top: 10px;
        position: absolute;
        background-color: #966162;
        height: 2px;
        border-radius: 1px;
        width: 100%;
        transition: all 0.3s;
    }
}

.active #close span {
    top: 17px;
    position: absolute;
    background-color: #966162;
    height: 1px;
    width: 100%;
    opacity: 0;
    transition: all 0.3s;
}

@media (max-width: 425px) {
    .active #close span {
        top: 10px;
        height: 1px;
        opacity: 0;
        transition: all 0.3s;
    }
}

#close.light:before,
#close.light:after,
#close.light span {
    background-color: #e7e3df;
}

#close:before,
#close:after {
    content: "";
    position: absolute;
    background-color: #966162;
    height: 4px;
    border-radius: 2px;
    width: 100%;
    transition: all 0.3s;
}

@media (max-width: 425px) {

    #close:before,
    #close:after {
        height: 2px;
        border-radius: 1px;
    }
}

.active #close:before,
.active #close:after {
    content: "";
    position: absolute;
    background-color: #966162;
    height: 4px;
    border-radius: 2px;
    width: 100%;
    transition: all 0.3s;
}

@media (max-width: 425px) {

    .active #close:before,
    .active #close:after {
        height: 2px;
        border-radius: 1px;
    }
}

#close:before {
    top: 0;
    transform: translate(0, 0) rotate(0deg);
}

.active #close:before,
.active #close:hover:before {
    transform: translate(0, 15.5px) rotate(45deg);
}

@media (max-width: 425px) {

    .active #close:before,
    .active #close:hover:before {
        transform: translate(0, 10px) rotate(45deg);
    }
}

#close:after {
    top: 34px;
    transform: translate(0, 0) rotate(-0deg);
}

@media (max-width: 425px) {
    #close:after {
        top: 20px;
        transform: translate(0, 0) rotate(-0deg);
    }
}

.active #close:after,
.active #close:hover:after {
    top: 38px;
    transform: translate(0, -22.25px) rotate(-45deg);
}

@media (max-width: 425px) {

    .active #close:after,
    .active #close:hover:after {
        top: 20px;
        transform: translate(0, -10px) rotate(-45deg);
    }
}


#close:hover:before {
    transform: translate(0, 3px) rotate(0deg);
}

#close:hover:after {
    transform: translate(0, -3px) rotate(-0deg);
}



#menu_content {
    transform: translateX(1000px);
    opacity: 0;
    transition: all 0.3s;
    transition-delay: 0s;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    position: fixed;
    font-size: 1.7em;
    font-family: 'unboundedregular';
    font-weight: 600;
    color: #966162;
    justify-content: space-between;
    height: calc(100vh - 10.4vw - 78px);
    padding: calc(5.2vw + 42px);
}

@media (max-width: 768px) {
    #menu_content {
        font-size: 1.5em;
        justify-content: space-around;
        height: calc(100vh - 10.4vw - 60px);
        padding: calc(5.2vw + 30px);
    }
}

@media (max-width: 425px) {
    #menu_content {
        font-size: 1.2em;
        justify-content: space-around;
        height: calc(100vh - 10.4vw - 44px);
        padding: calc(5.2vw + 22px);
    }
}

.active #menu_content {
    transform: translateX(0);
    opacity: 1;
    transition: all 0.3s;
    transition-delay: 0.5s;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    position: fixed;
    font-size: 1.7em;
    font-family: 'unboundedregular';
    font-weight: 600;
    color: #966162;
    justify-content: space-between;
    height: calc(100vh - 10.4vw - 78px);
    padding: calc(5.2vw + 42px);
}

@media (max-width: 768px) {
    .active #menu_content {
        font-size: 1.5em;
        justify-content: space-around;
        height: calc(100vh - 10.4vw - 60px);
        padding: calc(5.2vw + 30px);
    }
}

@media (max-width: 425px) {
    .active #menu_content {
        font-size: 1.2em;
        justify-content: space-around;
        height: calc(100vh - 10.4vw - 44px);
        padding: calc(5.2vw + 22px);
    }
}

#menu_content a {
    color: inherit;
    text-decoration: none;
    padding: 0;
    transition: all 0.6s;
    transition-delay: 0;
}

.active #menu_content a {
    color: inherit;
    text-decoration: none;
    padding: 0;
}

.active #menu_content a:hover {
    color: inherit;
    text-decoration: none;
    padding-left: 20px;
    transition: all 0.6s;
    transition-delay: 0;
}

#menu_content a span {
    width: 2.5em;
    display: inline-block;
}

.wrapper {
    width: 90%;
    margin: 0 5%;
}

/*
    H O M E -------------------------------------------------------------------
    */



#home {
    opacity: 0;
    padding: 8.333333vh 12.5vw;
    background: #f2f2f2;
    text-align: center;
    color: #1a1a1a;
    z-index: 3;
    min-height: calc(87vh - 16.666666vh);
}

@media (max-width: 768px) {
    #home {
        min-height: calc(90vh - 16.666666vh);
    }
}

#home .content {
    padding: 7vh 0 0;
}

#home-logo {
    width: 7.8125vw;
}

@media (max-width: 768px) {
    #home-logo {
        width: 15vw;
        margin: auto;
    }
}

@media (max-width: 425px) {
    #home-logo {
        width: 12vh;
        margin: auto;
    }
}

.skroll {
    width: auto;
    height: 44px;
    position: fixed;
    right: 6vw;
    bottom: 5%;
    z-index: 1000;
    white-space: nowrap;
}

@media (max-width: 425px) {
    .skroll {
        display: none;
    }
}

#home-amin {
    display: flex;
    flex-direction: column;
}

.row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    overflow: hidden;
}

.row p {
    font-size: 33px;
    font-size: 1.71875vw;
    margin: 0.5em 1em;
    line-height: 1.22;
}

@media (max-width: 768px) {
    #home p {
        font-size: 3.333vw;
        margin: 0.6em 1em;
        line-height: 1.22;
    }
}

@media (max-width: 425px) {
    #home p {
        font-size: 33px;
        font-size: 5vw;
        margin: 0.6em 1em;
        line-height: 1.22;
    }
}

.wave4.mobile p {
    padding-top: 0.5em;
}


.big {
    font-size: 5.4em;
    font-size: 7.8125vw;
    line-height: 1;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: -0.05em;
}

@media (max-width: 768px) {
    .big {
        font-size: 8vw;
        line-height: 1.2;
        text-transform: uppercase;
        margin: 0;
        letter-spacing: -0.05em;
    }
}

@media (max-width: 425px) {
    .big {
        font-size: 9.6vw;
        line-height: 1.2;
        text-transform: uppercase;
        margin: 0;
        letter-spacing: -0.05em;
    }
}



#clientes .big {
    position: relative;

}

.page {
    min-height: 100vh;
    position: relative;
    z-index: 2;
}

#post-home-anim {
    opacity: 0;
    position: relative;
    /*overflow: hidden;*/
    min-height: fit-content;
}

.video-mask {
    transform-origin: center center;
    width: 40vw;
    height: 22.25vw;
    overflow: hidden;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

#post-home-anim .blanco {
    background: #f2f2f2;
    position: absolute;
}

.b-left,
.b-right {
    width: 30vw;
    height: 100vh;
    transition: all .1s ease-out;
}

.b-left {
    left: 0;
    top: 0;
}

.b-right {
    right: 0;
    top: 0;
}

.b-top {
    top: 0;
    height: 15vh;
    width: 100vw;
    transition: all .1s ease-out;
}

.b-bottom {
    bottom: 0;
    height: 15vh;
    width: 100vw;
    transition: all .1s ease-out;
}

.vid {
    transition: all .1s ease-out;
}

.video-wrapper {
    margin-top: -7vh;
    width: 66.6667vw;
    overflow: hidden;
    margin: auto;
    flex-shrink: 0;
    align-self: center;
}

@media (max-width: 768px) {
    .video-wrapper {
        margin-top: -7vh;
        width: 100vw;
        overflow: hidden;
        margin: auto;
        flex-shrink: 0;
        align-self: center;
    }
}

video.fit {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

#partiendo {
    padding: 12.5vh 8.333333vw 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#pregunta {
    padding: 12.5vh 8.333333vw;
    display: flex;
    flex-direction: column;
    column-gap: 2vh;
    min-height: 0;
}

@media (max-width: 768px) {
    #pregunta {
        padding: 12.5vh 8.333333vw;
        display: flex;
        flex-direction: column;
        column-gap: 2vh;
        min-height: 0;
    }
}
@media (max-width: 425px) {
    #pregunta {
        padding: 4vh 8.333333vw;
        column-gap: 2vh;
        min-height: 0;
    }
}

#respuesta {
    position: relative;
    width: 80%;
    margin: 0 auto;
    font-size: 1.66666667vw;
}

@media (max-width: 768px) {
    #respuesta {
        font-size: 3.8vw;
    }
}

@media (max-width: 425px) {
    #respuesta {
        width: 100%;
        font-size: 17px;
        line-height: 1.3;
    }
}


.espacio {
    height: 0;
    background: #966162;
}

.fs50 {
    position: relative;
    font-size: 2.604166667vw;
    font-size: 4.5vw;
    line-height: 1.14;
    letter-spacing: -0.015em;
    padding-bottom: 8vh;
    max-width: 15em;
}

@media (max-width: 768px) {
    .fs50 {
        font-size: 7vw;
    }
}
@media (max-width: 425px) {
    .fs50 {
        font-size: 28px;
        line-height: 1.14;
        letter-spacing: -0.015em;
        padding-bottom: 4vh;
        max-width: 100%;
    }
}

#no-somos {
    position: relative;
    padding: 12.5vh 0;
    min-height: calc(100vh - 25vh);
    position: relative;
    background: #f2f2f2;
}

@media (max-width: 768px) {
    #no-somos {
        position: relative;
        padding: 11.6vh 0;
        min-height: calc(100vh - 23.2vh);
        position: relative;
        background: #f2f2f2;
    }
}

#no-somos .cortina {
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    margin: 0;
    left: 0;
    transform-origin: bottom;
    mix-blend-mode: difference;
    background: #ffffff;
    line-height: 0;
    border: 0;

    z-index: 1;
}

.cortina video {
    mix-blend-mode: difference;

}

.marquee-container {
    position: relative;
    width: 100%;
    max-width: 99.99vw;
    overflow: hidden;
    font-size: 7.8125vw;
    line-height: 1;
    height: 1em;
    margin-bottom: 0.3em;
    z-index: 1;
}

@media (max-width: 768px) {
    .marquee-container {
        font-size: 8vw;
    }
}
@media (max-width: 425px) {
    .marquee-container {
        font-size: 12vw;
        margin-bottom:3vh;
    }
}


.marquee-container .marquee {
    text-align: justify;
    top: 0;
    left: 100%;
    overflow: visible;
    position: absolute;
    white-space: nowrap;
    animation: marquee 20s linear infinite;
}

.marquee-container .marquee2 {
    animation-delay: 10s;
}

.marquee .big {
    line-height: 0.75;
}
@media (max-width: 425px) {
    .marquee .big {
        line-height: 0.8;
        font-size: 12vw;
    }
}

@keyframes marquee {
    0% {
        left: 100%;
    }

    100% {
        left: -205%;
    }
}


#no-somos .content {
    position: relative;
    max-width: calc(100% - 16.6666666vw);
    padding: 0 8.333333vw;
    display: flex;
    flex-direction: column;
    row-gap: 6vh;
    font-size: 1.6666667vw;
}

@media (max-width: 768px) {
    #no-somos .content {
        row-gap: 3vh;
        font-size: 3.8vw;
    }
}
@media (max-width: 425px) {
    #no-somos .content {
        row-gap: 0;
        font-size: 17px;
        min-height: calc(100vh - 26.2vh - 12vw);
        justify-content: center;
    }
}


#somos {
    width: 41%;
    z-index: 1;
}

@media (max-width: 768px) {
    #somos {
        width: 100%;
        z-index: 1;
    }
}


#no-somos-grap {
    position: absolute;
    top: 0;
    left: 8.33333333vw;
    right: 8.33333333vw;
    bottom: 0;
    background: url(../img/img-no-somos-grap.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 0;
}

@media (max-width: 768px) {
    #no-somos-grap {
        position: relative;
        height: 33vw;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url(../img/img-no-somos-grap.svg);
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat;
        z-index: 0;
    }
}

#buscamos {
    width: 48%;
    align-self: flex-end;
    text-align: right;
    z-index: 1;
    font-size: 2.604166667vw;
    line-height: 1.14;
}

@media (max-width: 768px) {
    #buscamos {
        width: 100%;
        font-size: 4vw;
        line-height: 1.14;
    }
}

@media (max-width: 425px) {
    #buscamos {
        width: 100%;
        font-size: 21px;
        line-height: 1.14;
    }
}

.fullscreen-vid {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
}

.fullscreen-vid .vid {
    width: 100%;
    height: 100vh;
}


.wip,
.wip * {
    border: #966162 1px solid;
}

#valor {
    position: relative;
    padding: 12.5vh 8.333333vw;
    min-height: calc(100vh - 25vh);
}

#valor .content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

@media (max-width: 768px) {
    #valor .content {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
}

#valor-anim {
    padding-right: 8.333333vw;
    width: 29.94791667vw;
    position: relative;

}

@media (max-width: 768px) {
    #valor-anim {
        padding-right: 0;
        width: 30vh;
        height: 30vh;
        margin: auto;
    }
}

#valor-anim svg {
    position: absolute;
    width: 29.94791667vw;
    top: -6vh;
    left: 0;
}

@media (max-width: 768px) {
    #valor-anim svg {
        position: absolute;
        width: 30vh;
        top: 0;
        left: 0;
    }
}

.width40 {
    width: calc(43% - 8.333333vw);
    padding: 8vh 0 0 8.333333vw;
    font-size: 1.6666667vw;
}

@media (max-width: 768px) {
    .width40 {
        width: 100%;
        padding: 4vh 0;
        font-size: 3.8vw;;
    }
}
@media (max-width: 425px) {
    .width40 {
        width: 100%;
        padding: 4vh 0;
        font-size: 17px;
    }
}


@-webkit-keyframes rotating

/* Safari and Chrome */
    {
    from {
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes rotating {
    from {
        -ms-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -webkit-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -ms-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -webkit-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

#orbit {
    transform-origin: center center;
    -webkit-animation: rotating 40s linear infinite;
    -moz-animation: rotating 40s linear infinite;
    -ms-animation: rotating 40s linear infinite;
    -o-animation: rotating 40s linear infinite;
    animation: rotating 40s linear infinite;
}

#valor-graph .st4,
#valor-graph .st5 {
    transition: all 1s;
    z-index: 3;
}

#proyectos {
    position: relative;
    padding: 12.5vh 8.333333vw 0;
    min-height: calc(100vh - 25vh);
    text-align: center;
}

@media (max-width: 768px) {
    #proyectos {
        position: relative;
        padding: 0 8.333333vw;
        min-height: 100vh;
        text-align: center;
    }
}


.wide-text {
    padding: 6vh 8.3333vw;
    font-size: 1.6666667vw;
}

@media (max-width: 768px) {
    .wide-text {
        padding: 4vh 0;
        font-size: 3.8vw;
    }
}

@media (max-width: 425px) {
    .wide-text {
        padding: 4vh 0;
        font-size: 17px;
    }
}

#portadas {
    opacity: 1;
    padding-top: 6vh;
    position: relative;
    display: flex;
    flex-direction: row;
    column-gap: 2%;
    justify-content: center;
}

@media (max-width: 768px) {
    #portadas {
        padding-top: 4vh;
    }
}

#portadas>div {
    width: 30%;
}
@media (max-width: 425px) {
    #portadas>div {
        width: 49%;
    }
}
#portadas img {
    position: relative;
    max-width: 100%;
    margin-bottom: 3vh;
}

.portadas-container {
    height: 60vh;
    overflow: hidden;
    margin-bottom: 5vh;
}
#boxes {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    column-gap: 10px;
    width: fit-content;
}
 .box { height: 60vh;}

        

  
  .el {
    left: 0;
    height: 60vh;
    display: inline-block;
    width: auto;
    position: absolute;
  }
  







#clientes {
    position: relative;
    padding: 12.5vh 8.333333vw;
    min-height: calc(100vh - 25vh);
    background: #f2f2f2;
}

#clientes .content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: calc(100vh - 25vh);
}

@media (max-width: 768px) {
    #clientes .content {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: calc(100vh - 25vh);
    }
}


.overlay {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    transform-origin: center right;
    background: #f2f2f2;
}

#logos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 0.3em;
    font-size: 2.604166667vw;
    font-family: 'helvetica_neue_lt_std85_heavy';
    line-height: 1.14;
}

@media (max-width: 768px) {
    #logos {
        font-size: 4vw;
        line-height: 1.2;
        margin-top: 4vh;
    }
}

@media (max-width: 425px) {
    #logos {
        font-size: 17px;
        line-height: 1.5;
        margin-top: 4vh;
    }
}

.Clogo {
    position: relative;
    overflow: hidden;
    height: 1.2em;
    line-height: 5;
}

#cafe {
    position: relative;
    padding: 12.5vh 8.333333vw;
    min-height: calc(100vh - 25vh);
    background:#DFE0E2;
    margin-top: -100vh;
    z-index: 1;
}

#cafe .content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: calc(100vh - 25vh);
    color: #1a1a1a;
}

@media (max-width: 768px) {
    #cafe .content {
        justify-content: space-around;
    }
}

.logo-end {
    width:7.8125vw;
    align-self: flex-end;
}

.cafe {
    font-size: 1.6666667vw;
    border-top: #a1a1a1 1px solid;
    border-bottom: #a1a1a1 1px solid;
    padding: 4vh 0;
}

@media (max-width: 768px) {
    .cafe {
        font-size: 3.8vw;
        padding: 4vh 0;
    }
}
@media (max-width: 425px) {
    .cafe {
        font-size: 17px;
        padding: 4vh 0;
    }
}

.cafe p {
    width: 33.622vw;
}

@media (max-width: 768px) {
    .cafe p {
        width: 100%;
    }
}

.end {
    font-size: 2.604166667vw;
    text-transform: uppercase;
    width: 33.622vw;
    align-self: flex-end;
    text-align: right;
    letter-spacing: 0.02em;
}

.desktop {
    display: block;
}

.mobile {
    display: none ;
}

@media (max-width: 768px) {
    .desktop {
        display: none;
    }

    .mobile {
        display: block;
    }
}

a {color: inherit; text-decoration: none;}
a:hover {color: inherit; text-decoration: underline;}