@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500');
* {box-sizing: border-box;}

html{
    scroll-behavior: smooth;
    background: #4f5b66;
}

body {
    margin: 0 auto;
    padding: 0;
    font-family: 'Roboto', sans-serif;
    color: #4f5b66;
    font-weight: 300;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;      /* Firefox 4 */
    -webkit-transition: all 0.2s ease-in-out;   /* Safari and Chrome */
    -o-transition: all 0.2s ease-in-out;        /* Opera */
    background: #fff;
    padding-top: 80px;
}

h2 {font-size: 45px;}

h3 {
    font-weight: 400;
    font-size: 30px;
}

h4{ 
    font-weight: 400;
    font-size: 25px;
    color: #888888;
}

hr{
    width: 100px;
    height: 1px;
    border: none;
    background: #a7adba;
    margin: 40px 0;
}

p {
    font-size: 22px;
    line-height: 42px;
    color: #888;
}

a {
    cursor: pointer !important;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;      /* Firefox 4 */
    -webkit-transition: all 0.2s ease-in-out;   /* Safari and Chrome */
    -o-transition: all 0.2s ease-in-out;        /* Opera */

}

::selection {
    background: #4f5b66;
    color: #c0c5ce;
}
.marvel{
    width: 100%;
    height: 100vh;
}
.box-row{
    margin-bottom: 15px;
}
img{width: 100%}

.select{
    font-weight: 300;
    color: #4f5b66;
    border-bottom: 1px solid #4f5b66;;
}

.preload{
    width: 100%;
    height: 100%;
    align-items: center;
    text-align: center;
    justify-content: center;
    position: fixed;
    background: #fff;
    z-index: 999999999;
    margin-top: -80px !important;
}

.preload div{
    width: 100px;
    height: 100px;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.preload .smallLogo{
    width: 100px;
    height: 100px;
    line-height: 25px;
    display: inline-block;
    padding: 20px;
    font-size: 80px;
    font-weight: 500;
    color: #343d46;
    border: solid 3px #343d46;
    -webkit-animation: scale-up-center 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) infinite alternate both;
    animation: scale-up-center 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) infinite alternate both;
}

@-webkit-keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

.in {
    -webkit-animation: scale-in-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: scale-in-bottom 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes scale-in-bottom {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    opacity: 1;
  }
}
@keyframes scale-in-bottom {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 100%;
            transform-origin: 50% 100%;
    opacity: 1;
  }
}

.out{
    -webkit-animation: scale-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) reverse both;
    animation: scale-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) reverse both;
}

@-webkit-keyframes scale-in-top {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
    opacity: 1;
  }
}
@keyframes scale-in-top {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-transform-origin: 50% 0%;
            transform-origin: 50% 0%;
    opacity: 1;
  }
}

.loader {
    border: 2px solid rgba(255,255,255, 0.2);
    border-radius: 100px;
    border-top: 2px solid #4f5b66;
    width: 50px;
    height: 50px;
    -webkit-animation: spin 1s linear infinite; /* Safari */
    animation: spin 1s linear infinite;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -25px;
    margin-top: -25px;
    z-index: 0;
}

/* Safari */
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.call-to-action{
    height: 100vh;
}

.call-to-action h4{
    font-weight: 600;
    font-size: 40px;
    margin: 0;
    margin-bottom: 20px;
    color: #a7adba;
}

.call-to-action p{
    margin:0; 
    line-height: 32px;
}
.call-to-action a{
    color: #888888;
}
.call-to-action a:hover{
    color: #343d46;
}

.social{
    list-style: none;
    margin: 0;
    padding: 0;
}
.social li{
    width: 50px;
    height: 50px;
    display: inline-block;
    margin-right: 8px;
}
.social li a{
    width: 50px;
    height: 50px;
    font-size: 30px;
    display: block;
    text-align: center;
    line-height: 50px;
}

.social a:last-child{
    margin-right: 0;
}


