/*////////////////////////////////////
General
////////////////////////////////////*/
@import url('./fonts/fonts.css');

html, body {
    font: 16px 'anodina', sans-serif;
    margin: 0;
    padding: 0;
    height: 100%;
    color: #ffffff;
}
html {
    background-color: #36559E;
    scroll-behavior: smooth;
}
body{
    overflow: hidden;
}
h1, p, li, ul {
    margin: 0;
    padding: 0;
}
ul, li {
    list-style: none;
}
p, span{
    font-size: 1.25rem;
    letter-spacing: 6px;
    text-transform: uppercase;
    opacity: 0.9;
}
a{
    color: #ffffff;
}
.work-sans, h1,h2, h4{
    font-family: 'Work Sans';
}
h1, h2{
    opacity: 0.9;
}
.copy-section h2{
    max-width: 1100px;
}
#fullpage{
    display: none !important;
}
/* Header */
.copy-section .info-text{
    display: none;
}
#info-titles{
    display: none;
}

.loading{
    position: fixed;
    display: flex;
    flex-direction: column;
    justify-content: center;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 100;
    background-color: #fff;
    transition: height 1.4s;
}
.img-load{
    opacity: 1;
    transition: opacity 0.5s;
    align-self: center;
}
.clickLoad{
    padding-top: 75px;
    opacity: 1;
    transition: opacity 0.5s;
    align-self: center;
    cursor: pointer;
}
.portrait{
    margin-top: 35px;
    opacity: 1;
    display: none;
    transition: opacity 1s;
    flex-direction: column;
    align-self: center;
    
}
.clickLoad p{
    text-align: center;
    font: 18px 'anodina', sans-serif;
    letter-spacing: 5.4px;
    color: #36559E;
    text-transform: uppercase;
}
.portrait p{
    text-align: center;
    font: 18px 'anodina', sans-serif;
    letter-spacing: 5.4px;
    color: #36559E;
    text-transform: uppercase;
}
.clickLoad .mobile{
    display: none;
}
.clickLoad .orientation-change{
    display: none;
}

.pulse {
    animation: pulse 0.5s infinite;
    margin: 0 auto;
    display: table;
    animation-direction: alternate;
    -webkit-animation-name: pulse;
    animation-name: pulse;
  }

.loading svg path, .loading svg rect{
    fill: #36559E;
}
.header {
    position: fixed;
    z-index: 51;
    transform: translateZ(0);
}

.header .logo-mark {
    float: left;
    padding: 5vw 6vw;
    transition: opacity 0.2s;
}
.header .logo-mark a{
    cursor: pointer;
}
.header .logo-mark img {
    display: block;
}
.social-mobile{
    display: none;
}
.social-desktop{
    display: block;
}
.social {
    position: fixed;
    top: 8vw;
    right: 6vw;
    color: #fff;
    font-size: 16px;
    z-index: 10;
    margin: -10px 0 0 0;
}
.social a{
    text-decoration: none;
}
.social li {
    float: left;
}
.social .share{
    letter-spacing: 4.8px;
    text-transform: uppercase;
}
.social li.share:after {
    content: "";
    display: inline-block;
    width: 4.5vw;
    height: 1px;
    margin: 0 0 0 10px;
    background: white;
    vertical-align: middle;
  
}
.social li {
    margin: 0 0 0 1.5vw;
    transition: opacity 0.2s;
}
.social li.icon:hover {
    opacity: 0.7;
}
.social svg .a{
    stroke: none;
}
/* Pagination (text) */

#pagination {
    position: fixed;
    top: 35%;
    right: 6vw;
}
/* Pagination (dots) */

#pagination-dots {
    margin: 5vh 0 0 0;
}
#pagination-dots li {
    cursor: pointer;
}
#pagination-dots a {
    position: relative;
    display: block;
    width: 20px;
    height: 20px;
    opacity: 1;
    margin: 30px 0;
    box-sizing: border-box;
    transition: transform 1.5s cubic-bezier(0.24, 1.45, 0.24, 0.98);
}
#pagination-dots a span {
    position: absolute;
    display: block;    
    border: 2px solid #FFFFFF;
    border-radius: 50%;
    opacity: 0.3;
    width: 10px;
    height: 10px;
    /* top: 50%; */
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
}
.desktop #pagination-dots a:hover span{
    opacity: 1.0;
}
#pagination-dots li.selected a span{
    border-radius: 50%;
    border: 2px solid #5CB8B6;
    opacity: 1;
    width: 19px;
    height: 19px;
}

