body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto 1fr auto;
}

header .header {
    display: flex;
    justify-content: space-between;
    background-color: black;
    height: 6em;
    z-index: 100;
    position: relative;
}

header .logo {
    margin: 1em 1em 0;
}

header .titre {
    margin: 0;
    text-align: center;
    align-content: center;
    color: white;
    font-weight: bolder;
}

header .drapeaux {
    width: 6em;
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    margin: 0.5em 0.5em 0 0;
    gap: 0.5em;
}

header .drapeaux img {
    width: 45%;
    box-sizing: border-box;
    display: inline-block;
    padding: 0.5em;
    border: 3px #676666 solid;
    border-radius: 10px;
    cursor: pointer;
}

header #france {
    border-color: #f16e00;
}

header #menuPrincipal {
    display: flex;
    justify-content: space-around;
    height: 3em;
    background-color: black;
    position: relative;
    top: 0;
    width: 100%;
    transition: transform 0.5s ease-in-out;
    z-index: 100;
}

header div h2 {
    color: white;
    margin: 0;
    align-content: center;
    font-weight: bold;
    cursor: pointer;
}

header div h2 a {
    color: white;
    text-decoration: none;
 }

header #dropdownMenuPrincipal {
    position: absolute;
    top: 9em;
    left: 17%;
    width: 33%;
    background-color: black;
    color: white;
    display: flex;
    z-index: 99;
    transform: translateY(0%);
    visibility: visible;
    transition: transform 0.5s ease-in-out, visibility 0.5s 0s;
}

header #dropdownMenuPrincipal ul {
    padding: 0;
    margin: 1em 0 2em 5%;
}

header #dropdownMenuPrincipal ul li {
    margin: 10px 0;
}

header #dropdownMenuPrincipal ul li a {
    color: white;
    text-decoration: none;
    font-size: 24px;
}

header #dropdownMenuPrincipal ul li a:hover {
    color: #f16e00;
}

header .hidden {
    transform: translateY(-100%) !important;
    visibility: hidden !important;
}

footer {
    display: flex;
    justify-content: space-between;
    background-color: black;
    color: white;
    margin: 0;
    padding: 1em;
    bottom: 0;
}

footer .sitographie {
    flex-grow: 1;
    align-content: center;
}

footer div .link {
    text-align: center;
    margin: 0.7em 0 0;
    width: 100%;
}

footer div .link:first-child {
    margin: 0;
}

footer div .link a {
    color: white;
    font-weight: bold;
}

footer div .link a:hover {
    color: #f16e00;
}

footer .followUs {
    text-align: center;
    margin: inherit;
}

footer .followUs p {
    margin: 0;
}

footer .followUs p:last-child {
    margin-top: 1em;
}

footer .followUs a img {
    margin: 0.5em;
    width: 2em;
}