.topper.-transparent-{
    background-color: transparent;
    box-shadow: none;
}
.home_hero {
    box-shadow: 0 0 30px hsl(0, 0%, 0%, 0.5);
    position: relative;
    border-bottom: 20px solid hsl(0, 0%, 10%);
    video{
        width: 100%;
        object-fit: cover;
        height: 800px;
        position: relative;
        margin-top: -96px;
        display: block;
    }
    .overlay {
        position: absolute;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: radial-gradient(hsl(0, 0%, 0%, 0.4), hsl(0, 0%, 0%, 0.8));
        display: flex;
        justify-content: center;
        flex-direction: column;
        .container{
            max-width: fit-content;
            margin: 0 auto;
            padding: 0 10vw;
            .main{
                margin-top: 90px;
                .title{
                    font-size: 5rem;
                    color: white;
                    line-height: 1;
                    margin-bottom: 30px;
                    font-weight: 800;
                }
                .subtitle{
                    max-width: 70ch;
                    font-size: 1.1rem;
                    line-height: 1.6;
                    color: hsl(0, 0%, 90%);
                    margin-bottom: 30px;
                }
                .CTA{
                    display: inline-block;
                    text-decoration: none;
                    background-color: hsl(200, 100%, 40%);
                    color: white;
                    font-weight: 600;
                    text-align: center;
                    font-size: 1rem;
                    padding: 1.5rem 3rem;
                    box-shadow: 0 2px 5px hsl(0, 0%, 0%, 0.3);
                    border-radius: 0.5rem;
                    transition: 0.1s;
                    &:hover{
                        background-color: hsl(200, 100%, 45%);
                    }
                }
            }
        }
    }
    @media screen and (max-width: 1000px){
        video{
            height: 700px;
        }
        .overlay{
            .container{    
                .main{
                    .title{
                        font-size: 3rem;
                    }
                }
            }
        }
    }
    @media screen and (max-width: 500px){
        video{
            height: 600px;
        }
        .overlay{
            .container{
                padding: 0 10vw;
                .main{
                    .CTA{
                        padding: 1.5rem 0;
                        width: 100%;
                    }
                    .title{
                        font-size: 2.5rem;
                    }
                }
            }
        }
    }
}
.home_offer{
    max-width: 1400px;
    margin: 0 auto;
    padding: 7rem 5vw;
    line-height: 1;
    .section-title{
        font-size: 2.5rem;
        margin-bottom: 1rem;
    }
    .desc{
        max-width: 75ch;
        margin-bottom: 3.9rem;
        line-height: 1.5;
    }
    .offer-cards{
        display: flex;
        width: 100%;
        .card{
            flex: 1 1;
            position: relative;
            color: white;
            text-decoration: none;
            font-size: 1rem;
            transition: 0.2s;
            align-content: center;
            border-bottom: 0.5rem solid black;
            background-position: center;
            background-size: cover;
            h3{
                position: relative;
                z-index: 1;
                transition: 0.1s;
                line-height: 1.3;
                text-align: center;
            }
            &::after{
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: hsl(0, 0%, 0%, 0.5);
                z-index: 0;
                transition: 0.2s;
            }
            &:hover{
                z-index: 4;
                border-bottom: 0.5rem solid hsl(200, 100%, 50%);
                scale: 1.02;
                h3{
                    scale: 1.1;
                }
                &::after{
                    background: hsl(0, 0%, 0%, 0.7);
                }
            }
        }
        .construction{
            background-image: url("/resources/images/home/construction-header.jpg");
            z-index: 3;
            clip-path: polygon(0 0, 100% 0, 90% 100%, 0% 100%);
            padding: 6rem 5rem 6rem 3rem;
        }
        .rental{
            background-image: url("/resources/images/home/rental-header.jpg");
            z-index: 2;
            clip-path: polygon(10% 0, 100% 0, 90% 100%, 0% 100%);
            padding: 6rem 5rem;
        }
        .siteprint{
            background-image: url("/resources/images/home/siteprint-header.jpg");
            z-index: 1;
            clip-path: polygon(10% 0, 100% 0, 100% 100%, 0% 100%);
            padding: 6rem 3rem 6rem 5rem;
        }
    }
    @media screen and (max-width: 1300px){
        padding: 5rem 5vw;
        .offer-cards{
            gap: 2rem;
            flex-direction: column;
            .card{
                padding: 4rem 5rem;
            }
            .construction{
                clip-path: none;
            }
            .rental{
                clip-path: none;
            }
            .siteprint{
                clip-path: none;
            }
        }
    }
    @media screen and (max-width: 768px){
        .section-title{
            font-size: 1.8rem;
        }
    }
}
.eco-vadis{
    padding: 4rem 5vw;
    .wrapper{
        margin: 0 auto;
        max-width: 800px;
        background-color: white;
        .section-title{
            font-size: 1.5rem;
            color: hsl(138, 100%, 38%);
            margin-bottom: 1rem;
            line-height: 1.2;
        }
        .logo{
            height: 4rem;
            width: fit-content;
            margin-bottom: 2rem;
            display: block;
        }
        .desc{
            display: flex;
            gap: 2rem;
            .link{
                background-color: hsl(142, 100%, 26%);
                color: white;
                white-space: nowrap;
                align-self: flex-end;
                padding: 1rem 2rem;
                border-radius: 0.25rem;
                text-decoration: none;
                font-weight: 700;
                font-size: 0.9rem;
                font-family: inherit;
                &:hover{
                    background-color: hsl(142, 100%, 31%);  
                }
            }
            .text{
                font-size: 1rem;
                color: hsl(0, 0%, 10%);
            } 
        }
    }
    @media screen and (max-width: 450px){
        .wrapper{
            .logo{
                height: 3rem;
            }
            .desc{
                flex-direction: column-reverse;
                .link{
                    align-self: flex-start;
                }
            }
        }
    }
}
.home_global{
    padding: 6rem 5vw;
    margin: 0 auto;
    box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.25);
    background: linear-gradient(30deg, hsl(0, 0%, 15%), hsl(0, 0%, 25%));
    color: white;
    .wrapper{
        max-width: 1000px;
        margin: 0 auto;
        display: flex;
        gap: 2rem;
        .text{
            display: flex;
            flex-direction: column;
            justify-content: center;
            max-width: 70ch;
            .title{
                font-size: 3rem;
                margin-bottom: 1rem;
                line-height: 1;
            }
            .subtitle{
                font-size: 1.5rem;
                margin-bottom: 1rem;
                line-height: 1;
                font-weight: 600;
                color: hsl(200, 100%, 70%);
            }
            .desc{
                line-height: 1.6;
                font-size: 1.1rem;
                max-width: 60ch;
            }
        }
        .images{
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            overflow: hidden;
            flex: 0 0 fit-content;
            gap: 2rem;
            justify-items: center;
            .location{
                position: relative;
                transition: 0.1s;
                width: fit-content;
                .name{
                    font-size: 1.2rem;
                    font-weight: 500;
                    color: hsl(0, 0%, 90%);
                    transition: 0.1s;
                }
                img{
                    height: 150px;
                    width: 150px;
                    display: block;
                    transition: 0.1s;
                }
                &:hover{
                    .name{
                        color: white;
                    }
                    img{
                        scale: 1.05;
                    }
                }
            }
        }
    }
    @media screen and (max-width:1000px){
        .wrapper{
            flex-direction: column;
            .images{
                grid-template-columns: repeat(4, 1fr);
            }
        }
    }
    @media screen and (max-width:800px){
        .wrapper{
            .images{
                grid-template-columns: repeat(2, 1fr);
            }
        }
    }
    @media screen and (max-width:500px){
        .wrapper{
            .text{
                .title{
                    font-size: 2.5rem;
                }
            }
            .images{
                .location{
                    img{
                        height: 100px;
                        width: 100px;
                    }
                }
            }
        }
    }
}
.home_numbers{
    background-image: url("/resources/images/home/numbers.jpg");
    background-position: center;
    background-size: cover;
    background-color: hsl(200, 100%, 35%);
    box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.3);
    padding: 6rem 10vw;
    color: white;
    line-height: 1;
    position: relative;
    &::before{
        content: "";
        background: linear-gradient(30deg, hsl(200, 100%, 20% , 0.7), hsl(200, 100%, 20% , 0.2));
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }
    .wrapper{
        z-index: 2;
        max-width: 1100px;
        margin: 0 auto;
        position: relative;
        .title{
            font-size: 3rem;
            margin-bottom: 1rem;
        }
        .desc{
            margin-bottom: 2rem;
            max-width: 60ch;
            line-height: 1.5;
        }
        .numbers{
            text-align: center;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            margin-bottom: 2rem;
            .number{
                padding: 2rem;
                display: flex;
                flex-direction: column;
                img{
                    width: 60px;
                    height: 60px;
                    align-self: center;
                    margin-bottom: 1rem;
                }
                .main{
                    scale: 1 1.3 1;
                    font-size: 4rem;
                    font-weight: 700;
                    margin-bottom: 1rem;
                    text-shadow: 0 0 10px hsl(200, 100%, 50%, 0.25);
                }
                .name{
                    font-weight: 600;
                }
            }
        }
        .and-more{
            scale: 1 1.3 1;
            font-size: 1.3rem;
            font-style: italic;
            text-align: center;
            color: hsl(200, 100%, 90%);
        }
    }
    @media screen and (max-width: 1000px){
        .wrapper{
            .numbers{
                grid-template-columns: repeat(2, 1fr);
            }
        }
    }
    @media screen and (max-width: 800px){
        padding: 5rem 5vw;
    }
    @media screen and (max-width: 600px){
        .wrapper{
            .title{
                font-size: 2.5rem;
            }
            .numbers{
                grid-template-columns: repeat(1, 1fr);
            }
        }
    }
}
.home_about{
    padding: 8rem 5vw; 
    background: linear-gradient(30deg, hsl(0, 0%, 90%), hsl(0, 0%, 95%));
    position: relative;
    line-height: 1;
    box-shadow: 0 0 5px hsl(0, 0%, 0%, 0.3);
    .wrapper{
        max-width: 1300px;
        margin: 0 auto;
        display: flex;
        gap: 5rem;
        align-items: start;
        .text{
            flex: 1 0;
            .title{
                font-size: 2.5rem;
                margin-bottom: 1rem;
            }
            .subtitle{
                font-size: 1.5rem;
                color: hsl(0, 0%, 40%);
                margin-bottom: 2rem;
                font-weight: 600;
            }
            .desc{
                max-width: 80ch;
                line-height: 1.8;
                margin-bottom: 2rem;
                font-size: 1rem;
            }
            .link{
                border: 1px solid hsl(0 0% 10%);
                padding: 1.5rem 2rem;
                border-radius: 0.5rem;
                color: hsl(0, 0%, 0%);
                background-color: hsl(0, 0%, 10%);
                display: block;
                width: fit-content;
                text-decoration: none;
                box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.2);
                font-weight: 600;
                color: white;
            }
            .link:hover{
                background-color: hsl(0, 0%, 20%);
            }
        }
        .img{
            flex: 0 0 50%;
            box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.5);
            border-radius: 0.5rem;
            overflow: hidden;
            margin-top: 3rem;
            img{
                width: 100%;
                height: 100%;
                display: block;
                object-fit: contain;
            }
        }
    }
    @media screen and (max-width: 1200px){
        .wrapper{
            flex-direction: column;
            align-items: center;
            max-width: 80ch;
            .img{
                flex: none;
                width: 100%;
                overflow: hidden;
                margin-top: 0;
                img{
                    object-fit: cover;
                    object-position: center;
                }
            }
        }
    }
    @media screen and (max-width: 768px){
        padding: 6rem 5vw; 
        .wrapper{
            gap: 4rem;
            .text{
                .title{
                    font-size: 2.5rem;
                }
            }
        }
    }
    @media screen and (max-width: 450px){
        padding: 5rem 5vw; 
        .wrapper{
            gap: 3rem;
            .text{
                .title{
                    font-size: 2rem;
                }
            }
        }
    }
}
.home_values{
    background-color: hsl(185, 100%, 27%);
    line-height: 1;
    padding: 5rem 10vw;
    box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.3);
    .wrapper{
        max-width: 1200px;
        margin: 0 auto;
        color: white;
        .title{
            font-size: 2.5rem;
            margin-bottom: 3rem;
        }
        .list{
            display: flex;
            gap: 4rem;
            list-style-type: none;
            li{
                display: flex;
                align-items: center;
                flex-direction: column;
                gap: 2rem;
                flex: 1 1;
                .img{
                    display: flex;
                    background-color: white;
                    padding: 1.2rem;
                    border-radius: 200px;
                    img{
                        width: 6rem;
                        height: 6rem;
                        display: block;
                    }
                }
                .text{
                    line-height: 1.6;
                    .important{
                        font-size: 1.2rem;
                        font-weight: 700;
                    }
                }
            }
        }
    }
    @media screen and (max-width: 1200px){
        .wrapper{
            .list{
                flex-direction: column;
                li{
                    flex-direction: row;
                }
            }
        }
    }
    @media screen and (max-width: 500px){
        .wrapper{
            .list{
                li{
                    flex-direction: column;
                }
            }
        }
    }
}
.home_projects{
    padding: 5rem 5vw;
    line-height: 1;
    .wrapper{
        max-width: 1300px;
        margin: 0 auto;
        .title{
            font-size: 3rem;
            margin-bottom: 1rem;
        }
        .section-desc{
            max-width: 60ch;
            line-height: 1.5;
            margin-bottom: 2rem;
        }
        .projects{
            display: flex;
            overflow-x: scroll;
            scrollbar-width: none;
            position: relative;
            scroll-snap-type: x mandatory;
            margin-bottom: 1rem;
            background: hsl(20, 10%, 96%);
            border: 1px solid black;
            border-radius: 1rem;
            .project{
                display: flex;
                flex-direction: row-reverse;
                flex: 0 0 calc(100%);
                scroll-snap-align: center;
                gap: 1rem;
                overflow: hidden;
                .desc{
                    padding: 2rem;
                    display: flex;
                    flex-direction: column;
                    flex: 1 1 50%;
                    .project-title{
                        font-size: 2rem;
                        margin-bottom: 1rem;
                        color: hsl(0, 0%, 30%);
                        font-weight: 600;
                    }
                    .project-location-date{
                        font-size: 1.2rem;
                        margin-bottom: 2rem;
                        font-weight: 600;
                        color: hsl(0, 0%, 20%);
                    }
                    .text{
                        line-height: 1.7;
                        margin: auto 0;
                        margin-bottom: 2rem;
                    }
                    .stats{
                        display: flex;
                        flex-direction: column;
                        gap: 1rem;
                        margin-top: auto;
                        .stat{
                            background: radial-gradient(hsl(0 0% 10%), hsl(0 0% 20%));
                            padding: 0.5rem 1rem;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            border-radius: 100px;
                            color: white;
                            .value{
                                font-size: 1.2rem;
                                font-weight: 700;
                                margin-right: 0.4rem;
                                margin-left: 0.4rem;
                                color: hsl(200, 100%, 50%);
                                white-space: nowrap;
                            }
                            img{
                                height: 2.2rem;
                                width: 2.2rem;
                            }
                        }
                    }
                }
                .img{
                    flex: 0 0 60%;
                    display: block;
                    overflow: hidden;
                    aspect-ratio: 4/3;
                    img{
                        filter: saturate(1.1);
                        display: block;
                        height: 100%;
                        width: 100%;
                        object-fit: cover;
                        aspect-ratio: 4/3;
                    }
                }
            }
        }
        .projects-pagination{
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1rem;
            #next{
                &:hover{
                    svg{
                        transform: translateX(0.2rem);
                    }
                }
            }
            #previous{
                &:hover{
                    svg{
                        transform: translateX(-0.2rem);
                    }
                }
                &:active{
                    transform: none;
                }
            }
            .button{
                display: flex;
                align-items: center;
                cursor: pointer;
                font-weight: 600;
                svg{
                    fill: hsl(200, 100%, 50%);
                    width: 3rem;
                    height: 3rem;
                    display: block;
                    transition: 0.2s;
                }
            }
        }
    }
    @media screen and (max-width: 1200px){
        .wrapper{
            max-width: 700px;
            .projects{
                .project{
                    flex-direction: column-reverse; 
                    .img{
                        flex: 0 0 auto;
                        aspect-ratio: 2/1;
                        img{
                            aspect-ratio: 2/1;
                        }
                    }
                    .desc{
                        padding: 2rem;
                        .stats{
                            .stat{
                                flex: 1 1;
                            }
                        }
                    }
                }
            }
        }
    }
    @media screen and (max-width: 500px){
        .wrapper{
            .projects{
                overflow-x: scroll;
                scrollbar-width: auto;
                .project{
                    .img{
                        aspect-ratio: 4/3;
                        img{
                            aspect-ratio: 4/3;
                        }
                    }
                    .desc{
                        padding: 1rem;
                        .stats{
                            flex-direction: column;
                        }
                    }
                }
            }
        }
    }
}
.home_contact{
    color: white;
    line-height: 1;
    background-position: center;
    background-size: cover;
    box-shadow: 0 0 15px hsl(0, 0%, 0%, 1) inset;
    .overlay{
        padding: 5rem 10vw;
        background: linear-gradient(90deg, hsl(200, 100%, 20%, 1) 10%, hsl(200, 100%, 20%, 0.5) 50%, hsl(200, 100%, 20%, 1) 90%);
        .wrapper{
            max-width: 1000px;
            margin: 0 auto;
            gap: 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            .text{
                .title{
                    font-size: 3rem;
                    margin-bottom: 1rem;
                } 
                .desc{
                    max-width: 60ch;
                    line-height: 1.5;
                }
            }
            .CTA{
                border: 0.1rem solid white;
                padding: 2rem 4rem;
                font-size: 1.2rem;
                border-radius: 5px;
                color: white;
                text-decoration: none;
                transition: 0.1s;
                font-weight: 600;
                &:hover{
                    background-color: white;
                    color: black;
                }
            }
        }
    }
    @media screen and (max-width: 1200px){
        .overlay{
            .wrapper{
                flex-direction: column;
                .text{
                    text-align: center;
                }
            } 
        }
    }
    @media screen and (max-width: 1200px){
        .overlay{
            .wrapper{
                flex-direction: column;
                .text{
                    .title{
                        font-size: 2rem;
                    }
                }
            } 
        }
    }
}
.work{
    background-image: url("/resources/images/home/work.jpg");
    background-position: center;
    background-size: cover;
    box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.5) inset;
    .overlay{
        padding: 7rem 5vw;
        background: linear-gradient(to bottom, hsl(200, 100%, 10%, 1) 0%, hsl(200, 100%, 10%, 0.5) 50%, hsl(200, 100%, 10%, 1) 100%);
    }
    .wrapper{
        max-width: 1000px;
        margin: 0 auto;
        color: white;
        .section-title{
            font-size: 2rem;
            margin-bottom: 1rem;
        }
        .subtitle{
            font-size: 1.2rem;
            margin-bottom: 2rem;
            color: white;
        }
        .positions{
            gap: 1rem;
            display: flex;
            flex-wrap: wrap;
            margin-bottom: 3rem;
            .position{
                font-weight: 700;
                padding: 0.6rem 1.2rem;
                border-radius: 0.5rem;
                box-shadow: 0 0 10px hsl(0, 0%, 0%, 0.5);
                background-color: hsl(200, 100%, 40%);
            }
        }
        .desc{
            line-height: 1.5;
            margin-bottom: 1rem;
            max-width: 75ch;
        }
        .link{
            display: flex;
            align-items: center;
            text-decoration: none;
            gap: 0.5rem;
            color: white;
            font-size: 1.2rem;
            transition: 0.1s;
            width: fit-content;
            padding: 1rem;
            &:hover{
                gap: 1rem;
                text-decoration: underline;
            }
        }
    }
}