.slidingVertical{
    width: 150px;
    height: 49px;
    position: relative;
    margin: 0;
    padding: 0;
}
.slidingVertical li{
    list-style: none;
    padding: 0;
    margin: 0;
    animation: topToBottom 10s linear infinite 0s;
    -ms-animation: topToBottom 10s linear infinite 0s;
    -webkit-animation: topToBottom 10s linear infinite 0s;
    color: #4f5b66;
    height: 100%;
    opacity: 0;
    display: block;
    position: absolute;
    top:0;
}
.slidingVertical li:nth-child(2){
    animation-delay: 2.5s;
    -ms-animation-delay: 2.5s;
    -webkit-animation-delay: 2.5s;
}
.slidingVertical li:nth-child(3){
    animation-delay: 5s;
    -ms-animation-delay: 5s;
    -webkit-animation-delay: 5s;
}
.slidingVertical li:nth-child(4){
    animation-delay: 7.5s;
    -ms-animation-delay: 7.5s;
    -webkit-animation-delay: 7.5s;
}
/*.slidingVertical span:nth-child(5){
    animation-delay: 10s;
    -ms-animation-delay: 10s;
    -webkit-animation-delay: 10s;
}*/

/*topToBottom Animation*/
@-moz-keyframes topToBottom{
    0% { opacity: 0; }
    5% { opacity: 0; -moz-transform: translateY(-50px); }
    10% { opacity: 1; -moz-transform: translateY(0px); }
    25% { opacity: 1; -moz-transform: translateY(0px); }
    30% { opacity: 0; -moz-transform: translateY(50px); }
    80% { opacity: 0; }
    100% { opacity: 0; }
}
@-webkit-keyframes topToBottom{
    0% { opacity: 0; }
    5% { opacity: 0; -webkit-transform: translateY(-50px); }
    10% { opacity: 1; -webkit-transform: translateY(0px); }
    25% { opacity: 1; -webkit-transform: translateY(0px); }
    30% { opacity: 0; -webkit-transform: translateY(50px); }
    80% { opacity: 0; }
    100% { opacity: 0; }
}
@-ms-keyframes topToBottom{
    0% { opacity: 0; }
    5% { opacity: 0; -ms-transform: translateY(-50px); }
    10% { opacity: 1; -ms-transform: translateY(0px); }
    25% { opacity: 1; -ms-transform: translateY(0px); }
    30% { opacity: 0; -ms-transform: translateY(50px); }
    80% { opacity: 0; }
    100% { opacity: 0; }
}

/* Page: Index*/
header,section,main{padding: 40px;}

