/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
    margin: 0 auto;
}

/* Fin du reset */

*
{
    font-family: 'SchoolTeacher', sans-serif;
    font-size: 32px;
}

#myTable
{
    font-size: 24px;
}

html 
{
    scroll-behavior: smooth;

    height: 100%;
}

main
{
    width: 1080px;
}

#main_index
{
    border: 20px solid #00300a;

    border-radius: 20px;

    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;

    background-color: #00300a;
}

table
{
    width: 95% !important;
}

#splashText
{
    color: white;
    font-size: 128px;
    margin: 0 0 10px;
    text-align: center;
    text-transform: uppercase;

    /* we give a black stroke to the text on the outside */

    text-shadow: 4px 4px 4px #00300a;
    
    font-family: 'SlickyBohem', sans-serif;
}

/* On fait en sorte que tous les tableaux aient une bordure de 2px */
th, td
{
    border: 2px solid #00300a;
    border-collapse: collapse;
    margin: 0 0 20px;
}

header
{
    display: flex;
    justify-content: center;
    align-items: center;

    padding: 10px 0;

    opacity: 0.8;
    position: fixed;
    width: 100% !important;

    z-index: 1000;

    height: 50px;

    top: 0px;
}

#header
{
    background-color: #00300a;
    color: #fff;

    padding: 10px 0;

    width: 100%;
    height: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    box-shadow: 0px 5px 10px black;
}

header button
{
    position: fixed;
    right: 20px;

    height: 50px;
    width: 50px;

    border-radius: 20px;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: #00300a;
    color: #fff;
}

header a
{
    color: #fff;
    text-decoration: none;
}


/* les éléments de la liste dans le header s'affichent de gauche à droite */

header ul
{
    display: flex;
    justify-content: center;
    list-style-type: none;
    margin: 0;
    padding: 0;

}

header ul li
{
    margin: 0 10px;
}

thead
{
    background-color: #00300a;
    color: #fff;
}

.banner_container
{
    display: flex;
    justify-content: center;
    align-items: center;

    width: 100% !important;

    background-color: #00300a;
}

/* Define styles for the banner */
.banner {
    height: 100vh;
    max-height: 100vh;
    min-height: 50vh;

    background-size: cover;
    position: sticky;

    display: flex;
    justify-content: center;
    align-items: center;

    transition: height 0.3s ease-out;

    width: 1080px;

    background-repeat: no-repeat;

    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}


footer
{
    /* On le bloque en bas de la page */
    bottom: 0;
    position: fixed;
    width: 100%;


    background-color: #00300a;
    color: #fff;
    padding: 10px 0;

    /* On réduit l'opacité */
    opacity: 0.8;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

    box-shadow: 0px -5px 10px black;

}

/* images des bannières */

#banner_accueil
{
    background-image: url('../images/python-1-big.jpg');
    background-position: top center !important;
    background-size: cover !important;
}

body
{
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;

    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100% !important;

}

.recap
{
    background-color: #00300a;
    color: #fff;
    border-radius: 40px;    
}

#recap_index
{
    position: absolute;
    transform: translateY(-50%);
    width: 1060px;

    box-shadow: 0px -5px 10px black;
}

.section_container
{
    display: flex;
    align-items: center;
    width: 100% !important;
    flex-direction: column;

    background-color: #f3fff4 !important;
}

    .section
    {
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        margin: 10vh;
        width: 95% !important;
        position: relative;

        border: 2px solid #00300a;
    
        scroll-margin-top: 200px;

        background-color: #fff !important;

        padding-top: 10px;
        padding-bottom: 10px;
        border-radius: 10px;
        box-shadow: 0px 5px 10px black;

    }

        .texte_container
        {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 30vh;
            width: 55%;
            flex-direction: column;

            background-color: #fff !important;

            border-radius: 10px;

            font-size: 24px;
        }

        .texte_container h2
        {
            margin-bottom: 10px;
            font-weight: bold;
        }

        .illustration_container
        {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: row;
            background-color: none;
            height: 30vh;
            width: 45%;

            object-fit: cover;
            width: 230px;
            height: auto;

            flex-wrap: wrap;

        }

        .illustration_container a {
            object-fit: cover;
            width: 230px;
            height: 230px;

        }

        .illustration_container a img{
            object-fit: cover;
            width: 230px;
            height: 230px;

        }

            .illustration
            {
                display: flex;
                justify-content: center;
                align-items: center;
                height: 25vh;
                width: auto;
                transition: transform 0.5s;

                border-radius: 10px;
            }

            .illustration:hover
            {
                transform: scale(1.1);
                transition: transform 0.5s;
            }

