*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Roboto', sans-serif;
    cursor: none;
    overflow: hidden;
    position: relative;
}

a{
    cursor: none;
}

button{
    cursor: none;
}

.cursor-dot{
    width: 5px;
    height: 5px;
    background-color: white;
    z-index: 101;
}

.cursor-outline{
    width: 20px;
    height: 20px;
    border: 2px solid white;
    background-color: white;
    mix-blend-mode: difference;
    z-index: 100;
}

.cursor-dot,
.cursor-outline{
    position: fixed;
    top: 0;
    left: 0;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
    transition: 0.1s all;
}

.cursor-outline.scroll{
    width: 80px;
    height: 80px;
    mix-blend-mode: normal;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 102;
}

.cursor-outline span{   

    opacity: 0;
    transition: 0.1s all;
}

.cursor-outline.scroll span{
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.5rem;
    opacity: 1;
}

.custom-cursor--link {
    transform: translate(-50%, -50%) scale(1.5);
 }

@media screen and (max-width: 600px){
    .cursor-dot,
    .cursor-outline{
        display: none;
    }
}

.col-principal{
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
    color: white;
    height: 100vh;
    width: 100%;
    position: relative;
    flex-direction: column;
}

.container-name-info{
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    align-items: center;
    position: relative;
    z-index: 2;
}

.container-name-info h1,span{
    text-align: center;
}

.container-name-info a{
    color: white;
    font-size: 1.2rem;
    text-decoration: none;
    position: relative;
    text-align: center;
    z-index: 2;
    width: max-content;
}




.container-name-info h1{
    font-size: 13rem;
    line-height: 0.7;
    transition: all 0.3s;
    position: relative;
    z-index: 1;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: white;
    mix-blend-mode: difference;
    opacity: 0.9;
}

.container-name-info span{
    text-align: center;
    font-size: 1.3rem;
    padding-bottom: 18px;
}

.container-menu{
    position: fixed;
    bottom: 0;
    left: 0;
    padding-left: 50px;
    padding-bottom: 50px;
    z-index: 10;
    mix-blend-mode: difference;
}

.container-menu i{
    font-size: 1.6rem;
}

.container-menu ul{
    display: flex;
    gap: 1rem;
    align-items: center;
    list-style: none;
}

.container-menu ul li a{
    text-decoration: none;
    color: white;
    font-weight: 400;
    font-size: 1.2rem;
    border-radius: 50vw;
    padding: 10px 20px;
    border: 1px solid white;
    background-color: transparent;
    transition: all 0.5s ease-in-out;
    mix-blend-mode: difference;
}

.container-menu ul li a:hover{
    background-color: white;
    color: black;
    border: 1px solid white;
    padding: 10px 25px;
}

.container-menu.black ul li a{
    text-decoration: none;
    color: black;
    font-weight: 400;
    font-size: 1.2rem;
    border-radius: 50vw;
    padding: 10px 20px;
    border: 1px solid black;
    background-color: transparent;
    transition: all 0.5s ease-in-out;
}

.container-menu.black ul li a:hover{
    background-color: black;
    color: white;
    border: 1px solid black;
    padding: 10px 25px;
}

.container-menu i{
    color: white;
    mix-blend-mode: difference;
}

.container-menu.black i{
    color: black;
    mix-blend-mode: difference;
}

.link-flash {
    --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
    position: relative;
}
.link-flash::before, .link-flash::after {
    position: absolute;
    content: "";
    left: 0;
    bottom: -0.1rem;
    display: block;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.452);
    transition: 1.1s all;
}
.link-flash::before {
    transform: scaleX(0);
    transform-origin: left;
}
.link-flash::after {
    transform-origin: right;
    transition-delay: 0.25s;
}
.link-flash:hover::before {
    transform: scaleX(1);
    transition-delay: 0.25s;
}
.link-flash:hover::after {
    transform: scaleX(0);
    transition-delay: 0s;
}
a {
    color: white;
    text-decoration: none;
}

.noise{
    background-image: url(./assets/videos/noise.gif);
    background-repeat: repeat;
    background-size: 300px 300px;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .04;
    position: absolute;
    background-position: 50%;
    top: 0;
    left: 0;
    z-index: 4;
}

video{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.7;
}

.preloader{
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    color: white;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000;
    z-index: 102;
    transition: all 1.5s ease-in-out;
}

.preloader h1{
    font-size: 13rem;
    line-height: 0.7;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: white;
    mix-blend-mode: difference;
}


.preloader h1,span{
    text-align: center;
}

.preloader a{
    color: white;
    font-size: 1.2rem;
    text-decoration: none;
    position: relative;
    text-align: center;
    z-index: 2;
    width: max-content;
}


.preloader span{
    text-align: center;
    font-size: 1.3rem;
    padding-bottom: 18px;
}

.container-page{
    width: 100vw;
    height: 100vh;
    background-color: white;
    /*transform: translateX(300vw) scale(0.2);*/
    transition: all 1s ease-out;
    top: 0;
    z-index: 5;
    overflow: hidden;
}

.work-page{
    background-color: white;
}

