﻿/*#region Common */
* {
    margin: 0;
    padding: 0;
}



@font-face {
    font-family: 'TypoGraphica';
    src: url('../fonts/TypoGraphica.otf') format('opentype');
}

@font-face {
    font-family: 'myCalibri';
    src: url('../fonts/Calibri.ttf') format('truetype');
}

html, body {
    background: white;
    height: 100%;
}

main *, footer *  {
    font-family: 'myCalibri', Calibri !important;
}

a {
    color: gray;
}

    a:hover {
        text-decoration: none;
        color: gray;
    }

footer a:link {
    text-decoration: none;
}

a:visited {
    text-decoration: none;
}



/*#endregion */

nav a img {
    width: 50%;
}

nav div a{
    /*top:100%;*/
    position:relative;
}

header {
    width: 100%;
    height: 200vh;
}



div.video {
    width: 100%;
    height: auto;
    background-image: none;
}



/*#region TiveLoader */

body::before {
    content: '';
    transition: transform ease-in-out .4s;
}

body::after {
    content: '';
    opacity: 0;
    transition: opacity ease-out .5s;
}

body.tiveLoader {
    overflow: hidden;
}

div.mainBanner.parallax {
    /*background-image: url('../../assets/img/bg-intro.PNG');
    background-size: cover;*/
    background: #36f2d8;
    width: 100%;
    height: 100%;
}
div.video.parallax{
    /*top:0;*/
    /*transition: top linear 1s;*/
}
.tiveLoader::before, .tiveLoader::after {
    content: '';
}


.tiveLoader::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #27dfda;
    z-index: 2000;
    transition: opacity 1.5s ease-in-out;
}

.tiveLoader::after {
    opacity: 1;
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
    background-image: url('/assets/img/AnimacionTiveIndex.gif');
    background-size: 30%;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 3005;
}

.tiveLoader.fadeOut {
    overflow: auto;
}

    .tiveLoader.fadeOut:before {
        content: '';
        /*height: 0;*/
        /*transform: scale(0);*/
        opacity: 0;
        pointer-events: none;
    }

    .tiveLoader.fadeOut:after {
        content: '';
        opacity: 0;
        pointer-events: none;
    }



/*#endregion */




.contactform {
    margin: auto;
    width: 100vw;
    max-width: 800px;
    margin-top: 50px;
    font-family: 'myCalibri', Calibri;
}
.hidden{
    display:none;
}
.icon-scroll,
.icon-scroll:before {
    position: absolute;
    left: 50%;
}

.icon-scroll {
    width: 18px;
    height: 35.5px;
    margin-left: -10px;
    top: 95%;
    margin-top: -35px;
    box-shadow: inset 0 0 0 1px #fff;
    border-radius: 25px;
    z-index: 10000;
}

.text-scroll {
    top: 95%;
    z-index: 10000;
    font-size: medium;
    font-family: 'myCalibri', Calibri;
    color: white;
    width: 100%;
    text-align: center;
    position: absolute;
    animation: blinker 1s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

.icon-scroll:before {
    content: '';
    width: 8px;
    height: 8px;
    background: #fff;
    margin-left: -4px;
    top: 0px;
    border-radius: 4px;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: scroll;
    animation-name: scroll;
}

@-webkit-keyframes scroll {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px);
    }
}

@keyframes scroll {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
        -webkit-transform: translateY(30px);
        transform: translateY(30px);
    }
}

