img {
    display: block; /* Enlève l'espacement en bas */
    margin: 0; /* Supprime les marges */
    padding: 0; /* Supprime les éventuels espacements */
    width: 100%; /* Pour s'ajuster à l'écran */
    height: auto; /* Pour garder les proportions */
}

.intro {
    background-color: #30548d;
    text-align: center;
    color: #F4F4F4;
    flex-direction: column;
}

.login {
    right: auto; /* Ajuste la distance de la droite */
    text-align: center;
    margin: 0 auto; /* Centrer le formulaire */
}

.login2 {
    display: flex;
    position: absolute; /* Permet de placer le login précisément */
    text-align: right;
    max-width: 400px;
    margin: 0 auto; /* Centrer le formulaire */
}

.login h3 {
    margin: 0;
    padding: 5px;
}

header a {
    text-decoration: none;
    color: #F4F4F4;
}

.type1, .type2 {
    display: flex;
    flex-direction: row;
    text-align: center;
    justify-content: center;
    padding-bottom: 10px;
    flex: 1;
}

.type12, .type22 {
    text-align: center;
    padding-bottom: 10px;
    flex: 1;
}

.type1, .type12 {
    background-color: #2e5085;
}

.type2, .type22 {
    background-color: #1a2e59;
}

.type3, .type32 {
    max-width: 100%;
    padding: 2vw;
    flex: 1; /* Permet à cette section de prendre tout l'espace restant */
    background-color: #1f1f1f;
    color: #F4F4F4;

}

.type9 {
    max-width: 100%;
    flex: 1; /* Permet à cette section de prendre tout l'espace restant */
    padding: 2vw;
    background-color: #1f1f1f;
    color: #F4F4F4;
}

.type32 {
    text-align: center;
}

.type4 {
    display: flex;
    padding: 0;
    flex: 1;
    color: #F4F4F4;
    text-align: center;
    background-color: #30548d;
}

.type5 {
    display: flex;
    flex-direction: column;
    padding: 10px 20px 10px 20px;
    color: #F4F4F4;
    text-align: left;
    max-width: 50%;
}

.type6 {
    display: flex;
    flex-direction: column;
    text-align: center;
    align-items: center; /* Centre horizontalement les éléments */
    justify-content: center; /* Centre verticalement les éléments */
}


.type6 h1 {
    font-size: 3vw;
    margin: 30px 0 20px 0;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
}

.type6 p {
    font-size: 1.2vw;
    margin: 10px 0 5px 0;
    font-weight: bold;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
}

.type7 {
    display: flex;
    flex-direction: row;
    text-align: center;
    align-items: center; /* Centre horizontalement les éléments */
    justify-content: center; /* Centre verticalement les éléments */
    background-color: #111111;
    width: 100%;
    height: 10%
}

.type1 h2.degtop, .type2 h2.degtop,.type12 h2.degtop, .type22 h2.degtop {
    color: #F4F4F4;
    margin: 0;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
    padding: 2.5vw 0 0.8vw 0;
}

