/* Règles générales */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: "Open Sans", sans-serif;
}
a {
    text-decoration: none;
    color: inherit;
}
section {
    padding: 3%; /* Marges latérales et verticales de chaque section */
}
 
/* Version Téléphone */
/* Haut de page */
header {
    width: 100%;
    height: 15vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #e0d9cf;
    z-index: 2;
}
    /* Logo */
    .header-logo-container {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .header-logo {
        width: 60%;
        margin: 0 0 4% 0;
    }
    /* Barre de navigation */
    .navbar {
        width: 100%;
    }
        /* Partie visible */
        .navbar-select {
            width: 80%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 20px;
            margin: 0 10%;
            color: #545e57;
            background-color: #ede7e0;
            border-radius: 10px;
        }
            /* Classe pour le toggle */
            .navbar-select.open {
                border-radius: 10px 10px 0 0;
            }
        .navbar-select-title {
            cursor: default;
            font-size: 40px;
        }
        .navbar-menu-icon {
            cursor: pointer;
            z-index: 3;
        }
        /* Popup caché au départ */
        .navbar-hidden {
            position: absolute;
            width: 80%;
            display: none;
            flex-direction: column;
            justify-content: center;
            align-items: left;
            padding: 20px;
            margin: 0 10%;
            color: #172c29;
            background-color: white;
            border-top: solid 5px #172c29;
        }
            /* Classe pour le toggle */
            .navbar-hidden.active {
                display: flex;
            }
        .navbar-hidden-group-container {
            display: flex;
            flex-direction: column;
        }
        .navbar-hidden-primary-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
            /* autres propriétés dans animations barre de naviguation */
        }
        .navbar-hidden-primary-title {
            padding: 10px 0 10px 20px;
            font-weight: bold;
            font-size: 40px;
            font-family: "Cormorant", serif;
        }
        .langue-title {
            cursor: pointer;
        }
        .navbar-hidden-secondary-popup {
            display: none;
            flex-direction: column;
        }
        .haute-rive-popup {
            display: none;
        }
            /* Classe pour le toggle */
            .haute-rive-popup.activated {
                display: flex;
            }
        .navbar-hidden-secondary-title {
            padding: 5px 0 5px 20px;
            font-size: 25px;
        }
        /* Animations de la barre de naviguation */
        .navbar-hidden a {
            border: solid 1px transparent;
            border-radius: 10px;
        }
        .navbar-hidden a:hover {
            border: solid 1px #f7f7f7;
            background-color: #f7f7f7;
            color: #545e57;
        }
        .navbar-hidden a:active {
            border: solid 1px #f7f7f7;
            background-color: #f7f7f7;
            color: #545e57;
        }
        .navbar-hidden-primary-container {
            border: solid 1px transparent;
            border-radius: 10px;
            cursor: pointer;
        }
        .navbar-hidden-primary-container:hover {
            border: solid 1px #f7f7f7;
            background-color: #f7f7f7;
            color: #545e57;
        }
        .navbar-hidden-primary-container:active {
            border: solid 1px #f7f7f7;
            background-color: #f7f7f7;
            color: #545e57;
        }





/* Version Tablette */
@media screen and (min-device-width: 768px) {
/* Haut de page */
header {
    width: 100%;
    height: 15vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2%;
    z-index: 2;
}
/* Logo */
.header-logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
    /* Animations - Logo */
    .header-logo-container:hover {
        transform: scale(1.1);
        transition: 0.2s ease-in-out;
    }
.header-logo {
    width: 40%;
    margin: 0 0 2% 0;
}
/* Barre de navigation */
.navbar {
    width: 100%;
}
    /* Partie visible */
    .navbar-select {
        width: 70%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px;
        margin: 0 15%;
        border-radius: 10px;
    }
    .navbar-select-title {
        cursor: default;
        font-size: 20px;
    }
    .navbar-menu-icon {
        width: 30px;
        cursor: pointer;
        z-index: 3;
    }
        /* Animations - icone menu */
        .navbar-menu-icon:hover {
            transform: scale(1.1);
            transition: 0.2s ease-in-out;
        }
    /* Popup caché au départ */
    .navbar-hidden {
        position: absolute;
        left: 0;
        width: 65%;
        display: none;
        flex-direction: column;
        justify-content: center;
        align-items: left;
        padding: 10px;
        margin: 0 17.5%;
        border-top: solid 5px #172c29;
    }
    .navbar-hidden-group-container {
        display: flex;
        flex-direction: column;
    }
    .navbar-hidden-primary-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        /* autres propriétés dans animations barre de naviguation */
    }
    .navbar-hidden-primary-title {
        padding: 10px 0 10px 20px;
        font-weight: bold;
        font-size: 25px;

    }
    .navbar-hidden-secondary-popup {
        display: none;
        flex-direction: column;
    }
    .navbar-hidden-secondary-title {
        padding: 5px 0 5px 20px;
        font-size: 20px;
    }
    /* Animations de la barre de naviguation */
    .navbar-hidden a {
        border: solid 1px transparent;
        border-radius: 10px;
    }
    .navbar-hidden a:hover {
        border: solid 1px #f7f7f7;
    }
    .navbar-hidden a:active {
        border: solid 1px #f7f7f7;
    }
    .navbar-hidden-primary-container {
        border: solid 1px transparent;
        border-radius: 10px;
        cursor: pointer;
    }
    .navbar-hidden-primary-container:hover {
        border: solid 1px #f7f7f7;
    }
    .navbar-hidden-primary-container:active {
        border: solid 1px #f7f7f7;
    }
}