.parallax {
    z-index: 1000;
    position: fixed;
    top: 0;
    /*width: auto;*/
}

    .parallax.left {
        left: 0; /* align left edge with center of viewport */
        top: 85vh;
        /*margin-left: -470px;*/ /* move left by half element's width */
    }

        .parallax.left img {
            position: absolute;
            transition: top linear .8s;
        }

            .parallax.left img:nth-child(1) {
                left: -19vw;
                width: 28vw;
                z-index: 6;
            }

            .parallax.left img:nth-child(2) {
                left: -7vw;
                width: 28vw;
                z-index: 3;
                top: 100px;
            }

            .parallax.left img:nth-child(3) {
                left: 6vw;
                width: 21vw;
                z-index: 9;
                top:300px;
            }


    .parallax.right {
        right: 0;
        top: 85vh;
    }

        .parallax.right img {
            float: right;
            right: 0;
            position: absolute;
            transition: top linear .8s;
        }

            .parallax.right img:nth-child(1) {
                right: 10vw;
                width: 5vw;
                z-index: 1;
            }

            .parallax.right img:nth-child(2) {
                right: 5vw;
                width: 16vw;
                top: 10em;
                z-index: 5;
            }

            .parallax.right img:nth-child(3) {
                right: -12vw;
                width: 28vw;
                z-index: 4;
            }
            .parallax.right img:nth-child(4) {
                right: 16vw;
                width: 11vw;
                z-index: 2;
            }
            .parallax.right img:nth-child(5) {
                right: 0vw;
                width: 21vw;
                z-index: 8;
                top: 430px;
            }

    .parallax.center {
        left: 0;
        top: 85vh;
    }
        .parallax.center img {
            float: left;
            left: 0;
            position: absolute;
            transition: top linear .8s;
        }

            .parallax.center img:nth-child(1) {
                left: 53vw;
                width: 7vw;
                z-index: 7;
            }
            .parallax.center img:nth-child(2) {
                left: 27vw;
                width: 20vw;
                z-index: 10;
                top:100px;
            }

    .parallax.crea, .parallax.tive {
        font-size: 10vw;
        color: white;
    }

    .parallax.we-are {
        font-size: 3.5vw;
        color: white;
        top: 130%;
        left: 31.5vw;
        font-family: 'myCalibri', Calibri; /*'TypoGraphica';*/
        /*transition: top ease-in 1.5s;*/
    }

    .parallax.tive {
        top: 65%;
        left: 49.5%;
        /*transition: top linear 1.5s;*/
        font-family: 'TypoGraphica';
    }

    .parallax.crea {
        top: 100vh;
        width: 49vw;
        text-align: right;
        /*transition: top ease-in 1.5s;*/
        font-family: 'TypoGraphica';
    }

    .parallax.middle {
        top: 65%;
        left: 35%;
        /*transition: top linear 1.5s;*/
    }

        .parallax.middle img {
            width: 14vw;
        }

.transitionLinenar {
    transition: top linear 1.5s;
}

.transitionEasyIn {
    transition: top ease-in-out 1.5s;
}

nav {
    width: 100%;
    margin-top: 4rem;
    padding-left: 10px;
    padding-right: 10px;
    display: inline-block;
    background-color: white;
    padding-left: 5% !important;
    padding-right: 5% !important;
}

    nav a:first-child {
        float: left;
    }

    nav div {
        float: right;
    }

        nav div a {
            padding-left: 10px;
        }

/* Logo animado del parallax (home) — clickeable sin alterar el layout fixed. */
.parallax.middle a {
    display: inline-block;
    line-height: 0;
}

.parallax.middle a img.wlogo {
    width: 14vw;
    cursor: pointer;
}

.fixed-nav {
    position: fixed !important;
    top: 0 !important;
    margin-top: 0 !important;
    z-index: 1000 !important;
}

.fixed-nav-img {
    width: 30vw;
}

main {
    padding: 5% !important;
    /*padding-left: 5% !important;
    padding-right: 5% !important;*/
}

    main article {
        /*position: absolute;
        padding-bottom: 20px;
        padding-top: 20px;
        box-shadow: 0px 1px #c6c6c6;*/
        /*box-shadow: #c7c7c7 1px 1px 3px;*/
    }

        main article img {
            position: relative;
            margin-top:5%;
            width:100%;
        }

        main article .desc {
             padding-bottom: 0; 
            margin-top: 1%;
            color: #5e5e5e;
            position: relative;
            box-shadow: 0 1px #c6c6c6;
        }

            main article .desc a {
                color: #c6c6c6;
                display: block;
                font-size: medium;
                font-weight: normal;
            }

.desc span.info {
    font-size: small;
}
/*.row .desc {
    padding-left: 5%;
    padding-bottom:1vh;
    margin-bottom:1vh;
}*/

section.sct-Clientes {
    width: 100%;
    text-align: center;
    padding-bottom: 10vh;
}

.sct-Clientes span {
    width: 100%;
    font-size: 5em;
    font-weight: bold;
    color: #dddddd;
}

.grid-clients
{   
    padding-top:3em;
    padding-bottom:8em;
}
    .grid-clients img {
        height: fit-content;
        width: 33%;
    }

.masonry {
    display: flex;
    flex-direction: column;
}

.column {
    display: flex;
    flex-flow: column wrap;
    width: 100%;
}

.item {
    box-sizing: border-box;
    /*padding: 10px;*/
    counter-increment: item-counter;
}