.type1 h2.degtop, .type12 h2.degtop {
    background: linear-gradient(to bottom, #1a2e59, #2e5085);
}

.type2 h2.degtop, .type22 h2.degtop {
    background: linear-gradient(to bottom, #2e5085, #1a2e59);
}


.long_entry {
    min-width: 400px;
}

label {
    margin: 1vw 0 1vw 0;
}

.block_label {
    display: flex;
    justify-content: flex-start; /* Alignement naturel à gauche */
    align-items: center; /* Centrage vertical */
    flex-wrap: wrap; /* Permet le retour à la ligne si nécessaire */
    margin: 10px 20px 10px 20px;
    padding: 10px 20px 10px 20px;
    max-width: 90%;
    gap: 20px; /* Espacement entre les éléments */
    background-color: #171616;
    border: #747474 1px solid;
}

.block_label label {
    font-size: 1.2vw;
    text-align: left;
    white-space: nowrap; /* Empêche le retour à la ligne */
    margin: 0;
    padding: 0;
}

.block_label input {
    flex-grow: 1; /* Permet au champ de remplir l'espace disponible */
    width: auto;
}


.block_table1 {
    display: inline-flex;
    margin: 0 0 0 0;
    border: #747474 3px solid;
    background-color: #1f1f1f;
    width: 100%;
}

.block_table1 img {
    width: 28%;
    height: 100%;
    border-radius: 5px 0 0 5px;
}

.block_table2 {
    align-content: center;
    display: block;
    padding: 0.8vw 0.8vw 0.8vw 0.8vw;
    text-align: left;
    line-height: 1.8vw;
    height: auto;
}

.block_table3 {
    align-items: center;
    display: flex;
    padding: 0 5px 0 15px;
    text-align: left;
    gap: 10px;
    margin: 0;
}

.block_table2 h2 {
    font-size: 2vw;
    padding: 0 0 0.8vw 0;
    margin: 0;
}

.block_table2 h3 {
    font-size: 1.3vw;
    padding: 0 0 9px 0;
    margin: 0;
}


.block50 { /* a mettre image 1280*580*/
    transition: .5s ease;
    position: relative;
    display: inline-block;
    width: 50%;
    background-color: #eaeafd;
}

.block100 { /* a mettre image 1920*580*/
    transition: .5s ease;
    position: relative;
    display: inline-block;
    width: 100%;
    background-color: #eaeafd;
}

.block50:hover {
    transition: .5s ease;
    opacity: 0.7;
    width: 52%;
}

.block502 {
    justify-content: space-evenly;
    width: 50%;
    background-color : rgba(100,100,100,0);
    flex:1;
}

.block100:hover { /* a mettre image 1920*580*/
    transition: .5s ease;
    opacity: 0.7;
}

.block50 img {
    width: 100%;
    height: 100%;
    display: block;
}


/*Styles documents*/
.blockRestDoc {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.blockDoc {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: rgba(50,50,50,0.8);
    border: 1px solid #747474;
    border-radius: 0.2vw;
    width: 33.1%;
    margin: 0;
    padding: 0;
    flex-grow: 1;
}

.blockDoc h3 {
    font-size: 1.6vw;
    margin: 0.8vw 0 0.8vw 0;
    padding: 0;
}

.blockDoc img {
    width: 100%;
    max-height: 22vw;
    flex-shrink: 0; /* Empêche l'image de se réduire verticalement */
}


/*Overlays*/

h1.overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    color: white;
    font-size: 3vw;
    font-weight: bold;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
    white-space: nowrap;
}


h2.overlay-text {
    position: absolute;
    top: 18%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    color: white;
    font-size: 3vw;
    font-weight: bold;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
    white-space: nowrap;
}

p.overlay-text {
    position: absolute;
    text-align: center;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    color: white;
    font-size: 1.5vw;
    font-weight: bold;
}

p.overlay-text-light {
    position: absolute;
    text-align: center;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    color: white;
    font-size: 1.2vw;
    font-weight: bold;
    white-space: nowrap;
}

span {
    font-size: 0.9vw;
    font-weight: bold;
    padding: 0 0 5px 0;
    margin: 0;
}

.block_table2 p, .block_table3 p {
    font-size: 0.9vw;
    padding: 0 0 0.2vw 0;
    margin: 0;
}


.block_bio {
    display: flex;
    justify-content: center;
    margin: 10px 0 0 0;
    border: #1f1f1f 1px solid;
    border-radius: 5px;
    background-color: #1f1f1f;
}

citation {
    font-style: italic;
    font-size: 0.9vw;
    padding: 0 0 0 0;
    margin: 0;
}

body {
    margin: 0;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #111111;
    color: #F4F4F4;

}

/* HEADER ET NAVIGATION */
header {
    color: white;
    text-align: center;
    padding-top: 10px;
}

header nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    background-color: #1a2e59;
    padding-bottom: 5px;
}

header nav a {
    text-decoration: none;
    color: #eaeafd;
    font-weight: bold;
    font-size: 1vw;
    padding: 0.5vw;
    margin: 0 2vw 0 2vw;
    text-shadow: -2px -2px 0 black,
    2px -2px 0 black,
    -2px 2px 0 black,
    2px 2px 0 black;
}

nav2 {
    display: flex;
    flex-wrap: nowrap;
}

.background {
    position: fixed; /* Fixe le fond */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/fondetoiles.jpeg'); /* Utilise url() */
    background-size: cover; /* Couvre tout l'écran */
    background-attachment: fixed; /* Fait défiler le fond avec la page */
    background-position: center;
    z-index: -1; /* Met le fond derrière le contenu */
}

.background2 {
    position: fixed; /* Fixe le fond */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/fond_art.jpg'); /* Utilise url() */
    background-size: cover; /* Couvre tout l'écran */
    background-attachment: fixed; /* Fait défiler le fond avec la page */
    background-position: center;
    z-index: -1; /* Met le fond derrière le contenu */
}

/* Met l'image de fond sur toute la page et la floute */
.background3 {
    position: fixed; /* Reste fixée en fond */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('images/fond_biblio.jpeg');
    background-size: cover;
    background-position: center;
    filter: blur(3px); /* Ajuste le flou */
    z-index: -1; /* Passe derrière le contenu */
}

/* Le contenu par-dessus l'image, avec fond blanc semi-transparent pour lisibilité */
#docDisplay {
    text-align: center;
    margin: 1vw auto;
    max-width: 80%;
    padding: 2vw;
    position: relative; /* Pour s'assurer qu'il passe au-dessus */
    z-index: 1; /* Plus haut que l'image */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Optionnel : petite ombre pour effet relief */
}