@keyframes slide1
{
    0%
    {
        transform: translateY(-200%);
    }

    100%
    {
        transform: translateY(0%);
    }
}

@keyframes slide2
{
    0%
    {
        transform: translateY(200%);
    }

    100%
    {
        transform: translateY(0%);
    }
}

nav ul li a:hover, footer #credits_link a:hover
{
    text-decoration: underline;
}

nav ul li a, footer #credits_link a
{
    font-weight: bold;
}

.sidebar_container
{
    display: flex;
    align-items: space-evenly !important;
    justify-content: space-evenly !important;
    flex-direction: row;

    height: auto;

    width: 95%;

    margin: 0%;

    position: relative;

    background-color: #fff !important;

    box-shadow: 0px 5px 10px black;

    border-radius: 10px;
}

.sidebar_container .links_container a 
{
    color: #00300a;
    text-decoration: none;
    font-weight: bolder;
    margin-top: 5vh;
    margin-bottom: 5vh;
    position: relative;

}


.sidebar_container .links_container
{
    padding: 20px;
}

.sidebar_container .links_container a::after 
{
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: green;
    transition: width 0.5s ease, background-color 0.5s ease;
}

.sidebar_container .links_container a:hover::after 
{
    width: 100%; /* Expand the underline fully on hover */
    background-color: greenyellow;
}

.overall_container
{
    height: 250vh;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    background-color: #f3fff4 !important;

    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

.links_container
{
    border: 2px solid #00300a;

    border-radius: 10px;

    display: flex;
    align-items: space-evenly !important;
    justify-content: space-evenly !important;
    flex-direction: row;

    background-color: #fff !important;

    width: 100%;
}

.site_background
{
    background-image: url('../images/green.jpg');
    background-repeat: no-repeat;
    filter: blur(3px);
    background-position: center;
    background-size: auto 100%;
    

    height: 250vh;
    width: 100%;
    position: fixed;
    top: 0px;

    z-index: -1;

    margin: 0px;
    padding: 0px;

    left: 0px;
}

.required
{
    color: red;
}

#formulaire
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 300px;

    margin-top: 5vh;
}

#formulaire form
{
    display: flex;
    flex-direction: column;
    align-items: space-evenly;
    justify-content: space-evenly;

    width: 95%;

    padding: 10px;

    border-radius: 10px;

    border: 2px solid #00300a;

    background-color: #f3fff4;

    box-shadow: 5px 5px 5px #00300a;

}

#main_contact
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 1080px;
    padding-bottom: 10vh;
}

#body_contact
{
    display: flex;
    flex-direction: column;
    align-items: center;

    width: 100%;

    height: 100%;
}

#nom_prenom
{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;

}

#nom, #prenom
{
    display: flex;
    flex-direction: column;

    width: 50%;
}

.submit_form
{
    background-color: green;
    color: white;
    height: 5vh;

    border-radius: 10px;

    cursor: pointer;
}

#label_nom, #input_nom, #label_prenom, #input_prenom, #label_email, #input_email, #label_message, #input_message, #submit_form
{
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 5px;
    margin-bottom: 5px;
    display: flex;

    font-size: 24px;
}

#label_nom
{
    right: 0px;
}

.recap
{
    display: flex;
    align-items: center;
    justify-content: center;

    width: auto;
    padding: 10px;
}

.good
{
    color: green !important;
}

.bad
{
    color: red;
}