header {
    width: 100%;
    height: 10vh;
    padding: 0 40px;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #fff;
    
    align-items: center;
    /* Force Hardware Acceleration */
    -webkit-transform: translateZ(0);
              transform: translateZ(0);
    will-change: transform;
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s;
}
header {
    clear: both;
    content: "";
    display: block;
}
header.is-hidden {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
}
a > .logo {color: #4f5b66;}
.logo {
    font-size: 23px;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 22px;
    z-index: 5 !important;
}

.logo span {font-weight: 100;}

.logo a {color: #4f5b66;}

header nav ul {
    list-style: none;
    text-align: right;
}

header nav ul:hover a.active{
    color: #a7adba;
    border-color: #a7adba;
}

header nav ul li{display: inline-block;}

header nav ul li a {
    height: 50px;
    font-size: 16px;
    line-height: 30px;
    color: #a7adba;
    display: inline-block;
    padding: 10px;
    margin: 8px;
}

header nav ul li a:last-child{
    margin-right: 0;
}

header nav ul li a:hover{
    color: #343d46 !important;
    border-bottom: 2px solid #343d46 !important;
}

.active {
    color: #4f5b66;
    border-bottom: 2px solid #4f5b66;
}

.nav-mobile-icon input{display: none;}

.about{
    height: 86vh;
    padding-top: 0;
    position: relative;
}
.about p {
    max-width: 800px;
    font-size: 28px;
    font-weight: 100;
    text-align: left;
    line-height: 45px;
}

.down{
    width: 50px;
    height: 50px;
    font-size: 35px;
    font-weight: 100;
    position: absolute;
    left: 40px;
    bottom: 40px;
    cursor: pointer;
}

.down span{
    width: 20px;
    height: 20px;
    position: absolute;
    left: 5px;
    top: 26px;
    background: none;
    border: 2px solid #4f5b66;
    border-left: none;
    border-top: none;
    -webkit-transform: translate(50%) rotate(45deg);
       -moz-transform: translate(50%) rotate(45deg);
        -ms-transform: translate(50%) rotate(45deg);
         -o-transform: translate(50%) rotate(45deg);
            transform: translate(50%) rotate(45deg);
}
.down span:before{
    content: '';
    width: 48px;
    height: 2px;
    background: #4f5b66;
    position: absolute;
    -webkit-transform: rotate(45deg) translate(-15px, 16.3px) scale(1);
       -moz-transform: rotate(45deg) translate(-15px, 16.3px) scale(1);
        -ms-transform: rotate(45deg) translate(-15px, 16.3px) scale(1);
         -o-transform: rotate(45deg) translate(-15px, 16.3px) scale(1);
            transform: rotate(45deg) translate(-15px, 16.3px) scale(1);
}

.works .cover{
    width: 100%;
    /*height: 0;*/
    padding-bottom: 35%;
    height: 500px;
    position: relative;
    overflow: hidden;
    background: #c0c5ce;
    margin-bottom: 3rem;
    cursor: pointer;
}

.internal .cover{
    height: 320px !important;
    margin-bottom: 0 !important;
}
.internal .cover img{
    z-index: 0;
}

.works .cover a{
    width: 100%;
    height: 100%;
    padding: 40px;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 1;
    color: rgba(255,255,255,0);
    background: rgba(79,91,102, 0);
}

.works .cover h3{
    font-size: 30px;
    font-weight: 500;
    position: absolute;
    bottom: 40px;
    left: 0;
    opacity: 0;

    transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;      /* Firefox 4 */
    -webkit-transition: all 0.6s ease;   /* Safari and Chrome */
    -o-transition: all 0.6s ease;        /* Opera */
}

.works .cover a:hover h3{
    left: 140px;
    opacity: 1;
}

.works .cover a:hover{
    background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(79,91,102,1) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(79,91,102,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(79,91,102,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#4f5b66',GradientType=0 );
    color: rgba(255,255,255, 1);
}

.works .cover img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.works .down{
    width: 80px;
    height: 80px;
    left: -40px;
    bottom: 45px;
    opacity: 0;
}

.works .cover a:hover .down{
    left: 40px;
    opacity: 1;
}

.works .down span{
    border-color: #fff;
    top: 30px;
    left: 30px;
    transform: translate(50%) rotate(-45deg);
}

.works .down span:before{
    background: #fff;
}

footer {
    height: 15vh;
    margin-top: 40px;
    align-items: center;
    text-align: center;
}
footer p{
    font-size: 12px !important;
}

/*Fixing margin 0 auto.*/
.row{
    /*background: #0E81F8;*/
    margin-right: 0;
    margin-left: 0;
}
@media only screen and (max-width: 1024px) {
    
    .logo span{
        visibility: hidden;
        position: relative;
    }

    .logo span:after{
        content: '.M';
        visibility: visible;
        position: absolute;
        top: 5px;
        left: 0px;
    }

}
/* Responsive Menu */
@media only screen and (max-width: 848px) {

    .logo{
        font-size: 18px;
        z-index: 100 !important;
        margin-top: 44px; 
        position: relative;
        visibility: hidden;
    }

    .logo:after{
        width: 30px;
        height: 30px;
        padding: 10px;
        border: 2px solid #4f5b66;
        visibility: visible;
        position: absolute;
        top: -20px;
        left: -8px;
        text-transform: lowercase;
        font-size: 30px;
        text-align: center;
        content: 'p';
    }

    .logo span:after{
        visibility: hidden;
    }

    .nav-mobile-icon{
        width: 54px;
        height: 54px;
        padding: 18px 10px 0;
        position: absolute;
        margin-left: auto;
        cursor: pointer;
        top: 24px;
        right: 40px;
        z-index: 3;
    }
    
    .nav-mobile-icon input{
        display: block;
        width: 50px;
        height: 50px;
        position: absolute;
        top: 0;
        left: 0;
        cursor: pointer;
        opacity: 0;
        z-index: 2;
        -webkit-touch-callout: none;
    }

    .nav-mobile-icon span{
        height: 2px;
        display: block;
        background: #4f5b66;
        margin-bottom: 5px;
        text-align: center;
        transform-origin: 4px 0px;
        transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0), background 0.5s cubic-bezier(0.77,0.2,0.05,1.0), opacity 0.55s ease;
    }

    .nav-mobile-icon span:first-child{ transform-origin: 0% 0%;}

    .nav-mobile-icon span:nth-last-child(2){transform-origin: 0% 100%;}

    .nav-mobile-icon input:checked ~ span{
        opacity: 1;
        transform: rotate(45deg) translate(-8px, -13px);
        background: #c0c5ce;
    }

    .nav-mobile-icon input:checked ~ span:nth-last-child(2){transform: rotate(-45deg) translate(-6px, 11px);}

    .nav-mobile-icon input:checked ~ span:nth-last-child(3){
        opacity: 0;
        transform: rotate(0deg) scale(0.2, 0.2);
    }
    
    .nav-mobile{
        width: 100%;
        /*height: 100%;*/
        position: fixed;
        top: 0;
        right: 0;
        display: none;
        background: rgba(52,61,70, 0.98);
        text-align: center;
        z-index: 2;
    }

    .nav-mobile ul {
        padding: 0;
        margin-top: 150px;
        text-align: center;
    }

    .nav-mobile ul:hover a{color: #4f5b66;}
    
    .nav-mobile ul:hover .active{color: #c0c5ce;}
    
    .nav-mobile li{ display: block !important;}

    .nav-mobile ul li a {
        color: #a7adba;
        display: inline-block;
        font-size: 30px;
        text-align: center;
        margin: 30px;
        margin-left: 0;
    }

    .nav-mobile ul li a:hover{
        color: #c0c5ce !important;
        border-bottom: 4px solid !important;
    }

    .nav-mobile .active {
        color: #c0c5ce;
        border-bottom: 4px solid !important;
    }

    .nav-mobile-icon input:checked ~ .nav-mobile{
        transform: none;
    }

    .h {
        overflow: hidden;
        color:#c0c5ce !important;
    }

    /* works index*/
    .works{
        padding: 20px;
        margin-bottom: 2em;
    }
    .works .cover{
        height: 300px;
        margin-bottom: 2rem;
    }

    .works .cover h3{
        width: 100%;
        height: 120px;
        font-size: 20px;
        bottom: -20px;
        left: 0;
        opacity: 1 !important;
        padding: 60px 20px 30px 20px;
        color: #fff;
        background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(79,91,102,1) 100%);
        background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(79,91,102,1) 100%);
        background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(79,91,102,1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#4f5b66',GradientType=0 );
    }

    .works .cover a:hover h3{
        left: 0;
        opacity: 1;
        color: rgba(255,255,255, 1);
    }

    .works .cover a:hover{
        background: rgba(79,91,102, 0);
    }

    .works .cover img{
        width: 120%;
    }
    .works .cover a:hover .down{
        left: 40px;
        opacity: 0;
    }


} /* Resposive menu end  */

/* Page: Works */
.work{
    background-position: center center !important;
    background-repeat: no-repeat !important;/*
    background-attachment: fixed !important;*/
    -webkit-background-size: cover !important;
    -moz-background-size: cover !important;
    -o-background-size: cover !important;
    background-size: cover !important;
    overflow: hidden;
    background-color: #999 !important;
}

.work .down{
    text-align: center;
    line-height: 50px;
    z-index: 1;
}

/*.work .grade{
    width: 100%;
    height: 200px;
    position: absolute;
    left: 0;
    bottom: 0;    
    background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,1) 99%, rgba(255,255,255,1) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 50%,rgba(255,255,255,1) 99%,rgba(255,255,255,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0.5) 50%,rgba(255,255,255,1) 99%,rgba(255,255,255,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
}*/

.description{
    text-align: left;
}

.description p{
    text-align: left;
    font-size: 22px;
    line-height: 42px;
}

.description span{
    height: 40px;
    padding: 10px;
    line-height: 20px;
    border: 1px solid #c0c5ce;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 20px;
    border-radius: 5px;
}

.gallery{ /* padding: 8px 40px;*/}

.gallery .pic{
    height: 0;
    padding-bottom: 55%;
    overflow: hidden;
    position: relative;
    margin-bottom: 1rem;
}

.pic, .photo, .pic-scroll{
    background: #c0c5ce;
}

.photo{
    position: relative;
    font-size: 0;
}
.photo img, .pic-scroll img{
    position: relative;
    z-index: 1;
}
.pic-scroll{
    height: 70vh;
    overflow-x: scroll;
    position: relative;
    cursor: move;
}
.scroll-it{
    width: 30%;
    padding: 40px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 22px;
    border-radius: 10px;
    position: absolute;
    text-align: center;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.pic-scroll img{
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0);
    filter: blur(3px);
}
.no-src.lazyload,
.no-src.lazyloading {
    opacity: 0;
}

.no-src.lazyloaded {
    opacity: 1;
    transition: opacity 1s;
}

.pic img{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
}

.gallery-wide{
    padding: 40px; /* Responsive 20px top and bottom*/
}

.gallery-wide .pic{
    height: 0;
    padding: 0;
    padding-bottom: 35%;
    max-height: 500px;
    position: relative;
    overflow: hidden;
}

/* Page: About*/
/*.me img{
    border-radius: 1000px;
}*/
.details p{
    font-size: 18px;
    line-height: 2em;
}

.details h4{
    font-size: 22px;
    margin:0;
    padding: 0;
    line-height: 0;
    margin-top: 50px;
}

.details li{
    font-size: 18px;
    line-height: 2em;
    color: #888;
}

.details span{
    border: 0;
    padding: 0;
    font-size: 16px;
    display: block;
    color: #999;
    margin: 0;
}
.details .date{
    
}

/* Page: 404 */
.error{
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
}
.error .box-row{
    padding-top: 160px;
    height: 55vh !important;
}
.error h2{
    font-size: 45vw;
    line-height: 0;
    display: inline-block;
    margin: 0;
    padding: 0;
    color: #fafafa;
    z-index: 1;
    position: absolute;
    left: 40px;
    top: 190px;
}
.error h3{
    font-size: 50px;
    line-height: 0;
    font-weight: 500;
    padding: 0;
    -webkit-margin-before: 0;
    -webkit-margin-after:40px;
    position: relative;
    z-index: 2;
}
.error p{
    margin: 0 !important;
    padding: 0;
    line-height: 35px;
    position: relative;
    z-index: 2;
}
.error a{
    position: relative;
    z-index: 1;
}
.erro .sub-text{
    font-size: 18px !important;
}

.error .down{
    width: 170px;
    padding-left:80px;
    font-size: 20px;
    line-height: 45px;
    font-weight: 300;
    position: relative;
    left: 0;
    bottom: 14px;
}

.error .down span{
    top: 15px;
    transform: translate(50%) rotate(135deg);
}

/*video player*/
video{
    max-height: 733px;
    box-sizing: border-box;
}
.vimeo{
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
}
.vimeo iframe,
.vimeo object,
.vimeo embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}