.contenuFlottant {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-evenly;
    align-items: center;
}


.block_sur_background2 {
    background-color: rgba(100, 100, 100, 0.5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; /* Centre tout */
    text-align: center;
    position: relative;
    z-index: 1;
    color: white;
    max-width: 26%;
    max-height: 32vw;
    margin: 3vw 1.2vw 3vw 1.2vw;
    padding: 1vw;
    transition: .5s ease;
    overflow: hidden; /* Empêche l'image de dépasser */
    border-radius: 5px;
    border: #c6c6c6 2px solid;

}

.block_sur_background2 img {
    transition: .5s ease;
    max-width: 100%; /* L'image ne dépasse pas en largeur */
    max-height: 28vw;
    object-fit: contain; /* Garde l’image entière sans déformation */
    display: block;
}

.block_sur_background2 iframe {
    transition: .5s ease;
    width: 25vw; /* L'iframe occupe toute la largeur disponible */
    height: 18vw; /* La hauteur est limitée par la largeur */
    display: block;
}

.block_sur_background2 img:hover {
    transition: .5s ease;
    max-height: 41vw;
}

.block_sur_background2 iframe:hover {
    transition: .5s ease;
    width: 30vw;
    height: 28vw;
}

.block_sur_background2 a {
    text-decoration: none;
    color: #F4F4F4;
    font-weight: bold;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
}


.block_sur_background2 h3 {
    margin: 0;
    padding: 0;
}

.block_sur_background2 p {
    margin: 0;
    padding: 0.4vw 0 0.3vw 0;
}

.block_secondaire {
    display: block;
    color: white;
    width: 90%;
    height: 100%;
    background-color: rgba(20, 20, 20, 0.7);
    margin: 0vw 0vw 0.5vw 0vw;
    border-radius: 5px;
    border: #c6c6c6 2px solid;
}

.block_sur_background {
    display: flex;
    flex-direction: column;
    position: relative;
    align-items: center;
    text-align: center;
    z-index: 1;
    color: white;
    width: 25%;
    background-color: rgba(50, 50, 50, 0.7);
    margin: 4vw 2vw 2vw 2vw;
    transition: .5s ease;
    border-radius: 5px;
    border: #c6c6c6 2px solid;
}

.block_sur_background .block_secondaire p {
    transition: .5s ease;
    text-align: center;
    margin: auto;
    padding: 0.2vw 0.1vw 0.5vw 0.1vw;
    font-weight: bold;
    font-size: 1vw;
    overflow-wrap: break-word;
}

.block_sur_background .block_secondaire h1 {
    transition: .5s ease;
    text-align: center;
    margin: auto;
    padding: 0.2vw 0 0.2vw 0;
    font-weight: bold;
    font-size: 2vw;
    overflow-wrap: break-word;
}

.block_sur_background:hover .block_secondaire p {
    font-size: 1.13vw;
}

.block_sur_background:hover .block_secondaire h1 {
    font-size: 2.13vw;
}

.block_sur_background img {
    max-width: 90%;
    display: block;
    margin: 1vw auto 0.5vw auto;
}

.block_sur_background:hover {
    transition: .5s ease;
    width: 28%;
}

.block_sur_background2:hover {
    transition: .5s ease;
    background-color: #969595;
    max-height: 45vw;
    max-width: 32%;
}


.blockimg {
    position: relative;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    transition: .5s ease;
}

.blockimg img {
    width: 100%;
    min-height: 100%; /* Assure que l'image remplit au minimum */
    height: auto;
    display: block;
    object-fit: cover; /* Remplit sans déformer */
    transition: transform 0.5s ease; /* Animation fluide */
}

.blockimg:hover img {
    transform: scale(1.1); /* Agrandit de 10% */
    transition: transform 0.5s ease; /* Animation fluide */
}

nav2 .blockimg:hover {
    transition: .5s ease;
    opacity: 0.7;
}

header h1 {
    font-size: 34px;
    text-shadow: -2px -2px 0 black,
    2px -2px 0 black,
    -2px 2px 0 black,
    2px 2px 0 black;
    margin: 0px 0px 5px 0px;
}

header p {
    font-size: 1vw;
    margin: 0px 0px 0px 0px;
}

.type1 p, .type2 p {
    font-size: 1.2vw;
    padding: 0 6vw 0 6vw;
}

.type1 a, .type2 a {
    text-decoration: underline;
    color: #F4F4F4;
    font-weight: bold;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
}

.type1 h2, .type2 h2 {
    font-size: 1.8vw;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
    padding: 2vw 0 0vw 0;
}

a:hover {
    transition: color 0.3s ease-in-out;
    color: #4A90E2;
}

/* STYLE DE LA CONTAINER */
.container {
    display: flex;
    min-height: 100vh;
    /*background-color: #222;*/
    margin: 0;
    padding: 0;
}

/* MENU LATÉRAL FIXE */
.sidebar {
    display: flex;
    flex-direction: column;
    width: 15%;
    background-color: #222;
    top: 0;
    left: 0;
    height: 100%;
    margin: 0;
    padding: 0;
    color: white;
    position: sticky;
}

.sidebar input {
    width: 100%;
    padding: 8px;
    margin-bottom: 0;
    border: none;
    outline: none;
    box-sizing: border-box;
}

.sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: list-item;
}