/* Mouse wheel */
#mouse-wheel {
    display: inline-flex;
    transition: opacity 1s cubic-bezier(0.390, 0.575, 0.565, 1.000), top 1s cubic-bezier(0.390, 0.575, 0.565, 1.000);
    
}
#mouse-indicator{
    position: fixed;
    top: 90%;
    left: 6vw;
}
#mouse-indicator .mouse-outline{
    position: relative;
}
.mouse-text {
    font-size: 1rem;
    letter-spacing: 4.8px;
    color: #fff;
    margin: 5px 20px;
}
.wheel.animate {
    position: absolute;
    left: 8px;
    animation-name: wheelBounce;
    animation-duration: 1s; /* or: Xms */
    animation-iteration-count: infinite;
    animation-timing-function: linear; /* or: ease, ease-in, ease-in-out, linear, cubic-bezier(x1, y1, x2, y2) */
    animation-fill-mode: both; /* or: backwards, both, none */
}
#mouse-indicator .mouse-mobile{
    display: none;
}

#sound{
    cursor: pointer;
    position: fixed;
    top: 90%;
    right: 6vw;
}
.privacy-policy{
    visibility: hidden;
    display: flex;
    opacity: 0;
    transition: visibility 1s, opacity 1s linear;
    position: fixed;
    height: 100vh;
    width: auto;
    z-index: 52;
    top: 0px;
    left: 0px;
    background:#36559E;
    text-align: center;
}

.privacy-content{
    overflow-y: scroll;
    height: 75%;
    align-self: center;
    margin: 5vw 7vw 0 7vw;
    /* scrollbar-color: green; */
}
/* .privacy-content::-webkit-scrollbar-thumb {
    background-color: transparent;
  } */
  .privacy-content::-webkit-scrollbar {
    width: 7px;
    background-color: transparent;
}
 
.privacy-content::-webkit-scrollbar-track {
    box-shadow: inset 0 0 6px transparent;
    -webkit-box-shadow: inset 0 0 6px transparent; 
    border-radius: 10px;
    background-color: transparent;
}
 
.privacy-content::-webkit-scrollbar-thumb {
    border-radius: 10px;
    color: white;
    box-shadow: inset 0 0 6px #fff;
    -webkit-box-shadow: inset 0 0 6px #fff;
    background-color: #fff; 
}

.privacy-policy .title-privacy{
    text-align: center;
    font-size: 55px;
    font-family: 'Work Sans';
    font-weight: 100;
}
.privacy-policy .text-privacy{
    width: 70%;
    margin: auto;
    text-align: left;
    font-size: 18px;
    font-family: 'Work Sans';
    font-weight: 100;
    letter-spacing: 2.8px;
    padding: 5vw 0;
    opacity: 1;
}
.privacy-policy .text-privacy span, .privacy-policy .text-privacy p{
    font-size: 18px;
    letter-spacing: 2.8px;
    opacity: 1;
    text-transform: none;
}
.privacy-policy .text-privacy ul{
    padding-left: 40px ;
}
.privacy-policy .text-privacy li{
    list-style: disc;
}

.privacy-policy .close-btn{
    background: transparent;
    position: fixed;
    top: 5vw;
    right: 5vw;
    z-index: 60;
    width: 42px;
    height: 42px;
    cursor: pointer;
    transition: all .3s; /*Animation */
}
.privacy-policy .close-btn:hover{
    transform: scale(1.1);
}
.privacy-policy .close-btn:hover svg g .i, .privacy-policy .close-btn:hover svg g .g{
    stroke: #5CB8B6;
}


/*////////////////////////////////////
Copy area
////////////////////////////////////*/

/* @media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13/10), only screen and (min-resolution: 120dpi) {
    -webkit-font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
} */

#scrolling-content {
    position: relative;
    top: 0;
    width: 100%;
    height: 100%;
}
#scrolling-area {
    height: 100%;

}
.conteudo{
    height: 100%;
}
.copy-content {
    transition: visibility 2s linear 0s, opacity 0.300s;
  }
.copy-section {
    position: relative;
    width: 100%;
    height: 100%;
    transform: translateZ(0);
}
.copy-section.topic-4itfuture .copy-content{
    text-align: left;
}
.copy-content {
    position: absolute;
    top: 50%;
    left: 13vw;
    width: 75%;
    text-align: center;
    transform: translateY(-50%);
}
.topic-about-us .copy-content {
    position: absolute;
    top: 60%;
    left: 0;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);
}