.item__content {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 220px;
    font-size: 40px;
    color: #070319;
    background: currentColor;
    box-sizing: border-box;
    color: #18314F;
}

    .item__content:hover {
        background: #22446e;
    }

    .item__content:before {
        position: absolute;
        top: 0;
        left: 0;
        font-size: 13px;
        width: 2em;
        height: 2em;
        line-height: 2em;
        text-align: center;
        font-weight: bold;
        background-color: #8aafdc;
        content: counter(item-counter);
    }



.item__content--small {
    color: #8BBEB2;
    height: 100px;
}

    .item__content--small:hover {
        background: #a5cdc3;
    }

    .item__content--small:before {
        background: #080f0d;
    }


.item__content--medium {
    color: #E6F9AF;
    height: 175px;
}

    .item__content--medium:hover {
        background: #f2fcd5;
    }

    .item__content--medium:before {
        background: #546e08;
    }


.item__content--large {
    color: #384E77;
    height: 280px;
}

    .item__content--large:hover {
        background: #456093;
    }

    .item__content--large:before {
        background: #c9d3e5;
    }

a.no-link {
    pointer-events: none;
}

footer {
    height: 10vh;
    padding-top: 15px;
    padding-right: 15px;
    border-top: 1px solid #808080;
    position: fixed;
    bottom: 0;
    background: #fff;
    width: 100vw;
    font-size: smaller;
}

    footer h3 {
        font-weight: bold;
        font-size: medium;
    }

    footer .links-footer {
        text-align: right;
    }

        footer .links-footer a {
            color: #808080;
        }

    footer ul {
        list-style: none;
    }
    footer img {
        width: 10%;
    }

.animate {
    animation: glitch-anim-text 0.3s 3 alternate linear forwards;
}

@media (min-width: 1650px) {
    .desc .row div {
        width:77%;
    }

    .col-slg {
        margin-left: 17%;
        width: 34%;
    }
}

@keyframes glitch-anim-text {
    0% {
        transform: translate3d(-10px,0,0) scale3d(-1,-1,1);
        -webkit-clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
        clip-path: polygon(0 20%, 100% 20%, 100% 21%, 0 21%);
    }

    20% {
        -webkit-clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
        clip-path: polygon(0 33%, 100% 33%, 100% 33%, 0 33%);
    }

    30% {
        color: var(--color-scroll-text);
        -webkit-clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
        clip-path: polygon(0 44%, 100% 44%, 100% 44%, 0 44%);
    }

    40% {
        color: #59e6bd;
        -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
        clip-path: polygon(0 50%, 100% 50%, 100% 20%, 0 20%);
    }

    43% {
        color: var(--color-scroll-text);
    }

    50% {
        -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
        clip-path: polygon(0 70%, 100% 70%, 100% 70%, 0 70%);
    }

    60% {
        -webkit-clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
        clip-path: polygon(0 80%, 100% 80%, 100% 80%, 0 80%);
    }

    70% {
        -webkit-clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
        clip-path: polygon(0 50%, 100% 50%, 100% 55%, 0 55%);
    }

    80% {
        -webkit-clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
        clip-path: polygon(0 70%, 100% 70%, 100% 80%, 0 80%);
    }

    90% {
        transform: translate3d(-10px,0,0) scale3d(-1,-1,1);
    }

    90.1% {
        transform: translate3d(0,0,0) scale3d(1,1,1);
    }

    100% {
        transform: none;
        -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
    }
}
.col-centered {
    float: none;
    margin: 0 auto;
}
.justify-content-between {
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
}
.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
}
.flex-row {
   
}
.nofloat{
    float:none !important;
}
@media (min-width:2000px){
    .col-lgr-1{
        width:8.33333333%;
        float:left;
    }
    .col-lgr-2 {
        width: 16.66666666%;
        float: left;
    }
    .col-lgr-3 {
        width: 25%;
    }
    .col-lgr-4 {
        width: 33.33333333%;float:left;
    }

    .col-lgr-5 {
        width: 41.66666666%;float:left;
    }

    .col-lgr-6 {
        width: 50%;float:left;
    }
    .col-lgr-7 {
        width: 58.33333333%;float:left;
    }

    .col-lgr-8 {
        width: 66.66666666%;float:left;
    }

    .col-lgr-9 {
        width: 75%;float:left;
    }

    .col-lgr-10 {
        width: 83.33333333%;float:left;
    }

    .col-lgr-11 {
        width: 91.66666666%;float:left;
    }

    .col-lgr-12 {
        width: 100%;float:left;
    }
}