.sidebar li {
    padding: 0 0 0 0;
    height: auto;
    transition: background-color 0.3s ease-in-out;
}

.sidebar li:hover {
    transition: background-color 0.3s ease-in-out;
    background-color: #1f3562;
}

.sidebar a {
    text-decoration: none;
    color: #eaeafd;
    font-weight: bold;
    font-size: 16px;
    margin: 0;
}

.sidebar h2 {
    margin: 30px 0 20px 0;
    font-size: 2vw;
    text-align: center;
}

.clink {
    text-decoration: none;
    color: #eaeafd;
    font-weight: bold;
    font-size: 16px;
    border: #1f1f1f;
    border-radius: 3px;
    background-color: #4A90E2;
    padding: 5px 5px 5px 5px;
    margin: 10px 10px 10px 10px;
}

.search-buttons{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    margin: 0 0 0 0;
}

.clink_mid {
    transition: 0.3s ease-in-out;
    text-decoration: none;
    color: #eaeafd;
    font-weight: bold;
    border-radius: 0;
    border: 0;
    font-size: 1vw;
    background-color: #355985;
    width: 100%;
    margin: 0.1vw 0.1vw 0.1vw 0.1vw;
}

.clink_neg {
    text-decoration: none;
    color: #eaeafd;
    font-weight: bold;
    font-size: 16px;
    border: #1f1f1f;
    border-radius: 3px;
    background-color: #FF0000;
    padding: 5px 5px 5px 5px;
    margin: 10px 10px 10px 10px;
}

.clink_pos {
    text-decoration: none;
    color: #eaeafd;
    font-weight: bold;
    font-size: 16px;
    border: #1f1f1f;
    border-radius: 3px;
    background-color: #31cb17;
    padding: 5px 5px 5px 5px;
    margin: 5px 10px 10px 10px;
    text-shadow: -1px -1px 0 black,
    1px -1px 0 black,
    -1px 1px 0 black,
    1px 1px 0 black;
}