.container-page.active{
    display: flex;
    transform: translateX(0vw) scale(1);
}

#clock{
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 40px;
    padding-right: 40px;
    font-size: 2em;
    color: white;
    font-family: "Bebas Neue", sans-serif;
    font-weight: 400;
}

#clock sup{
    font-size: 13px;
    position: relative;
    vertical-align: baseline;
}



.col-1-work{
    width: 50vw;
    height: 100vh;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    background-color: #000;
    padding: 1% 2%;
    gap: 1.5rem;
    transition: all 0.5s ease-in-out;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    opacity: 0;
}

.col-1-work.active{
    opacity: 1;
    z-index: 8;
}



.col-1-work img{
    border-radius: 20px;
    width: 100%;
    object-fit: contain;
    transition: all 0.5s ease-out;
}


.col-1-work video{
    width: 100%;
    border-radius: 20px;
    object-fit: cover;
    position: relative;
    opacity: 1;

}

.col-1-work:hover img{
    
}

.col-1-work::-webkit-scrollbar {
    display: none;
}

.container-title-proyect{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: start;
}

.container-title-proyect span{
    text-align: start;
    text-decoration: none;
    color: black;
    font-weight: 400;
    font-size: 0.8rem;
    border-radius: 50vw;
    padding: 8px 18px;
    border: 1px solid black;
    background-color: transparent;
    transition: all 0.5s ease-in-out;
}

.container-title-proyect h2{
    font-size: 10rem;
    font-weight: 400;
    line-height: 0.8;
    font-family: "Bebas Neue", sans-serif;
    overflow-wrap: anywhere;
}

.col-2-work p{
    font-size: 1.5rem;
    line-height: 1.7;
}

.col-2-work{
    position: absolute;
    right: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: space-between;
    color: black;
    background-color: white;
    width: 50vw;
    height: 100vh;
    padding: 10% 5%;
    z-index: -1;
    opacity: 0;
    overflow: hidden;
}

.col-2-work.active{
    opacity: 1;
    z-index: 8;
}

.button-visit{
    display: flex;
    align-items: center;
    gap: 10px;
}

.button-visit a{
    color: black;
}

.button-visit i{
    color: black;
    font-size: 1.5rem;
}

.container-next-previous{
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 40px;
    padding-right: 5%;
    padding-left: 5%;
    display: flex;
    width: 50%;
    align-items: center;
    justify-content: space-between;
    z-index: 9;
}

.experience-page{
    background-color: black;
    color: white;
    display: flex;
    flex-direction: column;
    padding: 7% 0%;
    justify-content: space-between;
    align-items: flex-end;
}


.experience-page h2{
    font-size: 5rem;
    font-weight: 400;
    
    position: relative;
    z-index: 6;
}

.info-one{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: start;
    position: relative;
    z-index: 6;
    padding: 0% 5%;
        padding-bottom: 40px;
    border-bottom: 1px solid lightgray;
        height: 60%;
    overflow-y: scroll;
}

.info-one::-webkit-scrollbar { 
    display: none;
  }

.shadow{
    position: absolute;
    top: -90px;
    height: 90px;
    width: 100%;
    left: 0;
    background: rgb(236,236,244);
background: linear-gradient(180deg, rgba(236,236,244,0) 0%, rgba(0,0,0,1) 100%);
z-index: 100;
}

.experience-page span{
    opacity: 0.6;
    font-size: 1rem;
}

.circle{
    width: 130px;
    height: 130px;
    margin-bottom: 20px;
    border-radius: 50%;
    border: 13px solid white;
}

.container-agencias-tecnologias{
    display: flex;
    gap: 2.5rem;
    width: 100%;
    opacity: 1;
    justify-content: end;
    padding: 0% 5%;
        height: 40%;
        padding-top: 60px;
    position: relative;
}

.container-title-brands{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 30%;
    
}

.container-title-brands h2{
    color: white;
    font-size: 1.0rem;
    font-weight: 500;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    opacity: 0.7;
}

.container-brands{
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    width: 100%;
}

.brand{
    height: 50px;
    width: 130px;
    border: 1px solid rgba(255, 255, 255, 0.39);
    background-color: black;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    transition: all 0.5s ease-in;
}

.brand img{
    object-fit: contain;
    width: 70%;
    filter: grayscale(100%) brightness(1000%);
}

.brand a{
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand:hover{
    opacity: 1;
}

.brand i{
    font-size: 3rem!important;
}

.inter-font{
    font-family: Inter, sans-serif;
    font-size: 1.5rem;

}

.brand span{
    opacity: 1!important;
}

.brand svg{
    width: 70%;
}

.contact-page{
    display: flex;
    flex-direction: column;
    padding: 6% 13%;
    justify-content: space-between;
    background-color: black;
}

.info-container-contact{
    display: flex;
    justify-content: space-between;
}

.box-contact{
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    width: 20%;
    opacity: 1;
    background-color: transparent;
    z-index: 10;
    mix-blend-mode: difference;
}

.box-contact strong{
    font-size: 1rem;
    font-family: 'Roboto', sans-serif;
    color: white;
    opacity: 0.8;
    position: relative;
    z-index: 2;
   
}

.box-contact span{
    font-weight: 500;
    font-size: 1rem;
    font-family: 'Roboto', sans-serif;
    text-align: start;
    text-transform: uppercase;
    color: white;
    opacity: 1;
}

.contact-items{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    z-index: 2;
}

.box-contact a{
    text-decoration: none;
    color: white;
}

.container-hour-contact{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    opacity: 1;
    background-color: transparent;
    z-index: 10;
    mix-blend-mode: difference;
}

.contact-items #clock{
    position: relative;
    color: white;
    font-size: 13rem;
    padding: 0px;
}

