html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Catamaran', sans-serif;
}

h1,
h2,
h3 {
    font-family: 'Lobster', cursive;
}

footer {
    margin: auto;
    padding: 5rem;
    height: 17rem;
    color: #fff;
    background-color: #111;
}

#logo {
    position: absolute;
    top: 5rem;
    left: 5rem;
    width: 180px;
    height: 90px;
}

#logo:hover {
    opacity: 0.9;
}

.navbar {
    height: 20rem;
}

.nav-item {
    font-size: 2rem;
    border-bottom: 3px solid transparent;
}

.nav-item:hover {
    border-bottom: 3px solid #fff;
}

#totop img {
    margin: 2rem 0;
}

#titresite {
    font-size: 5rem;
}

#soustitre {
    font-size: 3rem;
    font-family: 'Catamaran', sans-serif;
}

.vignette {
    padding: 1rem;
    border: 1px solid transparent;
    background-color: #fff;

}

.vignette:hover {
    padding: 1rem;
    animation: bg-over 1s ease-in-out;
    animation-fill-mode: forwards;
}

@keyframes bg-over {
    from {
        border: 1px solid transparent;
        box-shadow: 5px 5px 5px transparent;
        /*background-color: #fff;*/
        /*border: 3px solid transparent;*/
    }

    to {
        border: 1px solid #000;
        box-shadow: 5px 5px 5px grey;
        /*background-color: #eee;*/
        /*border: 3px solid #000;*/
    }
}

/* modifie la description des vignettes */
div.vignette p + p {
    text-align: justify;
}

/* modifie le titre des vignettes */
div.vignette img + p {
    font-size: 1rem;
    font-weight: bold;
    padding: 1rem 0;
}

/* ************* */
/* media queries */
/* ************* */

/* Extra small devices */
@media screen and (max-width: 576px) {

    .navbar {
        height: 16rem;
    }

    .nav-item {
        font-size: 1rem;
        border-bottom: 3px solid transparent;
    }

    #logo {
        position: absolute;
        top: 1rem;
        left: 1rem;
        width: 90px;
        height: 45px;
    }

    #entete {
        padding: 1rem;
        margin: 0;
    }

    #titresite {
        font-size: 1.2rem;
    }

    #soustitre {
        font-size: 1.4rem;
    }

    .navbar-brand {
        font-size: 1.15rem;
    }

    #apropos {
        padding: 1rem;
    }
}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 577px) and (max-width: 767px) {

    .navbar {
        height: 16rem;
    }

    #logo {
        position: absolute;
        top: 2rem;
        left: 2rem;
        width: 135px;
        height: 68px;
    }

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991px) {
    #logo {
        position: absolute;
        top: 2rem;
        left: 1rem;
        width: 135px;
        height: 68px;
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) and (max-width: 1199px) {}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {}