.clink:hover {
    transition: color 0.3s ease-in-out;
    color: #2770c4;
}

.clink_mid:hover {
    transition: 0.3s ease-in-out;
    background-color: #14304c;
}

.clink_pos:hover {
    transition: color 0.3s ease-in-out;
    color: #358215;
}


.clink_neg:hover {
    transition: color 0.3s ease-in-out;
    color: #b80202;
}


#image-preview {
    width: 100%;
    height: 100%;
    margin: 10px auto 20px auto;
}

/* CONTENU PRINCIPAL */
.content {
    flex-grow: 1;
    padding: 20px;
    text-align: center;
}

#bioDisplay {
    display: block;
}

.block_articles {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.article {
    display: block;
    width: 24%;
    height: 60%;
    margin: 1vw auto 1vw auto;
    background-color: #1d1c1c;
    border: 2px solid #747474;
}

.article h3{
    text-align: center;
}

.article img {
    width: 100%;
}


/* Container pour chaque personnage */
.personnage-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.2vw;
    padding: 0.2vw;
    max-height: 5vw; /* Fixe la hauteur */
    min-height: 2vw;
    border: 1px solid #535353;
}

/* Style de l'image */
.personnage-image {
    margin-right: 0.2vw; /* Espace entre l'image et le texte */
    max-width: 5vw; /* Taille de l'image */
    flex-shrink: 0; /* Empêche l'image de se rétrécir */
}


/* Style des informations (nom et description) */
.personnage-info {
    max-width: 100%;
    height: 100%; /* Fixe la hauteur pour éviter les débordements */
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centre le texte verticalement */
    padding: 0.2vw;
}

.personnage-info h3 {
    text-align: left;
    margin: 0;
    font-size: 0.9vw;
    padding: 0.3vw 0.2vw 0.3vw 0.2vw;
}

.personnage-info h4 {
    margin: 0;
    font-size: 0.8vw;
    padding: 0 0 0 0;
}

.personnage-info p {
    width: 100%;
    margin: 0.5vw 0 0 0;
    padding: 0;
    font-size: 0.7vw;
    font-weight: normal;
    text-overflow: ellipsis; /* Ajoute "..." si le texte est trop long */
}

.personnage-link {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-decoration: none; /* Enlève le soulignement */
    color: inherit; /* Garde la couleur du texte */
    width: 100%;
    height: 100%;
}

.custom-file-upload {
    display: inline-block;
    background-color: #4CAF50;
    color: white;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 5px;
    font-size: 16px;
}

.custom-file-upload:hover {
    background-color: #45a049;
}


@import url('https://fonts.googleapis.com/css2?family=Oswald&family=PT+Serif:ital,wght@0,400;0,700;1,400&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&display=swap');

@media print {
    body {
        margin: 0 !important;
    }
}

.main-container {
    margin: 0;
    padding: 0;
}

.editor-container {
    margin: 0 auto;
    padding: 0;
}

.editor-container_include-block-toolbar {
    margin-left: 42px;
}

.editor-container_classic-editor .editor-container__editor {
    margin: auto auto auto auto;
    width: 85%;
}

.editor-container_classic-editor .editor-container__editor2 {
    margin: auto auto auto auto;
    width: 100%;
}


.ck-content .image-style-align-right {
    float: right;
    /* Ajuste selon l'espacement souhaité */
    margin: 0 0 0 1vw !important;
    display: block;

}

.ck-content figure {
    margin: 0 auto;
    text-align: center;

}

.image-style-block-align-right {
    float: right;
    margin-left: auto;
    margin-right: 0;
}

.image-style-block-align-left {
    float: left;
    margin-left: 0;
    margin-right: auto;
}

.ck-content {
    font-family: 'Segoe UI';
    display: block;
    text-justify: inter-word;
    margin: 0 auto;
    padding: 0;
}

.ck-content h1:first-child {
    display: none;
}

.ck-content p:first-child {
    display: none; /* Supprime le premier paragraphe vide */
}

