@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,100..900;1,9..144,100..900&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=League+Spartan:wght@100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root{
    --White: hsl(0, 100%, 100%);
    --Grey500: hsl(0, 0%, 63%);
    --Grey: hsl(0, 0%, 27%);
    --Black: hsl(0, 0%, 0%);
}

.container{
    display: grid;
    grid-template-columns: 1.1fr 1.3fr 0.5fr 1.1fr;
    grid-template-rows: repeat(3, 1fr);
    font-family: "League Spartan", sans-serif;
}

.main-box{
    background-image: var(--bgDesktop);
    background-repeat: no-repeat;
    background-size: cover;
    background-position:center;
    grid-column: span 2;
    grid-row: span 2;
    transition: 0.5s ease-in-out;

    .menu{
        display: flex;
        padding: 5rem;
        align-items: center;
    }

    .ham-menu{
        display: none;
    }

    img{
        height: 17px;
        max-height: 30px;

    }

    ul{
        display: flex;
        list-style: none;

        a{
            text-decoration: none;
            color: var(--White);
            margin-left: 3rem;
            font-weight: 400;
            font-size:clamp(1rem , 1vw + 0.1rem  , 1.5rem);
            text-transform: lowercase;
            position: relative;

            &::after{
            content: "";
            position:absolute;
            left: 10px;
            bottom: -15px;     
            width: 0;           
            height: 3px;        
            background-color: var(--White);
            border-radius: 20px; 
            transition: 0.2s;
            }

            &:hover:after{
            width: 50%;
            }
        }
    }
}


.box-info{
    grid-row: span 2;
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    
   

    .info{
        padding: 6rem 6rem 1rem 6rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 1.5rem;
        height: 85%;

        .title{
            font-size:clamp(2rem , 2vw + 1rem  , 4rem);
        }
        
        p{
            font-size:clamp(1rem , 1vw + 0.1rem  , 2rem);
            color: var(--Grey500);
            line-height: 1.4;
        }

        a{
            font-size:clamp(1rem , 1vw + 0.2rem  , 2rem);
            text-decoration: none;
            text-transform: uppercase;
            color: var(--Black);
            letter-spacing: 13px;
            font-weight: 500;
            align-self: start;
             
            &:hover{
                color: var(--Grey500);
                transition: 0.4s;
            }
            
            img{
                margin-left: 1rem;
            }
        }
    }

    .button-info{
        margin-top: 1rem;
        display: flex;
        height: 5rem;
        height: 15%;

         .arrow-btn{
            background-color: var(--Black);
            width: calc(0.5 / 1.6 * 50%);
            border: none;
        }

        :hover{
                background-color: var(--Grey);
                cursor: pointer;
                transition: 0.4s;
            }
    }
   
}

.img-box{

    img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

.text-box{
    grid-column: span 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 5rem;
    gap: 1rem;
    font-size:clamp(1rem , 1vw + 0.1rem  , 1.5rem);
    line-height: 1.4;

    .about{
        font-size:clamp(1rem , 1vw + 0.5rem  , 1.6rem);
        letter-spacing: 6px;
        text-transform: uppercase;
    }

    p{
        color: var(--Grey500);
    }
}

@media screen and (max-width:1000px){
    .container{
         grid-template-columns: 1fr;
    }
 
    .main-box{
        grid-row: span 1;
    }

    .box-info{
        grid-row: span 1;
    }
}

@media screen and (max-width:515px) {

    .container{
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto ;
    }

    .main-box{
        height: 25rem;
        background-image: var(--bgMobile);
        grid-row: span 1;

        .menu{
            padding:3rem 0 0 0;
            width: 100%;
            display: flex;
            justify-content:center;
         
        }
        .ham-menu{
            display: block;
            position: absolute;
            left: 1rem;
            cursor: pointer;
            }
 
        ul{
            display: none !important;
        }

        ul.active{
            display: flex !important;
            transition: 0.3s;
            margin-left: 3rem;
            

            a{
                color: var(--Black);
                font-weight: 700;
                margin-left: 1rem;
            }
        }

        .menu.active{
            background-color: var(--White);
            transition: 0.3s;
            height: 7rem;
            padding:0;

            .logo{
                display: none;
            }
        }

    }

    .box-info {
        position: relative;
        grid-row: span 1;

        .info{
            padding: 6rem 2rem 2rem 2rem;
        }

        .button-info {
            position: absolute;
            top: 0;
            right: 0;
            transform: translateY(-100%);
            width: calc((1 / 1.6 * 100%) * 2);
            height: 4rem;
            display: flex;
            justify-content: flex-end;
             margin-top: 0;
         
        }
    }

    .text-box{
        padding: 4rem 2rem ;
    }

}