@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
:root{
    --color-red : #c13229;
    --color-red-dark : #8b2c26;
    --color-blue : #090f2E;
    --color-dark : #101010;
}
*{
    box-sizing: border-box;
    font-family: 'Montserrat', sans-serif;
    scroll-behavior: smooth;
    scroll-margin: 60px;
}
body{
    margin:0;
    padding:0;
}
.hide{
    opacity: 0 !important;
    transition: ease-in 0.3s;
}
.show{
    opacity: 1 !important;
    transition: ease-in 0.3s;
    transition-delay: 0.15s;
}
.container{
    max-width:1200px;
    width: 100%;
    padding: 0 15px;
    margin-right: auto;
    margin-left: auto;
}
.button{
    padding:15px 20px;
    background:var(--color-red);
    border-radius: 15px;
    transition: ease-in 0.3s;

    color: #ffffff;
    font-size: 1.125rem;
    text-decoration: none;
}
.button i{
    margin-right: 10px;

    font-size: 1.55rem;
}
.button:hover{
    background-color: #8b2c26;
}
@media(max-width:425px){
    .button{
        font-size: 1rem;
    }
    .button i{
        font-size: 1.35rem;
    }
}
.header{
    width: 100%;
    height: 100px;
    padding: 15px 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
    background: linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0.7));
}
.header--fixed .header{
    position: fixed;
    width:100%;
    background: var(--color-dark);
    height: 60px;
    padding:0;
    transition: ease-in 0.3s;
}
.header--fixed .header .header__logo__image{
    height: 30px;
}
.header--fixed .header__container{
    height: 100%;
}
.header--fixed .hamburger-box{
    margin-top: 15px;
}
.header__logo__image{
    max-width: 130px;
    height: auto;
}
.header__container{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.nav{
     position: fixed;
     width: 100%;
     height: 100vh;
     z-index: 99;
     display: flex;
     align-items: center;
     justify-content: center;
     background-color: var(--color-dark);
     -webkit-transform: translateY(-130%);
     transform: translateY(-130%);
     transition: all ease-in 0.3s;
}
.nav__list{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap:45px;
    list-style: none;
    padding:0;
    gap:25px;
}
.menu--active .nav{
    -webkit-transform: translateY(0);
    transform: translateY(0);
}
.header--fixed .hamburger-inner{
    margin-top: -10px;
}
.nav__item{
    transition: cubic-bezier(.63,.33,.95,1.37) 0.3s;
    transform: translateX(-1000px);
    opacity: 0;
}
.menu--active .nav__item{
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;

    transition-delay: calc(var(--menu-order) * 150ms);
}
.nav__link{
    transition: all ease-in 0.15s;
    position: relative;

    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 4rem;
    font-weight: 900;
}
.nav__link:hover{
    color: var(--color-red);
}
@media(max-width:992px){
    .nav__link{
        font-size: 3rem;
    }
}
@media(max-width:768px){
    .nav__link{
        font-size: 2rem;
    }
}
@media(max-width:320px){
    .nav__link{
        font-size: 1.5rem;
    }
}
.menu__icon{
    top:15px;
    right: 15px;;
}
.menu__icon .hamburger-inner,
.menu__icon .hamburger-inner::after,
.menu__icon .hamburger-inner::before,
.is-active.menu__icon .hamburger-inner,
.is-active.menu__icon .hamburger-inner::after,
.is-active.menu__icon .hamburger-inner::before{
    background-color: #ffffff;
}
.main{
    width:100%;
    height: 100vh;
    width: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, rgba(23,23,23,1) 0%, rgba(167,53,46,1) 100%);
    background-image: url('../images/bg-main.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    animation: main-bg infinite;
    animation-duration: 3s;
    transition: all ease-in 0.3s;
    z-index: 0;
}
.main::after{
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(180deg, rgba(23,23,23,1) 0%, rgba(167,53,46,1) 100%);
    animation: mainBg infinite;
    animation-duration: 4s;
    z-index: 1;
}
.main::before{
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(0deg, rgba(23,23,23,1) 0%, rgba(167,53,46,1) 100%);
    animation: mainBg infinite;
    animation-duration: 6s;
    z-index: 1;
}

@keyframes mainBg {
    0%{
        opacity: 0;
    }

    50%{
        opacity: 0.45;
    }
    100%{
        opacity: 0;
    }
}
.main__slogan{
    z-index: 50;
}
.main__slogan__symbol{
    width: 100px;
    height: auto;
}
.main__slogan__text{
    color: #ffffff;
    font-size: 2.5rem;
    margin-top: 15px;
    line-height: 40px;
    animation:blink infinite;
    animation-duration: 6s;
    transition: ease-in 0.3s;
}
@media(max-width:1024px){
    .main__slogan__symbol{
        width: 80px;
    }
    .main__slogan__text{
        font-size: 1.8rem;
    }
}
@keyframes blink{
    0%{
        text-shadow: 0 0 0 rgba(255,255,255,0);
    }
    10%{
        text-shadow: 0 0 30px rgba(255,255,255,0.5); 
    }
    20%{
        text-shadow: 0 0 0 rgba(255,255,255,0);
    }
    50%{
        text-shadow: 0 0 0 rgba(255,255,255,0);
    }
    55%{
        text-shadow: 0 0 50px rgba(255,255,255,0.9);
    }
    58%{
        text-shadow: 0 0 0 rgba(255,255,255,0);
    }
    60%{
        text-shadow: 0 0 30px rgba(255,255,255,0.5);
    }
    65%{
        text-shadow: 0 0 0 rgba(255,255,255,0);
    }
    
}
.main__icon{
    width: 50px;
    height: 50px;
    content: ' ';
    border:3px solid #ffffff;
    border-left: 0;
    border-top: 0;
    transform: rotate(45deg);
}
.main__icon__container{
    animation: bounce infinite;
    animation-duration: 1.5s;
    width: 50px;
    height: 50px;
    content: ' ';
    position: absolute;
    left: calc( 50% - 25px );
    bottom: 50px;
    z-index: 50;
    transform: rotate(45deg);
}

@media(max-width:425px){
    .main__icon__container{
        width:30px;
        height: 30px;
        left: calc( 50% - 15px );
        bottom: 35px;
    }
    .main__icon{
        width: 30px;
        height: 30px;
    }
}
.main__social{
    width: 100%;
    height: 90%;
    position: absolute;
    z-index: 30;;
}
.main__social__container{
    height: calc(100% - 150px);
    margin-top: 100px;
}
.main__social__wrapper{
    display: flex;
    flex-direction: column;
    width: 30px;
    height: 100%;
}
.social__title{
    margin-top: 100px;
    transform: rotate(-90deg);
    pointer-events: none;

    text-transform: uppercase;
    font-size: 1rem;
    color:#ffffff;
    font-weight: 300;
    letter-spacing: 5px;
    opacity: 0.5;
}
.main__social__line{
    flex-grow: 1;
    pointer-events: none;
    content: ' ';
    background:#ffffff;
    width: 1px;
    transform: translateX(15px);
    opacity: 0.5;
    margin-top:10px;
}
.main__social__line::after{
    width:2px;
    height: 100%;
    background-color: #ffffff;
}
.main__social__list{
    margin:0;
    padding:0;
    margin-top: 20px;;
    display: flex;
    flex-direction: column;
    gap:10px;
    list-style: none;
    width: 100%;
}
.main__social__link{
    transition: ease-in 0.3s;
    opacity: 0.5;

    font-size: 1.6rem;
    color:#ffffff;
    text-decoration: none;
}
.main__social__link:hover{
    opacity: 1;
}
.about,
.clients{
    min-height: 100vh;
    padding-top:50px;
    padding-bottom: 50px;
    display: flex;
    align-items: center;
    justify-self: center;
    background: linear-gradient(#ffffff, rgba(0,0,0,0.10));
}
.about__text{
    width:100%;
    max-width:650px;
    margin:0 auto;
    margin-top: 100px;
}
.about__title,
.clients__title{
    text-align: center;
    color: var(--color-red);
    font-weight: 900;
    font-size: 5rem;
    text-transform: uppercase;
}
@media(max-width:1024px){
    .about__title,
    .clients__title{
        font-size: 3rem;
    }
}
@media(max-width:768px){
    .about__title,
    .clients__title{
        font-size: 2rem;
    }
    .about__text{
        margin-top: 50px;
    }
}
@media(max-width:425px){
    .about{
        background: #ffffff;
    }
    .about__title{
        font-size: 1.35rem;
    }
}
.about__text p{
    font-size: 1.125rem;
    letter-spacing: 0.15rem;
    line-height: 1.35rem;
    opacity: 0.7;
}
.about__cta{
    margin-top: 50px;
    display: inline-flex;
    margin:0 auto;
}
.cta{
    display: flex;
    justify-self: center;
    margin-top:100px;
}
@media(max-width:450px){
    .about__text p{
        font-size: 0.95rem;
        letter-spacing: 0.15rem;
        line-height: 1.25rem;
    }
    .cta{
        margin-top: 50px;
    }
}
.video{
    width:100%;
    aspect-ratio: 16/9;
}
.video iframe{
    width: 100%;
    aspect-ratio: 16/9;
}
.cases{
    width:100%;
    min-height: 100vh;
    margin-top: -5px;
}
.cases__list{
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(4, 300px);
    gap:0;
    margin:0;
}
.cases__item{
    width:100%;
    height: 100%;
    position: relative;
}
@media (min-width:1024px){
    .cases__item:nth-child(1){
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
    }
    .cases__item:nth-child(6){
        grid-column: 1 / span 2;
        grid-row: 3 / span 2;
    }
    .cases__item:nth-child(7){
        grid-column: 3 / span 2;
        grid-row: 3 / span 2;
    }
}
@media(max-width:1023px){
    .cases__list{
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(5, 250px);
    }
    .cases__item:nth-child(1){
        grid-column: 1 / span 2;
        grid-row: 1 / span 2;
    }
}
@media(max-width:420px){
    .cases__list{
        grid-template-rows: repeat(5, 150px);
    }
}
.cases__cover{
    width:100%;
    height: 100%;
    object-fit: cover;
    position: relative;
}
.case__info{
    width:100%;
    height: 100%;
    background: var(--color-red);
    opacity: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    transition: ease-in 0.3s;
    z-index: 50;
    
    color: #ffffff;
    text-decoration: none;
    text-shadow: 0 5px 10px rgba(0,0,0,0.15);
}
.cases__item:hover .case__info{
    opacity: 0.95;
}
.case__title{
    margin:0;
    padding:0;
    margin-bottom: 25px;

    font-size: 1.8rem;
    font-weight: 300;
}

.case__button{
    padding:10px 15px;
    border:0;
    background: #ffffff;
    border-radius: 15px;
    box-shadow: 0 10px 20px rgba(0,0,0,.15);

    color: var(--color-red);
}
.case__more{
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-red);
    transition: ease-in 0.3s;

    color: #ffffff;
    text-decoration: none;
    font-size: 1.5rem;
    font-weight: 300;
    text-decoration: none;
    text-transform: uppercase;
}
.case__more:hover{
    background: var(--color-red-dark);
}
@media(max-width:768px){
    .case__more{
        font-size: 1.5rem;
        height: 100px;
    }
}
@media(max-width:425px){
    .case__more{
        font-size: 1.2rem;
    }
}
.service{
    width: 100%;
    background:#F5F5F5;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 450px;
    margin-top: -5px;
}
.service__container{
    display: flex;
    justify-content: center;
    align-items: center;
    gap:15px
}
.service__col{
    width:calc( 50% - 10px);
}
.service__title{
    margin:0;
    padding:0;

    font-size: 5rem;
    font-weight: 900;
    line-height: 70px;
    color: var(--color-red);
}
.service__list{
    list-style-image: url('../images/ht-marker.png');
}
.service__item{
    margin-bottom: 15px;

    font-size: 1.5rem;
}
@media(max-width:820px){
    .service__title{
        font-size: 3rem;
        line-height: 40px;
    }
}
@media(max-width:425px){
    .service__container{
        flex-direction: column;
    }
    .service__title{
        text-align: center;
    }
    .service__col{
        width:100%;
    }
}
.clients__container{
    padding:15px;
    margin-bottom: 100px;
    width:100%
}
.clients__list{
    display: grid;
    margin:0;
    padding:0;
    list-style:none;
    grid-template-columns: repeat(4,1fr);
    gap:200px 55px;
    aspect-ratio: 16/9;
    justify-items: center;
    align-items: center;
}
.client__item{
    width: 50%;
    height: auto;
    transition: ease-in 0.15s;
    transition-delay: 0.15s;
    opacity: 1;
}
.clients__title{
    margin-bottom: 200px;
}
@media(max-width:500px){
    .clients__list{
        gap:100px 25px;
        grid-template-columns: repeat(2,1fr);
    }
    .clients__title{
        margin-bottom: 100px;
    }
    .clients__container{
        margin-bottom: 50px;
    }
    .client__item{
        width:80%;
    }
}
.footer{
    min-height: 100vh;
    position: relative;
    padding:150px 0;
    background-image: url('../images/bg-footer.jpg');
    background-position: bottom;
    background-size: cover;
    display: flex;
    align-items: flex-end;

    color: #ffffff;
}
.footer::after{
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(180deg, rgba(23,23,23,1) 0%, rgba(167,53,46,1) 100%);
    animation: mainBg infinite;
    animation-duration: 4s;
    z-index: 1;
}
.footer::before{
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: linear-gradient(0deg, rgba(23,23,23,1) 0%, rgba(167,53,46,1) 100%);
    animation: mainBg infinite;
    animation-duration: 6s;
    z-index: 1;
}
.footer__logo{
    margin-bottom: 50px;
}
.footer__logo__image{
    width:200px;
    height: auto;
}
.footer__info{
    margin:0;
    padding: 0;
    display: flex;
    gap: 25px;
}
.footer__address{
    flex-grow: 1;
    font-size: 2rem;
    font-weight: 200;
}
.footer__address i{
    margin-bottom: 35px;
    margin-right: 5px;
    float: left;
}
.footer__phone{
    width:350px;
}
.footer__phone__list{
    margin:0;
    padding:0;
    list-style: none;
}
.footer__phone__item{
    margin-bottom: 5px;

    font-size: 1.8rem;
    font-weight: 200;
}
.contact__button{
    width:80px;
    height: 80px;
    border-radius: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 10px;
    bottom: 10px;
    box-shadow: 0 10px 20px rgba(0,0,0,.15);
    cursor: pointer;
    
    font-size: 2rem;
    text-decoration: none;
}
.contact{
    background: var(--color-red-dark);
    z-index: 113;

    color:#ffffff;
}
.contact i{
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
}
.contact__whatsapp{
    background:#2ecc71;
    z-index: 112;
    transition: all ease-in 0.1s;
    opacity: 0;

    color: #ffffff;
}
.contact--active .contact__whatsapp{
    opacity: 1;
    -webkit-transform: translateY(-200px);
    transform: translateY(-200px);
}
.contact__instagram{
    background:#e74c3c;
    z-index: 111;
    transition: all ease-in 0.2s;
    opacity: 0;

    color: #ffffff;
}
.contact--active .contact__instagram{
    opacity: 1;
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);
}
.contact__mail{
    background:#f1c40f;
    z-index: 110;
    transition: all ease-in 0.4s;
    opacity: 0;

    color: #ffffff;
}
.contact--active .contact__mail{
    opacity: 1;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px);
}
.contact__behance{
    background:#2980b9;
    z-index: 110;
    transition: all ease-in 0.3s;
    opacity: 0;

    color: #ffffff;
}
.contact--active .contact__behance{
    opacity: 1;
    -webkit-transform: translateY(-300px);
    transform: translateY(-300px);
}
.contact__phone{
    background:#2c3e50;
    z-index: 110;
    transition: all ease-in 0.5s;
    opacity: 0;
    display: none;

    color: #ffffff;
}
.contact--active .contact__phone{
    opacity: 1;
    -webkit-transform: translateY(-500px);
    transform: translateY(-500px);
}
@media(max-width:767px){
    .footer__logo{
        margin-bottom: 50px;
    }
    .footer__info{
        flex-direction: column;
    }
    .footer__phone{
        width:100%;
    }
    .footer__address,
    .footer__phone__item{
        font-size: 1.3rem;
    }
    .contact__phone{
        display: flex;
    }

    .contact__button{
        width:60px;
        height: 60px;

        font-size: 1.4rem;
    }
    .contact--active .contact__whatsapp{
        opacity: 1;
        -webkit-transform: translateY(-160px);
        transform: translateY(-160px);
    }
    .contact--active .contact__instagram{
        opacity: 1;
        -webkit-transform: translateY(-80px);
        transform: translateY(-80px);
    }
    .contact--active .contact__mail{
        opacity: 1;
        -webkit-transform: translateY(-320px);
        transform: translateY(-320px);
    }
    .contact--active .contact__behance{
        opacity: 1;
        -webkit-transform: translateY(-240px);
        transform: translateY(-240px);
    }
    .contact--active .contact__phone{
        opacity: 1;
        -webkit-transform: translateY(-400px);
        transform: translateY(-400px);
    }
}