.copy-section h1 {
    margin: 32px 0;
    font-size: 78px;
    font-weight: 100;
    letter-spacing:0;
    color: #FFFFFF;
}
.copy-section h1 span{
    font-size: 78px;
    font-weight: 100;
    letter-spacing:0;
    color: #FFFFFF;
    text-transform: none;
    opacity: 1;
}
.copy-section h2 {
    margin: 32px auto;
    font-size: 55px;
    font-weight: 100;
    letter-spacing:0;
}
.copy-section p {
    font-weight: 100;
}
.copy-section.topic-about-us .copy-content{
    top: 55%;
}
.copy-content .about-us{
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;
    margin: 3vw auto 0 auto;
    width: 75%;
} 
.about-us .services{
    font-size: 1.5625rem;
}
.services ul{
    text-align: left;
}
.services li{
    margin: 20px 0;
    font-weight: 100;
}
.details {
    width: 25%;
}
.details ul {
    padding-top: 20px;
}
.details li{
    font-size: 70px;
    display: grid;
    margin: 0 0 15px 0;
    opacity: 0.9;

}

.clients li{
    margin: 25px 0 25px 0;
}
.clients .client-desktop{
    display: block;
    margin: auto;
}
.clients .client-mobile{
    display: none;
}

.copy-content .solutions{
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 5vw 0 0 0
} 
.copy-content .solutions div{
    padding: 15px 0;
    text-align: center;
} 
.copy-content .solutions .uxp{
    margin-right: 5vw;
} 
.copy-content .solutions .ebiz{
    margin-right: 5vw;
} 

.copy-content .solutions h4{
    font-weight: normal;
    padding: 20px 0;
    font-size: 28px;

} 
.copy-content .partner-content{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 8vw 0 0 0

} 
.partner-content .microsoft{
    align-self: center;
    padding-bottom: 65px;
    margin: auto;
}
.partner-content .assoft{
    align-self: center;
    margin: auto;
}
.copy-section.topic-reach-us .copy-content{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.copy-section.topic-reach-us h2{
    margin: 15px auto
}

.copy-section.topic-reach-us .info{
    display: flex;
    justify-content: space-around;
    flex-direction: row;
    width: 80%;
    margin: auto;
    padding: 3vw 0 0 0
}
.info a, .info .location span{
    font-size: 1.375rem;
    font-weight: 100;
    opacity: 1;
    text-decoration: none;
    text-transform: none;
    font-family: 'Work Sans';
    letter-spacing: normal;
    margin-bottom: 10px;
}

.info img, .info p{
    margin-bottom: 15px;
}

.location a{
    font-size: 15px;
    text-decoration: underline;
    letter-spacing: 4.5px;
    color: #ffffff;
    font-family: 'Anodina';
    text-transform: uppercase;
    font-weight: normal;
}
.copy-section.topic-reach-us .location, .topic-reach-us .mobile{
    display: inline-flex;
}
.contact-text{
    display: flex;
    flex-direction: column;
    text-align: left;
    padding-left: 15px;
}

/* Form Section */

#form-section {
    max-width: 600px;
    transition: opacity 0.15s, transform 0.15s;
    overflow: hidden;
    padding: 18px 30px 0 30px;
    align-self: center;
}

#form-section.active {
    opacity: 1;
    transition: opacity 0.25s, transform 0.25s;
}

#form-section.submitted {
    opacity: 0;
    visibility: hidden;
}

#form-section .input-text {
    margin: 0 0 30px 0;
    text-align: left;
}

#form-section .input-area.error span, #form-section .input-area.error label a, #form-section .input-area.error label{
    color: #721c24;
}

#form-section .input-area.error input, #form-section .check-submit .check-label::before {
    border-color:  #721c24;
}

#form-section #input-one {
    -webkit-transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
}

#form-section #input-two {
    -webkit-transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
}

#form-section #input-three {
    -webkit-transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
}

#form-section #input-four {
    -webkit-transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
}

#form-section.active #input-one, #form-section.active #input-two, #form-section.active #input-three, #form-section.active #input-four {
    transform: translateY(0);
}

#form-section .input-text label{
    position: absolute;
    color: white;
    transition: all 0.4s;
    font-weight: normal;
    font-size: 1.25rem;
}

#form-section .check-submit {
    display: flex;
    flex-direction: row;
    position: relative;
    flex-wrap: wrap;
}
#form-section .check-option {
    padding: 0px 25px;
    margin-bottom: 15px;
    max-width: 245px;
    padding-right: 0px;
}