.ck-content img {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.ck-content h1 {
    text-align: center;
    font-size: 3vw;
    margin: 0;
}

.ck-content h2 {
    font-size: 2vw;
    margin: 0;
}

.ck-content h3 {
    font-size: 1.5vw;
    margin: 0;
}

.ck-content p {
    font-size: 1vw;
    margin: 0;
    padding: 0;
    white-space: normal; /* Conserve les sauts de ligne sans espace inutile */
    text-indent: 0; /* Empêche l'indentation */;
}

.ck-content span {
    font-weight: normal;
}

.ck-content h3.category {
    font-family: 'Segoe UI';
    font-size: 20px;
    font-weight: bold;
    color: #555;
    letter-spacing: 10px;
    margin: 0;
    padding: 0;
}

.ck-content h2.document-title {
    font-family: 'Segoe UI';
    font-size: 50px;
    font-weight: bold;
    margin: 0;
    padding: 0;
    border: 0;
}

.ck-content h3.document-subtitle {
    font-family: 'Segoe UI';
    font-size: 20px;
    color: #555;
    margin: 0 0 1em;
    font-weight: bold;
    padding: 0;
}

.ck-content p.info-box {
    --background-size: 30px;
    --background-color: #e91e63;
    padding: 1.2em 2em;
    border: 1px solid var(--background-color);
    background: linear-gradient(
            135deg,
            var(--background-color) 0%,
            var(--background-color) var(--background-size),
            transparent var(--background-size)
    ),
    linear-gradient(
            135deg,
            transparent calc(100% - var(--background-size)),
            var(--background-color) calc(100% - var(--background-size)),
            var(--background-color)
    );
    border-radius: 10px;
    margin: 1.5em 2em;
    box-shadow: 5px 5px 0 #ffe6ef;
}

.ck-content blockquote.side-quote {
    font-family: 'Segoe UI';
    font-style: normal;
    float: right;
    width: 35%;
    position: relative;
    border: 0;
    overflow: visible;
    z-index: 1;
    margin-left: 1em;
}

.ck-content blockquote.side-quote::before {
    content: '“';
    position: absolute;
    top: -37px;
    left: -10px;
    display: block;
    font-size: 200px;
    color: #e7e7e7;
    z-index: -1;
    line-height: 1;
}

.ck-content blockquote.side-quote p {
    font-size: 2em;
    line-height: 1;
}

.ck-content blockquote.side-quote p:last-child:not(:first-child) {
    font-size: 1.3em;
    text-align: right;
    color: #555;
}

.ck-content span.marker {
    background: yellow;
}

.ck-content span.spoiler {
    background: #000;
    color: #000;
}

.ck-content span.spoiler:hover {
    background: #000;
    color: #fff;
}

.ck-content pre.fancy-code {
    border: 0;
    margin-left: 2em;
    margin-right: 2em;
    border-radius: 10px;
}

.ck-content pre.fancy-code::before {
    content: '';
    display: block;
    height: 13px;
    background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NCAxMyI+CiAgPGNpcmNsZSBjeD0iNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGMzZCNUMiLz4KICA8Y2lyY2xlIGN4PSIyNi41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiNGOUJFNEQiLz4KICA8Y2lyY2xlIGN4PSI0Ny41IiBjeT0iNi41IiByPSI2LjUiIGZpbGw9IiM1NkM0NTMiLz4KPC9zdmc+Cg==);
    margin-bottom: 8px;
    background-repeat: no-repeat;
}

.ck-content pre.fancy-code-dark {
    background: #272822;
    color: #fff;
    box-shadow: 5px 5px 0 #0000001f;
}

.ck-content pre.fancy-code-bright {
    background: #dddfe0;
    color: #000;
    box-shadow: 5px 5px 0 #b3b3b3;
}

.editor_container__word-count .ck-word-count {
    color: var(--ck-color-text);
    display: flex;
    height: 20px;
    gap: var(--ck-spacing-small);
    justify-content: flex-end;
    font-size: var(--ck-font-size-base);
    line-height: var(--ck-line-height-base);
    font-family: var(--ck-font-face);
    padding: var(--ck-spacing-small) var(--ck-spacing-standard);
}