.contact-page video{
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        opacity: 0.4;
        mix-blend-mode: luminosity;
}



@media screen and (max-width: 1500px){
    .container-title-proyect h2 {
        font-size: 8rem;
        
    }
    .col-2-work p {
        font-size: 1.2rem;
    }
}

@media screen and (max-width: 1193px){
    .container-title-brands {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        width: 50%;
    }
    .info-one {
        display: flex;
        flex-direction: column;
        gap: 20px;
        align-items: start;
        position: relative;
        z-index: 6;
        padding: 0% 5%;
        padding-bottom: 40px;
        border-bottom: 1px solid lightgray;
        height: 40%;
        overflow-y: scroll;
    }
    .container-agencias-tecnologias {
        display: flex;
        gap: 2.5rem;
        width: 100%;
        opacity: 1;
        justify-content: end;
        padding: 0% 5%;
        height: 60%;
        padding-top: 60px;
        position: relative;
        overflow-y: scroll;
    }
    .experience-page h2 {
        font-size: 2rem;
    }.container-title-brands h2 {
        font-size: 1.0rem;
    }
    .info-container-contact {
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
    .box-contact{
        width: 50%;
    }
    .container-hour-contact {
        margin-top: 40px;
    }
    .box-contact strong {
        text-align: center;
    }
    .box-contact span {
        text-align: center;
    }
    .contact-items #clock {
        font-size: 7rem;
    }
    .container-menu {
        padding-bottom: 20px;
    }
    .contact-page {
        overflow: auto;
        z-index: 10;
        position: relative;
        height: 100vh;
    }
    .contact-page video {
        position: fixed;
    }
}

@media screen and (max-width: 800px) {
    .col-1-work video{
        display: none;
    
    }
    .container-brands {
        padding-bottom: 60px;
    }
    .container-menu {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        padding-left: 0px;
        padding-bottom: 20px;
        width: 100%;
    }
    .container-menu ul {
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
    }
    .container-name-info h1 {
        font-size: 10rem;
    }
    .preloader h1 {
        font-size: 10rem;
    }
    .container-next-previous span{
        font-size: 0.7rem;
    }
    .col-1-work {
        width: 100%;
        height: 50vh;
        overflow-y: scroll;
        display: flex;
        flex-direction: column;
        background-color: #000;
        padding: 1% 2%;
        gap: 1.5rem;
        transition: all 0.5s ease-in-out;
        position: absolute;
        left: 0;
        bottom: 0;
        top: 50vh;
        z-index: -1;
        opacity: 0;
    }
    
    .col-2-work {
        position: absolute;
        right: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        justify-content: space-between;
        color: black;
        background-color: white;
        width: 100%;
        height: 50vh;
        top: 0;
        padding: 10% 5%;
        z-index: -1;
        opacity: 0;
        overflow: hidden;
    }
    .container-next-previous {
        position: absolute;
        top: 0;
        right: 0;
        padding-top: 20px;
        padding-right: 5%;
        padding-left: 5%;
        display: flex;
        width: 50%;
        align-items: center;
        justify-content: space-between;
        z-index: 9;
        width: 100%;
    }
    .container-title-proyect h2 {
        font-size: 3rem;
    }
    .container-title-proyect span {
        font-size: 0.6rem;
    }
    .box-contact{
        width: 100%;
    }
}

.iphone-menu{
    display: none;
}

@media screen and (max-width: 500px){
    .container-name-info h1 {
        font-size: 6rem;
    }
    .preloader h1 {
        font-size: 6rem;
    }
    .container-menu ul li a {
        font-size: 0.7rem;
    }
    .container-name-info span {
        font-size: 1rem;
    }
    .container-name-info a {
        font-size: 1rem;
    }
    .col-2-work {
        position: absolute;
        right: 0;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        gap: 1rem;
        justify-content: space-between;
        color: black;
        background-color: white;
        width: 100%;
        height: 50vh;
        top: 0;
        padding: 15% 5%;
        z-index: -1;
        opacity: 0;
        overflow: hidden;
    }
    .col-2-work p {
        font-size: 0.8rem;
    }
    .button-visit a {
        color: black;
        font-size: 0.7rem;
    }
    .button-visit i {
        color: black;
        font-size: 1rem;
    }
    .iphone-menu{
        height: 40px;
        width: 100%;
        background-color: black;
        display: flex;
    }
    .col-1-work{
        padding-bottom: 80px;
    }
}


  