#form-section .check-label {
    font-size: 14px;
    padding: 0 15px;
    display: inline-block;
    text-align: left;
}
#form-section .check-label  a{
    font-size: 14px;
    text-decoration: underline;
    letter-spacing: normal;
    color: #ffffff;
    cursor: pointer;
}

#form-section .check-submit .check-input{
    position: absolute;
    left: 0;
    z-index: -1;
    opacity: 0;
}
#form-section .check-submit .check-input:checked ~ .check-label::before {
    color:#fff;
    background-color: transparent;
    border-color: #fff;
}
#form-section .check-submit .check-label::before {
    position: absolute;
    top: .25rem;
    display: block;
    left: 0rem;
    content: "";
    border-radius: 50%;
    border: 1px #fff solid;
    background: 0 0;
    width: 20px;
    height: 20px;
    padding: 2px;
    cursor: pointer;
}
#form-section .check-label::after{
    position: absolute;
    top: .25rem;
    left: -1.5rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    background: no-repeat 50%/50% 50%;
}
#form-section .check-input:checked ~ .check-label::after{
    border-radius: 50%;
    background: transparent;
    width: 30px;
    height: 30px;
    background: url("./../img/check-symbol.svg"), no-repeat;
    background-size: cover;
    margin: -5px 25px;

}
#form-section .check-submit button{
    width: 250px;
    height: 52px;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 26px;
    border: none;
    transition: all .3s; /*Animation */
    cursor: pointer;
    
}
#form-section .check-submit button:hover{
    background: #5CB8B6 0% 0% no-repeat padding-box;
    border-radius: 26px;
}

#form-section .button-submit  span{
    font-size: 15px;
    text-decoration: none;
    letter-spacing: 4.5px;
    color: #36559E;
}
#form-section .check-submit button:hover span{
    color: #FFFFFF;

}

#form-section .input-text input {
    border: none;
    display: block;
    font: 16px 'Roboto', sans-serif;
    font-weight: 300;
    /*margin: 50px 0 0 0;*/
    width: 100%;
    background: none;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
    color: white;
    padding: 0 0 12px 0;
    transition: all 0.4s;
    border-radius: 0;
}

#form-section .input-area input:focus {
    border-bottom: 2px solid rgba(255, 255, 255, 1);
}


#form-section .input-text.filled label{
    transform: translateY(-20px);
    opacity: 0.4;
    font-size: 12px;
    letter-spacing: 1px;
    color: #ffffff;
}
.content-reach-us{
    display: flex;
    flex-direction: column;
}

input:focus{
    outline: none;
}
#error-message{
    color: #dc4e41;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0;
    padding: 10px 0;
  }

#success-message {
    margin: 32px 0;
    font-size: 64px;
    font-weight: 100;
    letter-spacing: -0.1vw;
    line-height: 1em;
    color: #5CB8B6;
    position: absolute;
    top: 10vh;
    right: 29vw;
    /* opacity: 0; */
    z-index: -10;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: white;
}
::-moz-placeholder { /* Firefox 19+ */
  color: white;
}
:-ms-input-placeholder { /* IE 10+ */
  color: white;
}
:-moz-placeholder { /* Firefox 18- */
    color: white;
}

input:-webkit-autofill {
    box-shadow: 0 0 0 1000px white inset !important;
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
}

/*////////////////////////////////////
Canvas
////////////////////////////////////*/

canvas#map-canvas {
    position: fixed;
}

  
@-webkit-keyframes pulse {
    0% {
      -webkit-transform: scale(1);
    }
    100% {
      -webkit-transform: scale(1.1);
    }
  }
  @keyframes pulse {
    0% {
      transform: scale(1);
    }
    100% {
      transform: scale(1.1);
    }
  }
/*////////////////////////////////////
Narrow Desktop
////////////////////////////////////*/

