* {
    margin: 0;
    padding: 0;
    outline: 0;
    box-sizing: border-box;
}

a:hover {
    transition: .2s;
    cursor: pointer;
}

html {
    font-size: 62.5%;
    background: #000;
    scroll-behavior: smooth;
}

body {
    font-family: Arial, sans-serif;
    font-size: 1.4rem;
    color: #fff;
}

.serviceBtn {
    color: #fff;
    text-decoration: none;
    background: #ff6565;
    border: solid 2px #ff6565;
    padding: 1.5vh 2vw;
    border-radius: 100px;
}

    .serviceBtn:hover {
        background: transparent;
        border-color: transparent;
    }

header {
    display: grid;
    align-content: center;
    grid-template-columns: auto auto;
    padding: 3vh;
    position: sticky;
    top: 0;
    background: #000;
    width: 100%;
    z-index: 2;
    text-align: center;
}

    .cldvd {
        width: 15rem;
    }

    header .right {
        display: flex;
        justify-content: end;
        align-items: center;
        grid-gap: 2vw;
    }

        .lang {
            width: 3rem;
            cursor: pointer;
        }

.banner {
    display: grid;
    justify-items: center;
    grid-template-rows: 1fr auto;
    height: 70vh;
    text-align: center;
    background-image: linear-gradient(rgba(0 0 0 / 100%), rgba(0 0 0 / 50%), rgba(0 0 0 / 50%)), url('../images/banner.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 2vh 2vw;
}

    .banner div {
        display: grid;
        justify-items: center;
        align-content: center;
        grid-gap: 5vh;
    }

    h1 {
        font-size: 3rem;
        width: 75%;
    }

    .subH1 {
        font-size: 1.6rem;
    }

    .banner .savoirPlus {
        color: #fff;
        text-decoration: none;
        background: #ff6565;
        border: solid 2px #ff6565;
        padding: 2vh;
        border-radius: 100px;
        width: 40%;
        font-size: 1.4rem;
        font-weight: 700;
        backdrop-filter: blur(5px);
    }

        .banner .savoirPlus:hover {
            background: transparent;
            border-color: transparent;
        }

    .scroll {
        width: 2rem;
        height: 3rem;
        border: solid #fff 2px;
        border-radius: 20px;
        position: relative;
    }

        .scrollBall {
            width: 5px;
            height: 5px;
            background: #fff;
            border-radius: 100px;
            position: absolute;
            animation: scroll 1s infinite linear;
        }
        
        @keyframes scroll {
            0% {
                top: 5px;
            }
            25% {
                top: 10px;
            }
            50% {
                top: 15px;
            }
            75% {
                top: 20px;
            }
            100% {
                top: 0;
            }
        }

.items {
    height: 50vh;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 1vh 4vw;
    font-size: 1.2rem;
}

    .item1, .item3 {
        color: #000;
        background: #fff;
    }

        .items div {
            display: grid;
            grid-gap: 2vh;
            width: 40%;
        }

            h2 {
                font-size: 2.5rem;
            }

            .items img {
                height: inherit;
            }

            .item3 img {
                height: 50%;
            }

.service {
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: solid 2px #fff;
    border-bottom: solid 2px #fff;
    height: 20vh;
}

    .service div {
        display: grid;
        justify-items: center;
        grid-gap: 2vh;
    }

        .service img {
            height: inherit;
        }

            .service .title {
                font-weight: 700;
                font-size: 1.5rem;
            }

footer {
    display: flex;
    grid-gap: 2vw;
    padding: 4vh 4vw;
    background: #fff;
    position: relative;
}        

    footer a {
        text-decoration: none;
        color: #000;
        font-size: 1rem;
        padding: 2vh;
    }

        footer a:hover {
            border-bottom: solid 1px #ff6565;
        }

section {
    position: fixed;
    height: 100vh;
    z-index: 1;
    width: 100%;
    background: rgb(0 0 0 / 80%);
    display: none;
    justify-items: center;
    align-content: center;
    top: 0;
}

.footer {
    display: none;
    justify-items: center;
    grid-gap: 2vh;
    width: 70%;
    background: #000;
    padding: 2vh 4vw;
    position: relative;
}

    .close {
        width: 1rem;
        position: absolute;
        top: 2vh;
        right: 2vw;
        cursor: pointer;
    }

    .footer h1 {
        font-size: 3rem;
        width: 75%;
        align-self: center;
    }

    .footer p,
    .footer span,
    .footer li,
    .donneesPersosText {
        font-size: 1rem;
        text-align: justify;
    }

        #donneesPersosText1 {
            align-self: end;
        }

    .contactText {
        width: 75%;
        display: flex;
        justify-content: center;
        grid-gap: 4vw;
    }

        #contactText {
            width: auto;
        }

    .infosTexts {
        display: grid;
        justify-items: center;
        align-self: start;
        grid-gap: 2vh;
    }

        .infosText1 {
            width: 75%;
            display: flex;
        }

            .infosText1 p {
                width: auto;
            }

    .footer ul {
        width: 75%;
        display: grid;
        justify-items: center;
    }

    .footer a {
        color: rgb(53, 99, 235);
        font-size: 1rem;
    }

@media screen and (max-width:768px) {
    .cldvd {
        background: url('../images/cloudvideos-mobile.png') no-repeat left / 4rem;
    }

    header .right {
        justify-content: space-around;
    }

    .banner .savoirPlus {
        width: 80%;
    }

    h1 {
        font-size: 2.5rem;
    }

    h2 {
        font-size: 2rem;
    }

    .items {
        display: grid;
        justify-items: center;
        align-items: initial;
        grid-gap: 2vh;
        height: auto;
    }

        .item1,
        .item3 {
            padding: 2vh 4vw 0;
        }

        .item2,
        .item4 {
            padding: 0 4vw 2vh;
        }

    .items > div {
        width: auto;
    }

    .item1 img,
    .item2 img {
        height: auto;
        width: 100%;
    }

    .item3 img,
    .item4 img {
        height: auto;
        width: 75%;
    }

    .service {
        justify-content: center;
    }

        .service .title {
            font-size: 2rem;
        }

        .service img {
            display: none;
        }

    footer {
        display: grid;
        justify-items: center;
        grid-gap: 2vh;
        text-align: center;
    }

        footer a {
            width: 100%;
        }
}