@font-face {
    font-family: 'SlickyBohem';
    src: url('../fonts/SLICKYBOHEM-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'SchoolTeacher';
    src: url('../fonts/School Teachers.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

#main_galerie
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 1080px;

    margin-top: 10vh;
}

#upload_form
{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 50%;

    margin-top: 5vh;

    font-size: 24px !important;
}

#main_donnees
{
    padding-top: 10vh;
    padding-bottom: 10vh;

}

#confirm
{
    color: green;
}

#error
{
    color: red;
}

#recap_mail
{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    font-weight: bold;

    border: 4px solid green;

    animation: borderColorChange 4s infinite;
    padding: 10px;
    border-radius: 10px;
    margin-top: 10vh;
}

@keyframes borderColorChange {
    0% {
        border-color: green; 
    }
    50% {
        border-color: greenyellow;
    }
    100% {
        border-color: green;
    }
}

#credit_container
{
    margin-top: 10vh;
}

#recap_credits
{
    margin-top: 10vh;
}

#main_credits, #credit_container, #liste_credits, .element_credits
{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.element_credits
{
    border: 2px solid #00300a;
    border-radius: 10px;
    padding: 20px;
    width: 100%;
}

.element_credits, .element_element
{
    margin: 10px;
    text-decoration: none;
}

.element_credits a
{
    color: green;
}

.image_credit
{
    height: 100px !important;
}

.copyright
{
    font-weight: bold;

    text-decoration: underline;
}

#liste_credits
{
    margin: 10px;
}

#credits_link
{
    position: absolute;
    left: 20px;
}

#credits_link a
{
    text-decoration: none;
    color: #fff;
}

#disclaimer1 a
{
    text-decoration: none;

    color: green;
}

#error_confirm
{
    height: auto;
    width: auto;
    margin: 10px;
    padding: 5px;
    border: 2px solid #00300a;
    border-radius: 10px;
    background-color: #fff;
    color: red;
}

#section_container_donnees
{
    border-radius: 10px;
    border: 2px solid #00300a;
    padding: 10px;
    margin: 10px;
}

#illustration_container_container
{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: start;
    
    border-radius: 10px;
    border: 2px solid #00300a;

    height: auto !important;
    width: auto !important;

    padding: 20px;
    gap: 20px;
    margin: 20px;

    background-color: #f3fff4;
}

.illustration_container
{
    display: flex;
    gap: 20px;
}

::-webkit-file-upload-button
{
    background-color: green;
    color: white;
    height: 5vh;

    border-radius: 10px;

    font-size: 24px;
}

#reason
{
    border-radius: 10px;
    border: 2px solid #00300a;
    background-color: #f3fff4;
    margin: 10px;
    font-size: 24px;
}

#reason_legend
{
    font-size: 24px;
    width: auto;
    margin-left: auto;
    margin-right: auto;
}

input, textarea
{
    border-radius: 5px;
    border: 2px solid #00300a;
    background-color: #f3fff4;
}

/* Page partenaires */

.footer-partners
{
    background-color: #f3fff4;
    border-radius: 40px;
    padding: 40px;
    text-align: center;
    display: flex;
}

.footer-partners h3 
{
    font-size: 32px;
    margin-bottom: 20px;
}

.partners 
{
    display: flex;
    justify-content: space-between;
    flex-wrap: no-wrap;
    gap: 20px;
}

.partner 
{
    width: 22%;
    background-color: white;
    border: 2px solid #00300a;
    border-radius: 8px;
    padding: 20px;
    text-align: center;
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.partner img 
{
    width: 100%;
    max-width: 150px;
    height: auto;
    margin-bottom: 10px;
    height: 200px;
    object-fit: contain;
}

.partner h4 
{
    font-size: 24px;
    margin: 10px 0;
}

.partner p 
{
    font-size: 20px;
    color: #666;
    margin-bottom: 10px;
}

.partner a 
{
    text-decoration: none;
    color: #00300a;
    font-weight: bold;
    bottom: 0px;
    text-decoration: underline;
}

.partner:hover 
{
    transform: scale(1.05);
}

#hide_button
{
    cursor: pointer;
}

.illustration_galerie
{
    filter: grayscale(0.5);
}

.illustration_galerie:hover
{
    filter: grayscale(0);

    transform: scale(1.1);
    transition: transform 0.5s;

}

#recap_partenaires
{
    margin-top: 10vh;
    margin-bottom: 5vh;
}

.odd {
    background-color: #d2ffd6 !important;
}

.even {
    background-color: #ecffed !important;
}

#documents {
    max-width: 600px;
    margin: 40px auto;
    padding: 20px;
    background-color: #f3fff4;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
}

#documents h2 {
    color: #333;
    font-size: 32px;
    margin-bottom: 20px;
}

#documents a {
    display: block;
    margin: 10px auto;
    padding: 10px;
    width: 80%;
    text-decoration: none;
    color: #f3fff4;
    font-weight: bold;
    background-color: #00300a;
    border: 2px solid #f3fff4;
    border-radius: 5px;
    transition: all 0.3s ease-in-out;
}

#documents a:hover {
    background-color: #007c1d;
    color: #fff;
}