/* @media screen and (max-width: 1290px) {
    .copy-section .info-text, .copy-section .title-text{
        font-size: 18px;
        font-family: 'Work Sans';
        letter-spacing: 4.8px;
        font-weight: normal;
    }
    .copy-section h1, .copy-section h1 span, .copy-section h2{
        font-size: 48px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: 100;
        text-transform: none;
        opacity: 1;
        margin: 20px 0;
    }
    .copy-content .solutions p{
        font-size: 18px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: normal;
        padding: 10px;
    }
    .services li{
        font-size: 20px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: normal;
    }
    .details li{
        font-size: 54px;
        font-family: 'anodina';
        letter-spacing: 0px;
        margin: 0 0 21px 0;
        font-weight: normal;
        opacity: 0.9;
    }
    .details span{
        font-size: 15px;
        font-family: 'anodina';
        letter-spacing: 4.5px;
        font-weight: normal;
        opacity: 0.9;
    }
    .copy-section h1 {
        margin: 40px 0;
    }
    .check-submit{
        flex-wrap: wrap;
    }
    #form-section .check-option{
        padding-bottom: 15px;
    }
    .wheel.animate {
        left: 0.70vw;
    }
    
} */
@media screen and (max-width: 998px) {
   .copy-section .title-text{
        font-size: 18px;
        font-family: 'Work Sans';
        letter-spacing: 4.8px;
        font-weight: normal;
    }
    .copy-section h1, .copy-section h1 span, .copy-section h2{
        font-size: 48px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: 100;
        text-transform: none;
        opacity: 1;
        margin: 20px 0;
    }
    .copy-content .solutions h4{
        font-size: 22px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: normal;
    }
    .copy-content .solutions p{
        font-size: 18px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: normal;
        padding: 10px;
    }
    .services li{
        font-size: 20px;
        font-family: 'Work Sans';
        letter-spacing: 0px;
        font-weight: normal;
    }
    .details li{
        font-size: 54px;
        font-family: 'anodina';
        letter-spacing: 0px;
        margin: 0 0 21px 0;
        font-weight: normal;
        opacity: 0.9;
    }
    .details span{
        font-size: 15px;
        font-family: 'anodina';
        letter-spacing: 4.5px;
        font-weight: normal;
        opacity: 0.9;
    }
    .solutions svg{
        height: 67.73px;
        width: 173.71px;
    }
    .copy-section.topic-reach-us .mailto svg{

        height: 33.38px;
        width: 35.73px;
    }
    .content-reach-us{
        display: flex;
        flex-direction: row;
    }
    .copy-section.topic-reach-us .info{
        display: flex;
        justify-content: space-around;
        flex-direction: column;
        width: 50%;
        margin: 0px;
        padding: 3vw 15px 0 15px;

    }
    .copy-section.topic-form #success-message {
        right: 45vw;
        font-size: 48px;
    }
}



/*////////////////////////////////////
Short Desktop
////////////////////////////////////*/

@media screen and (max-height: 895px) {
    .copy-section h1 {
        margin: 30px 0;
    }
    
    
    
}
@media screen and (max-height: 745px) {
    .topic-about-us .copy-content{
        top: 65%;
    }
    .copy-content .about-us{
        justify-content: space-evenly;
        margin: auto;
        width: 75%;

    }
    .topic-about-us .topic-title h2{
        font-size: 48px;
        margin: 32px auto 2vh auto;
    }
    .topic-about-us .services li{
        margin:  10px 0;
    }
    .topic-about-us .details ul{
        padding-top: 0
    }
    .topic-about-us .details li{
        margin: 0 0 10px 0;
    }
    .topic-about-us .clients{
        width: unset;
    }
    .topic-about-us .clients li{
        margin: 15px 0;
    }
    
    
    
}

@media screen and (min-width: 1024px) and (max-width: 1366px) {
    .copy-content .solutions .uxp{
        margin-right: 2vw;
    } 
    .copy-content .solutions .ebiz{
        margin-right: 2vw;
    } 
}
@media screen and (max-width: 1200px) {

    .solutions .biz svg{
        width: 195px;
        height: 76px;
    }
    .solutions .ebiz svg{
        width: 218px;
        height: 76px;
    }
    .solutions .uxp svg{
        width: 232px;
        height: 76px;
    }
}

/*////////////////////////////////////
FOUT Prevention
////////////////////////////////////*/

#scrolling-content,
#pagination,
.social {
    opacity: 0;
    transition: opacity 0.25s;
}
.fonts-active #scrolling-content,
.fonts-active #pagination,
.fonts-active .social {
    opacity: 1;
}

#bg-img {
    display: none;
}

/*//////////////////////////////////
Animation Keyframs
//////////////////////////////////*/
@keyframes wheelBounce {

    0%, 20%, 95%, 100% {
        transform: translateY(-1px);
    }

    65%, 85% {
        transform: translateY(3px);
    }
}
/* @media only screen and (orientation:landscape){
    body {
      height: 100vw;
      transform: rotate(90deg);
    }
  } */
  .rotate {
    animation: rotation 2s infinite linear;
  }
  @keyframes rotation {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(359deg);
    }
  }