.editor-container_include-word-count.editor-container_classic-editor .editor_container__word-count {
    border: 1px solid var(--ck-color-base-border);
    border-radius: var(--ck-border-radius);
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-top: none;
    background-color: #1f1f1f;
}

.editor-container_include-word-count.editor-container_classic-editor .editor-container__editor .ck-editor .ck-editor__editable,
.editor-container_include-word-count.editor-container_classic-editor .editor-container__editor2 .ck-editor .ck-editor__editable {
    border-radius: 0;
    background-color: #1f1f1f;
}


.titre {
    font-size: 3vw;
    text-align: center;
}

.imageDoc {
    width: 100px;
    height: auto;
    border-radius: 5px;
}

.sommaire {
    display: inline-block; /* Pour éviter un sommaire trop large */
    text-align: center; /* Aligne le texte à gauche dans le sommaire */
    list-style: none; /* Supprime les puces */
    padding: 0;
}

.sommaire li {
    margin-bottom: 10px; /* Espacement entre les éléments */
}

.sommaire a {
    text-decoration: none; /* Supprime le soulignement */
    color: #ffffff; /* Couleur du texte */
    font-weight: bold;
}

footer {
    z-index: 1;
    width: 100%;
    background-color: #1d2632;
    display: flex;
    justify-content: space-between;
    flex-direction: row;
}

.search {
    margin: 0 0 0 0;
    padding: 1vw;
    font-size: 1vw;
    width: 30%;
    text-align: center;
    border-radius: 1vw;
    border: 1px solid #1f1f1f;

}


