html {
    scroll-behavior: smooth;
}

.icon-navbar {
    margin-right: 5px;
}

.nav-item-margin {
    margin-left: 1rem;
}

p, h1, h2, h3, h4, h5, a {
    font-family: 'Josefin Sans', sans-serif;
}

.video_hack {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
    z-index: -1;
}

.section_div {
    min-height: 100vh;
    padding-top: 120px;
    display: flex; flex-direction: column; 
    border-style: none none dashed none; border-width: 6px; border-color: rgba(255, 255, 255, 0.8);
}

/*
* -------------------
* BARRE DE NAVIGATION
* -------------------
*/

.nav_div {
    box-shadow: 0px 5px 17px 3px rgba(0,0,0,0.68); 
    border-radius: 0px 0px 10px 10px; border-style: none none dashed none; border-width: 3px; border-color: rgba(255, 255, 255, 0.8);
}

.nav-link {
    font-size: 20px;
}

.nav_rs-button {
    margin-right: 20px;
}

.nav_opencomm-div {
    padding: 10px; padding-left: 20px; padding-right: 20px;
    border-radius: 20px; 
    background-color: #4085B9; 
    flex-direction: column; justify-content: center; align-items: center; 
    box-shadow: inset 0px 0px 10px 5px rgba(0,0,0,0.75);
}

.nav_opencomm-div p {
    color: white; text-align: center; margin-bottom: 0px;
}

/*
* -------------
* TITRE SECTION
* -------------
*/

.titlesec_div {
    margin-bottom: 20px; margin-left: 50px; margin-right: 50px; 
    display: flex; align-items: center;
    color: white;
}

.titlesec_div h1 {
    text-align: center;
    font-weight: bold;
    height: 40px;
}

.titlesec_icon {
    background-position: center; background-size: contain; 
    width: 50px; height: 50px; 
    margin-right: 10px;
}

.titlesec_line {
    background-color: whitesmoke; 
    flex: 1; 
    margin-left: 20px; 
    height: 5px; 
    border-radius: 20px;
}

/*
* ------------
* PIED DE PAGE
* ------------
*/

.footer-div {
    margin: 30px; 
    display: flex; justify-content: center; align-items: center;
}

.footer-div_reseauxsociaux {
    display: flex; flex-direction: column; 
    margin-left: 20px;
}

.footer-line {
    height: 90px; width: 2px; 
    background-color: white; 
    margin-left: 30px; margin-right: 30px;
}

.footer-rslogo {
    font-size: 20px; 
    margin-bottom: 10px;
}

/*
* -------------------------------------------------
* BOUTON TOS (vu que faqtos n'a pas son propre CSS)
* -------------------------------------------------
*/

.tos_button {
    min-height: 70px; font-size: 1.2rem; background-color: #295691; border-color: white;
}

/*
* %%%%%%%%%%
* RESPONSIVE
* %%%%%%%%%%
*/

@media only screen and (max-width: 900px)  { 
    .titlesec_div {
        flex-direction: column;
    }

    .titlesec_line {
        flex: unset; 
        margin-left: 0px; 
        margin-top: 10px;
        width: 100px;
    }

    .titlesec_div h1 {
        height: auto;
    }
} 

@media only screen and (max-width: 600px)  { 
    .footer-div {
        flex-direction: column;
    }

    .footer-div_reseauxsociaux {
        flex-direction: row;
        margin-left: 0px;
    }

    .footer-line {
        height: 0px;
    }

    .footer-rslogo {
        font-size: 30px; 
        margin-bottom: 0px; margin-left: 10px;
    }
} 