/* Version Desktop */
@media screen and (min-device-width: 1024px) {
    /* Haut de page */
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 10vh;
        display: flex;
        flex-direction: row-reverse;
        justify-content: left;
        align-items: center;
        padding: 2%;
        z-index: 2;
    }
    /* Logo */
    .header-logo-container {
        width: 90%;
        min-width: 200px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
        /* Animations - Logo */
        .header-logo-container:hover {
            transform: scale(1.1);
            transition: 0.2s ease-in-out;
        }
    .header-logo {
        width: 20%;
        margin: 0 0 0 0;
    }
    /* Barre de navigation */
    .navbar {
        width: fit-content;
    }
        /* Partie visible */
        .navbar-select {
            width: fit-content;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0;
            background-color: transparent;
        }
        .navbar-select-title {
            display: none;
            cursor: default;
            font-size: 15px;
        }
        .navbar-menu-icon {
            width: 10%;
            min-width: 30px;
            cursor: pointer;
        }
        /* Popup caché au départ */
        .navbar-hidden {
            position: fixed;
            top: 10vh;
            left: 0;
            width: 30%;
            height: 90vh;
            display: none;
            flex-direction: column;
            justify-content: flex-start;
            align-items: left;
            padding: 20px 0 10px 20px;
            margin: 0;
            color: whitesmoke;
            background-color: transparent;
            border-top: none;
        }
        .navbar-hidden::after {
            content: "";
            position: fixed;
            top: 10vh;
            left: 0;
            width: 30%;
            height: 90vh;
            background-color: #22403c;
            opacity: 0.99;
            z-index: -1;
        }
        .navbar-hidden-group-container {
            width: fit-content;
            display: flex;
            flex-direction: column;
        }
        .navbar-hidden-primary-container {
            width: fit-content;
            display: flex;
            align-items: center;
            border: none;
        }
        .navbar-hidden-primary-title {
            width: fit-content;
            padding: 10px;
            margin: 0 0 0 10px;
            font-weight: bold;
            font-size: 20px;
        }
        .navbar-hidden-secondary-popup {
            width: 100%;
            display: flex;
            flex-direction: column;
        }
        .navbar-hidden-secondary-title {
            width: fit-content;
            padding: 5px;
            margin: 0 0 0 20px;
            font-size: 15px;
        }
        .arrowup-icon {
            display: none;
        }
        .navbar-hidden a {
            border: transparent;
            border-radius: 10px;
        }
        /* Animations de la barre de naviguation */
        .navbar-hidden a:hover {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
        .navbar-hidden a:active {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
        .navbar-hidden-primary-container:hover {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
        .navbar-hidden-primary-container:active {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
    }





/* Version 4K */
@media screen and (min-device-width: 2560px) {
    /* Haut de page */
    header {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 10vh;
        display: flex;
        flex-direction: row-reverse;
        justify-content: left;
        align-items: center;
        padding: 2%;
        z-index: 2;
    }
    /* Logo */
    .header-logo-container {
        width: 96%;
        min-width: 200px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
        /* Animations - Logo */
        .header-logo-container:hover {
            transform: scale(1.1);
            transition: 0.2s ease-in-out;
        }
    .header-logo {
        width: 10%;
        margin: 0 0 0 0;
    }
    /* Barre de navigation */
    .navbar {
        width: fit-content;
    }
        /* Partie visible */
        .navbar-select {
            width: fit-content;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 0;
            background-color: transparent;
        }
        .navbar-select-title {
            display: none;
            cursor: default;
            font-size: 15px;
        }
        .navbar-menu-icon {
            width: 10%;
            min-width: 30px;
            cursor: pointer;
        }
        /* Popup caché au départ */
        .navbar-hidden {
            position: fixed;
            top: 10vh;
            left: 0;
            width: 20%;
            height: 90vh;
            display: none;
            flex-direction: column;
            justify-content: flex-start;
            align-items: left;
            padding: 20px 0 10px 20px;
            margin: 0;
            color: whitesmoke;
            background-color: transparent;
            border-top: none;
        }
        .navbar-hidden::after {
            content: "";
            position: fixed;
            top: 10vh;
            left: 0;
            width: 20%;
            height: 90vh;
            background-color: #22403c;
            opacity: 0.99;
            z-index: -1;
        }
        .navbar-hidden-group-container {
            width: fit-content;
            display: flex;
            flex-direction: column;
        }
        .navbar-hidden-primary-container {
            width: fit-content;
            display: flex;
            align-items: center;
            border: none;
        }
        .navbar-hidden-primary-title {
            width: fit-content;
            padding: 15px;
            margin: 0 0 0 10px;
            font-weight: bold;
            font-size: 20px;
        }
        .navbar-hidden-secondary-popup {
            width: 100%;
            display: flex;
            flex-direction: column;
        }
        .navbar-hidden-secondary-title {
            width: fit-content;
            padding: 10px;
            margin: 0 0 0 20px;
            font-size: 15px;
        }
        .arrowup-icon {
            display: none;
        }
        .navbar-hidden a {
            border: transparent;
            border-radius: 10px;
        }
        /* Animations de la barre de naviguation */
        .navbar-hidden a:hover {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
        .navbar-hidden a:active {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
        .navbar-hidden-primary-container:hover {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
        .navbar-hidden-primary-container:active {
            border: transparent;
            background-color: transparent;
            color: #545e57;
        }
    }