@media (max-width: 900px) {

    .block_articles {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .article {
        display: block;
        width: 80%;
        height: 90%;
        margin: 1vw auto 1vw auto;
        background-color: #1d1c1c;
        border: 2px solid #747474;
    }

    .article h3{
        font-size: 4vw;
        text-align: center;
    }

    .article img {
        width: 100%;
    }

    .type1, .type2 {
        display: flex;
        flex-direction: column;
        text-align: center;
        padding-bottom: 10px;
        flex: 1;
    }

    .block502 { /* a mettre image 1280*580*/
        position: relative;
        display: inline-block;
        width: 100%;
        background-color : rgba(100,100,100,0);
        flex:1;
    }

    .login, .login2{
        display: none;
    }

    footer {
        text-wrap: wrap;
    }

    .type5{
        font-size: 2vw;
    }

    .block_sur_background2 {
        background-color: rgba(100, 100, 100, 0.5);
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center; /* Centre tout */
        text-align: center;
        position: relative;
        z-index: 1;
        color: white;
        max-width: 90%;
        max-height: 100vw;
        margin: 1vw 1vw 1vw 1vw;
        padding: 1vw;
        transition: .5s ease;
        overflow: hidden; /* Empêche l'image de dépasser */
        border-radius: 4px;
        border: #c6c6c6 2px solid;
    }

    .block_sur_background2:hover {
        transition: .5s ease;
        background-color: #969595;
        max-width: 90%;
        max-height: 100vw;
    }

    .block_sur_background2 img {
        transition: .5s ease;
        max-width: 100%; /* L'image ne dépasse pas en largeur */
        max-height: 80vw;
        object-fit: contain; /* Garde l’image entière sans déformation */
        display: block;
    }

    .block_sur_background2:hover img {
        transition: .5s ease;
        max-width: 100%; /* L'image ne dépasse pas en largeur */
        max-height: 80vw;
        object-fit: contain; /* Garde l’image entière sans déformation */
        display: block;
    }

    .block_sur_background2 iframe {
        transition: .5s ease;
        width: 85vw; /* L'iframe occupe toute la largeur disponible */
        height: 80vw; /* La hauteur est limitée par la largeur */
        display: block;
    }

    .block_sur_background2:hover iframe {
        transition: .5s ease;
        width: 85vw; /* L'iframe occupe toute la largeur disponible */
        height: 80vw; /* La hauteur est limitée par la largeur */
        display: block;
    }

    .search{
        width: 50%;
        font-size: 5vw;
    }

    .type6 h1{
        font-size: 6vw;
    }

    header nav a {
        text-decoration: none;
        color: #eaeafd;
        font-weight: bold;
        font-size: 2.5vw;
        padding: 1.4vw;
        text-shadow: -2px -2px 0 black,
        2px -2px 0 black,
        -2px 2px 0 black,
        2px 2px 0 black;
    }

    header p {
        font-size: 3vw;
        margin: 0px 0px 0px 0px;
    }

    .type1 h2.degtop, .type2 h2.degtop {
        color: #F4F4F4;
        margin: 0;
        font-size: 4vw;
        text-shadow: -1px -1px 0 black,
        1px -1px 0 black,
        -1px 1px 0 black,
        1px 1px 0 black;
        padding: 5vw 0 1vw 0;
    }

    .type4 {
        display: flex;
        flex-direction: column;
        padding: 0;
        flex: 1;
        color: #F4F4F4;
        text-align: center;
        background-color: #30548d;
    }

    .block50 {
        transition: .5s ease;
        position: relative;
        display: inline-block;
        width: 100%;
        background-color: #eaeafd;
    }


    .block50:hover {
        transition: .5s ease;
        opacity: 0.7;
        width: 100%;
    }

    h1.overlay-text {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        color: white;
        font-size: 4vw;
        font-weight: bold;
        text-shadow: -1px -1px 0 black,
        1px -1px 0 black,
        -1px 1px 0 black,
        1px 1px 0 black;
        white-space: nowrap;
    }


    h2.overlay-text {
        position: absolute;
        top: 18%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        color: white;
        font-size: 3.5vw;
        font-weight: bold;
        text-shadow: -1px -1px 0 black,
        1px -1px 0 black,
        -1px 1px 0 black,
        1px 1px 0 black;
        white-space: nowrap;
    }

    p.overlay-text {
        position: absolute;
        text-align: center;
        top: 55%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        color: white;
        font-size: 2.5vw;
        font-weight: bold;
    }



    .block_sur_background {
        display: flex;
        flex-direction: column;
        position: relative;
        align-items: center;
        text-align: center;
        z-index: 1;
        color: white;
        width: 90%;
        background-color: rgba(50, 50, 50, 0.7);
        margin: 4vw 2vw 2vw 2vw;
        transition: .5s ease;
        border-radius: 5px;
        border: #c6c6c6 2px solid;
    }

    .block_sur_background .block_secondaire p {
        transition: .5s ease;
        text-align: center;
        margin: auto;
        padding: 0.2vw 0.1vw 0.5vw 0.1vw;
        font-weight: bold;
        font-size: 3.5vw;
        overflow-wrap: break-word;
    }

    .block_sur_background .block_secondaire h1 {
        transition: .5s ease;
        text-align: center;
        margin: auto;
        padding: 0.2vw 0 0.2vw 0;
        font-weight: bold;
        font-size: 5.5vw;
        overflow-wrap: break-word;
    }

    .block_sur_background:hover .block_secondaire p {
        font-size: 4vw;
    }

    .block_sur_background:hover .block_secondaire h1 {
        font-size: 6vw;
    }

    .block_sur_background img {
        max-width: 90%;
        display: block;
        margin: 4vw auto 2vw auto;
    }

    .block_sur_background:hover {
        transition: .5s ease;
        width: 95%;
    }

    .type6 {
        display: flex;
        flex-direction: column;
        text-align: center;
        align-items: center; /* Centre horizontalement les éléments */
        justify-content: center; /* Centre verticalement les éléments */
    }


    .type6 h1 {
        font-size: 7vw;
        margin: 8vw 0 2vw 0;
        text-shadow: -1px -1px 0 black,
        1px -1px 0 black,
        -1px 1px 0 black,
        1px 1px 0 black;
    }

    .type6 p {
        font-size: 4vw;
        margin: 10px 2vw 5px 2vw;
        font-weight: bold;
        text-shadow: -1px -1px 0 black,
        1px -1px 0 black,
        -1px 1px 0 black,
        1px 1px 0 black;
    }

    .type1 h2, .type2 h2 {
        font-size: 4vw;
        text-shadow: -1px -1px 0 black,
        1px -1px 0 black,
        -1px 1px 0 black,
        1px 1px 0 black;
        padding: 4vw 0 0vw 0;
    }

    .type1 p, .type2 p {
        font-size: 3vw;
        padding: 0 8vw 0 8vw;
    }

}